def __init__(self, parent, ID, title, pos, size, parentApp): wx.Frame.__init__(self, parent, ID, title, pos, size, TOOL_WINDOW_STYLE) panel = wx.Panel(self, -1) self.parentApp = parentApp wx.EVT_CLOSE(self, self.onCloseMe) wx.EVT_WINDOW_DESTROY(self, self.onDestroyMe) sizer1 = wx.BoxSizer(wx.VERTICAL) sizer2 = wx.BoxSizer(wx.HORIZONTAL) self.hideTimers = wx.CheckBox(panel, -1, 'Hide timers', wx.DefaultPosition, wx.DefaultSize, wx.NO_BORDER) #self.hideTimers.SetValue(1) sizer2.Add(self.hideTimers, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM, 5) sizer2.Add((5, 5), 1) # spacer self.hideUnused = wx.CheckBox(panel, -1, 'Hide unused (#)', wx.DefaultPosition, wx.DefaultSize, wx.NO_BORDER) # KEA 2004-04-10 # default to showing all events # otherwise unused events will be missed at startup # self.hideUnused.SetValue(1) sizer2.Add(self.hideUnused, 0, wx.LEFT | wx.BOTTOM, 5) sizer1.Add(sizer2, 0, wx.EXPAND) self.maxSizeMsgHistory = 29000 #self.maxSizeMsgHistory = 0 # Turn off # eventually, the font size should be settable in the user config self.msgHistory = stc.StyledTextCtrl(panel, -1, size=(100, 60)) self.msgHistory.SetReadOnly(True) if wx.Platform == '__WXMSW__': self.msgHistory.StyleSetSpec(stc.STC_STYLE_DEFAULT, "face:Arial,size:9") else: self.msgHistory.StyleSetSize(stc.STC_STYLE_DEFAULT, wx.NORMAL_FONT.GetPointSize()) # KEA 2005-12-25 # change the lexer to Python # and denote unused messages as comments (e.g. #mouseUp self.msgHistory.StyleSetSpec(stc.STC_P_COMMENTLINE, "fore:#7F7F7F") self.msgHistory.SetLexer(stc.STC_LEX_PYTHON) self.msgHistory.SetUseHorizontalScrollBar(0) self.msgHistory.SetMarginWidth(1, 0) self.msgHistory.SetUndoCollection(0) sizer1.Add(self.msgHistory, 1, wx.EXPAND) sizer1.Fit(panel) sizer1.SetSizeHints(self) panel.SetSizer(sizer1) panel.SetAutoLayout(1) panel.Layout() # and now for a hack-fest if wx.Platform == '__WXMSW__': self.SetSize(size) event.EventLog.getInstance().addEventListener(self)
def __init__(self, parent, log, frame): ogl.ShapeCanvas.__init__(self, parent) maxWidth = 1000 maxHeight = 1000 self.SetScrollbars(20, 20, maxWidth/20, maxHeight/20) self.log = log self.frame = frame self.SetBackgroundColour("LIGHT BLUE") #wxWHITE) self.diagram = ogl.Diagram() self.SetDiagram(self.diagram) self.diagram.SetCanvas(self) self.shapes = [] self.save_gdi = [] wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) self.font1 = wx.Font(14, wx.MODERN, wx.NORMAL, wx.NORMAL, False) self.font2 = wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL, False) #self.Go(path=r'C:\Documents and Settings\Administrator\My Documents\aa Python\pyNsource\Tests\outputters.PythonToJavaTest01\pythoninput01\*.py') self.associations_generalisation = None self.associations_composition = None
def _on_close(self, event): # Might be scrollbars or other native components under # us that are generating this event if event.GetWindow() == self.control: self._gc = None wx.EVT_ERASE_BACKGROUND(self.control, None) wx.EVT_PAINT(self.control, None) wx.EVT_SIZE(self.control, None) wx.EVT_LEFT_DOWN(self.control, None) wx.EVT_LEFT_UP(self.control, None) wx.EVT_LEFT_DCLICK(self.control, None) wx.EVT_MIDDLE_DOWN(self.control, None) wx.EVT_MIDDLE_UP(self.control, None) wx.EVT_MIDDLE_DCLICK(self.control, None) wx.EVT_RIGHT_DOWN(self.control, None) wx.EVT_RIGHT_UP(self.control, None) wx.EVT_RIGHT_DCLICK(self.control, None) wx.EVT_MOTION(self.control, None) wx.EVT_ENTER_WINDOW(self.control, None) wx.EVT_LEAVE_WINDOW(self.control, None) wx.EVT_MOUSEWHEEL(self.control, None) wx.EVT_KEY_DOWN(self.control, None) wx.EVT_KEY_UP(self.control, None) wx.EVT_CHAR(self.control, None) wx.EVT_WINDOW_DESTROY(self.control, None) self.control.SetDropTarget(None) self.control = None self.component.cleanup(self) self.component.parent = None self.component.window = None self.component = None return
def __init__(self, aParent, aResource): self._bitmap = graphic.Bitmap(aResource.file, aResource.size) self._file = aResource.file self._size = tuple(aResource.size) w = aResource.size[0] if w == -2: w = self._bitmap.getWidth() h = aResource.size[1] if h == -2: h = self._bitmap.getHeight() size = (w, h) #size = wx.Size( self._bitmap.GetWidth(), self._bitmap.GetHeight() ) ##if aResource.border == 'transparent': ## mask = wx.MaskColour(self._bitmap, wxBLACK) ## self._bitmap.SetMask(mask) StaticBitmap.__init__(self, aParent, widget.makeNewId(aResource.id), self._bitmap.getBits(), aResource.position, size, style=wx.NO_FULL_REPAINT_ON_RESIZE | wx.CLIP_SIBLINGS, name=aResource.name) widget.Widget.__init__(self, aParent, aResource) wx.EVT_WINDOW_DESTROY(self, self._OnDestroy) self._bindEvents(event.WIDGET_EVENTS)
def __init__(self, parent, log): wx.Panel.__init__(self, parent, -1) self.pdf = None sizer = wx.BoxSizer(wx.VERTICAL) btnSizer = wx.BoxSizer(wx.HORIZONTAL) # this function creates a new class that can be used as # a wxWindow, but contains the given ActiveX control. ActiveXWrapper = MakeActiveXClass(acrobat.AcroPDF) # create an instance of the new class self.pdf = ActiveXWrapper(self, -1, style=wx.SUNKEN_BORDER) sizer.Add(self.pdf, 1, wx.EXPAND) btn = wx.Button(self, wx.NewId(), "Open PDF File") wx.EVT_BUTTON(self, btn.GetId(), self.OnOpenButton) btnSizer.Add(btn, 1, wx.EXPAND | wx.ALL, 5) btn = wx.Button(self, wx.NewId(), "<-- Previous Page") wx.EVT_BUTTON(self, btn.GetId(), self.OnPrevPageButton) btnSizer.Add(btn, 1, wx.EXPAND | wx.ALL, 5) btn = wx.Button(self, wx.NewId(), "Next Page -->") wx.EVT_BUTTON(self, btn.GetId(), self.OnNextPageButton) btnSizer.Add(btn, 1, wx.EXPAND | wx.ALL, 5) btnSizer.Add((50, -1), 2, wx.EXPAND) sizer.Add(btnSizer, 0, wx.EXPAND) self.SetSizer(sizer) self.SetAutoLayout(True) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy)
def __init__(self, parent, ID): wx.Window.__init__(self, parent, ID, style=wx.NO_FULL_REPAINT_ON_RESIZE) self.SetBackgroundColour("WHITE") self.listeners = [] self.thickness = 1 self.SetColour("Black") self.lines = [] self.x = self.y = 0 self.MakeMenu() self.InitBuffer() # hook some mouse events wx.EVT_LEFT_DOWN(self, self.OnLeftDown) wx.EVT_LEFT_UP(self, self.OnLeftUp) wx.EVT_RIGHT_UP(self, self.OnRightUp) wx.EVT_MOTION(self, self.OnMotion) # the window resize event and idle events for managing the buffer wx.EVT_SIZE(self, self.OnSize) wx.EVT_IDLE(self, self.OnIdle) # and the refresh event wx.EVT_PAINT(self, self.OnPaint) # When the window is destroyed, clean up resources. wx.EVT_WINDOW_DESTROY(self, self.Cleanup)
def __init__(self, parent, log, frame): ogl.ShapeCanvas.__init__(self, parent) self.observers = multicast() self.app = None # assigned later by app boot self.log = log self.frame = frame self.SetBackgroundColour("LIGHT BLUE") self.SetDiagram(ogl.Diagram()) self.GetDiagram().SetCanvas(self) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) self.Bind(wx.EVT_MOUSEWHEEL, self.OnWheelZoom) self.Bind(wx.EVT_KEY_DOWN, self.onKeyPress) self.Bind(wx.EVT_CHAR, self.onKeyChar) self.font1 = wx.Font(14, wx.MODERN, wx.NORMAL, wx.NORMAL, False) self.font2 = wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL, False) self.working = False self._kill_layout = False # flag to communicate with layout engine. aborting keypress in gui should set this to true @property def kill_layout(self): return self._kill_layout @kill_layout.setter def kill_layout(self, value): self._kill_layout = value
def __init__(self, parent, quote, dpage=1): self.m_id = wx.NewId() wx.Frame.__init__(self, None, self.m_id, style=wx.DEFAULT_FRAME_STYLE | wx.FULL_REPAINT_ON_RESIZE | wx.TAB_TRAVERSAL) self.m_quote = quote self.m_parent = parent self.m_framesizer = wx.BoxSizer(wx.VERTICAL) # fix title self.setTitle() # property panel self.m_propwindow = iTradeQuotePropertiesPanel(self, wx.NewId(), self.m_quote, self.m_parent) # Toolbar self.m_toolbar = iTradeQuotePropertyToolbar(self, wx.NewId()) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) self.m_framesizer.Add(self.m_toolbar, 0, wx.EXPAND) self.m_framesizer.Add(self.m_propwindow, 1, wx.EXPAND) self.SetSizer(self.m_framesizer) self.Fit()
def __init__(self, parent): GLCanvas.__init__(self, parent,-1, attribList=[wx.glcanvas.WX_GL_DOUBLEBUFFER]) wx.EVT_PAINT(self, self.OnDraw) wx.EVT_SIZE(self, self.OnSize) wx.EVT_MOTION(self, self.OnMouseMotion) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) self.init = True
def __init__(self, aParent, aResource): self._border = aResource.border self._bitmap = graphic.Bitmap(aResource.file, aResource.size) self._file = aResource.file # KEA # should we modify aResource instead? # is aResource used again later? #print aResource.size self._size = tuple(aResource.size) w = aResource.size[0] if w == -2: w = self._bitmap.getWidth() h = aResource.size[1] if h == -2: h = self._bitmap.getHeight() size = (w, h) # KEA need to check all possible variations on Win32 and Linux if aResource.border == '3d': style = wx.BU_AUTODRAW # Windows specific ?! else: style = 0 wx.BitmapButton.__init__(self, aParent, widget.makeNewId(aResource.id), self._bitmap.getBits(), aResource.position, size, style | wx.NO_FULL_REPAINT_ON_RESIZE | wx.CLIP_SIBLINGS, name=aResource.name) widget.Widget.__init__(self, aParent, aResource) wx.EVT_WINDOW_DESTROY(self, self._OnDestroy) # KEA 2001-07-27 # we should only be binding this if the button # is supposed to be transparent # so maybe a setTransparent method with true/false parameter? # keep track of _transparent attribute and if _transparent # then unbind EVT_ERASE_BACKGROUND # before changing _transparent to false # same kind of thing for setTransparent # don't rebind events if not needed # getTransparent as well # setBorder/getBorder #print aResource.border if aResource.border == 'transparent': #print aResource.border wx.EVT_ERASE_BACKGROUND(self, lambda evt: None) #adapter = button.ButtonEventBinding(self) #adapter.bindEvents() self._bindEvents(event.WIDGET_EVENTS + (button.ButtonMouseClickEvent, ))
def __init__(self, parent, ID, mainControl): EnhancedListControl.__init__(self, parent, ID, style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_NO_HEADER) self.mainControl = mainControl self.InsertColumn(0, u"", width=3000) self.updatingThreadHolder = Utilities.ThreadHolder() self.tocList = [ ] # List of tuples (char. start in text, headLevel, heading text) self.tocListStarts = [ ] # List of the char. start items of self.tocList self.mainControl.getMiscEvent().addListener(self) self.sizeVisible = True # False if this window has a size # that it can't be read (one dim. less than 5 pixels) self.ignoreOnChange = False self.docPagePresenterSink = wxKeyFunctionSink( (("loaded current doc page", self.onUpdateNeeded), ("changed live text", self.onUpdateNeeded) # ("options changed", self.onUpdateNeeded) )) self.__sinkApp = wxKeyFunctionSink( (("options changed", self.onUpdateNeeded), ), wx.GetApp().getMiscEvent(), self) # if not self.mainControl.isMainWindowConstructed(): # # Install event handler to wait for construction # self.__sinkMainFrame = wxKeyFunctionSink(( # ("constructed main window", self.onConstructedMainWindow), # ), self.mainControl.getMiscEvent(), self) # else: # self.onConstructedMainWindow(None) self.__sinkMainFrame = wxKeyFunctionSink( (("idle visible", self.onIdleVisible), ), self.mainControl.getMiscEvent(), self) currPres = self.mainControl.getCurrentDocPagePresenter() if currPres is not None: self.docPagePresenterSink.setEventSource(currPres.getMiscEvent()) self.lastSelection = (-1, -1) self.updateList() wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) wx.EVT_SIZE(self, self.OnSize) wx.EVT_KILL_FOCUS(self, self.OnKillFocus)
def __init__(self,parent,id,title,port): self.m_id = wx.NewId() wx.Frame.__init__(self,None,self.m_id, title, size = (640,480), style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE) iTrade_wxFrame.__init__(self,parent,'alerts') self.m_port = port self.m_book = iTradeAlertsNotebookWindow(self, -1, port=self.m_port) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) wx.EVT_SIZE(self, self.OnSize)
def __init__(self, parent, ID, mainControl): EnhancedListControl.__init__(self, parent, ID, style=wx.LC_REPORT | wx.LC_SINGLE_SEL) self.mainControl = mainControl self.InsertColumn(0, _(u"Page Name"), width=100) self.InsertColumn(1, _(u"Visited"), width=100) colConfig = self.mainControl.getConfig().get( "main", "wikiWideHistory_columnWidths", u"100,100") self.setColWidthsByConfigString(colConfig) # self.updatingThreadHolder = Utilities.ThreadHolder() self.mainControl.getMiscEvent().addListener(self) self.layerVisible = True self.sizeVisible = True # False if this window has a size # that it can't be read (one dim. less than 5 pixels) self.ignoreOnChange = False self.historyOverviewSink = wxKeyFunctionSink( (("changed wiki wide history", self.onUpdateNeeded), )) self.__sinkApp = wxKeyFunctionSink( (("options changed", self.onUpdateNeeded), ), wx.GetApp().getMiscEvent(), self) if not self.mainControl.isMainWindowConstructed(): # Install event handler to wait for construction self.__sinkMainFrame = wxKeyFunctionSink( (("constructed main window", self.onConstructedMainWindow), ), self.mainControl.getMiscEvent(), self) else: self.onConstructedMainWindow(None) wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) # wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) wx.EVT_SIZE(self, self.OnSize) # wx.EVT_KEY_DOWN(self, self.OnKeyDown) wx.EVT_MIDDLE_DOWN(self, self.OnMiddleButtonDown) wx.EVT_MENU(self, GUI_ID.CMD_WIKI_WIDE_HISTORY_DELETE_ALL, self.OnCmdDeleteAll) self.onWikiStateChanged(None)
def __init__(self, parent, id, title, **kwds): wx.Frame.__init__(self, parent, id, title, **kwds) buttons = [demo.makeButton(self) for demo in DEMONSTRATIONS] sizer = wx.BoxSizer(wx.VERTICAL) for btn in buttons: sizer.Add(btn, 0, wx.EXPAND|wx.ALL, 5) self.SetSizer(sizer) self.Fit() wx.EVT_WINDOW_DESTROY(self, self.OnWindowDestroy)
def __init__(self, activationTable, eventSource=None, ifdestroyed=None): wx.EvtHandler.__init__(self) KeyFunctionSink.__init__(self, activationTable) self.eventSource = eventSource self.ifdestroyed = ifdestroyed self.disabledSource = None if self.eventSource is not None: self.eventSource.addListener(self, self.ifdestroyed is None) if self.ifdestroyed is not None: wx.EVT_WINDOW_DESTROY(self.ifdestroyed, self.OnDestroy)
def __init__(self, parent, id, size=(6.0, 3.70), dpi=96, cursor=True, location=True, crosshairs=False, selection=True, zoom=True, autoscaleUnzoom=True, mirrored=False): """ Creates a new PlotPanel window that is the child of the wxPython window C{parent} with the wxPython identifier C{id}. The keyword arguments C{size} and {dpi} are used to create the matplotlib C{Figure} associated with this canvas. C{size} is the desired width and height of the figure, in inches, as the 2-tuple C{(width, height)}. C{dpi} is the dots-per-inch of the figure. The keyword arguments C{cursor}, C{location}, C{crosshairs}, C{selection}, C{zoom}, and C{autoscaleUnzoom} enable or disable various user interaction features that are descibed in their associated C{set()} methods. """ FigureCanvasWxAgg.__init__(self, parent, id, Figure(size, dpi)) self.insideOnPaint = False self.cursor = CursorChanger(self, cursor) self.location = LocationPainter(self, location) self.crosshairs = CrosshairPainter(self, crosshairs) self.rubberband = RubberbandPainter(self, selection) rightClickUnzoom = True # for now this is default behavior self.director = PlotPanelDirector(self, zoom, selection, rightClickUnzoom, autoscaleUnzoom, mirrored) self.figure.set_edgecolor('black') self.figure.set_facecolor('white') self.SetBackgroundColour(wx.WHITE) # find the toplevel parent window and register an activation event # handler that is keyed to the id of this PlotPanel topwin = toplevel_parent_of_window(self) #topwin.Connect(-1, self.GetId(), wx.wxEVT_ACTIVATE, self.OnActivate) topwin.Bind(wx.EVT_ACTIVATE, self.OnActivate) wx.EVT_ERASE_BACKGROUND(self, self.OnEraseBackground) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy)
def __init__(self, parent, ID, clientProfile, sharedAppClient): wx.Window.__init__(self, parent, ID, style=wx.NO_FULL_REPAINT_ON_RESIZE) ## Attributes self.clientProfile = clientProfile self.user = self.clientProfile.GetName() self.sharedAppClient = sharedAppClient self.id = self.sharedAppClient.GetPublicId() # <AGtk code> # Register event callback self.sharedAppClient.RegisterEventCallback(events.DRAWING_EVENT, self.GetDrawingEvent) # <AGtk code> """ Background image & Cursor icon """ self.backImage = None self.SetCursor(wx.StockCursor(wx.CURSOR_CROSS)) self.SetBackgroundColour("WHITE") self.listeners = [] self.thickness = 1 self.SetColour("Black") self.lines = [] self.x = self.y = 0 self.MakeMenu() self.InitBuffer() # hook some mouse events wx.EVT_LEFT_DOWN(self, self.OnLeftDown) wx.EVT_LEFT_UP(self, self.OnLeftUp) wx.EVT_RIGHT_UP(self, self.OnRightUp) wx.EVT_MOTION(self, self.OnMotion) # the window resize event and idle events for managing the buffer wx.EVT_SIZE(self, self.OnSize) wx.EVT_IDLE(self, self.OnIdle) # and the refresh event wx.EVT_PAINT(self, self.OnPaint) # When the window is destroyed, clean up resources. wx.EVT_WINDOW_DESTROY(self, self.Cleanup)
def __init__(self,parent,quote,dpage=1): self.m_id = wx.NewId() wx.Frame.__init__(self,None,self.m_id, size = ( 580,400), style= wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.RESIZE_BOX | wx.MAXIMIZE_BOX)) self.m_quote = quote self.m_parent = parent # fix title self.setTitle() # property panel self.m_propwindow = iTradeQuotePropertiesPanel(self,wx.NewId(),self.m_quote) # Toolbar self.m_toolbar = iTradeQuotePropertyToolbar(self, wx.NewId()) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) wx.EVT_SIZE(self, self.OnSize)
def __init__(self, aParent, imageFile, tiled): wx.Panel.__init__(self, aParent, -1, style=wx.TAB_TRAVERSAL | wx.NO_FULL_REPAINT_ON_RESIZE) self._frame = aParent self._imageFile = imageFile self._backgroundTiling = tiled # KEA 2001-07-27 # Load the bitmap once and keep it around # this could fail, so should be a try/except. if imageFile is not None: self._bitmap = graphic.Bitmap(imageFile) wx.EVT_ERASE_BACKGROUND(self, self.onEraseBackground) wx.EVT_WINDOW_DESTROY(self, self._OnDestroy)
def __init__(self, is_image=False, bgcolor="white", image_default_origin="top left", *args, **kw): kw.setdefault("size", (600, 600)) wx.Frame.__init__(self, None, *args, **kw) # Some defaults which should be overridden by preferences. self.bgcolor = bgcolor self.image_default_origin = image_default_origin # Create an empty top-level container if is_image: top_container = self._create_top_img_container() else: top_container = self._create_top_container() # The PlotSession of which we are a part. We need to know this in order # to notify it of our being closed, etc. self.session = None # Create the Enable Window object, and store a reference to it. # (This will be handy later.) The Window requires a WX parent object # as its first argument, so we just pass 'self'. self.plot_window = Window(self, component=top_container) # We'll create a default sizer to put our plot_window in. sizer = wx.BoxSizer(wx.HORIZONTAL) # Since Window is an Enable object, we need to get its corresponding # WX control. This is stored in its ".control" attribute. sizer.Add(self.plot_window.control, 1, wx.EXPAND) # Hook up event handlers for destroy, etc. wx.EVT_WINDOW_DESTROY(self, self._on_window_close) # More WX boilerplate. self.SetSizer(sizer) self.SetAutoLayout(True) self.Show(True) return
def __init__(self,parent,portfolio,matrix): self.m_id = wx.NewId() wx.Frame.__init__(self,parent,self.m_id, "", size = ( 640,480), style = wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE) iTrade_wxFrame.__init__(self,parent, 'main') self.m_portfolio = portfolio self.m_matrix = matrix self.m_market = self.m_portfolio.market() self.initIndice() # Set Lang self.SetLang(bDuringInit=True) self.m_bookId = wx.NewId() self.m_book = iTradeMainNotebookWindow(self, self.m_bookId, page=-1, portfolio=self.m_portfolio,matrix=self.m_matrix) # link to other windows self.m_hOperation = None self.m_hMoney = None self.m_hAlerts = None self.m_hView = None self.m_hProperty = None self.m_hCurrency = None wx.EVT_CLOSE(self, self.OnCloseWindow) wx.EVT_WINDOW_DESTROY(self, self.OnDestroyWindow) # Build the main menu self.buildMenu() # Toolbar self.m_toolbar = iTradeMainToolbar(self, wx.NewId()) wx.EVT_SIZE(self, self.OnSize) wx.EVT_ERASE_BACKGROUND(self,self.OnEraseBackground) # refresh full view after window init finished EVT_POSTINIT(self, self.OnPostInit) wx.PostEvent(self,PostInitEvent()) # last self.Show(True)
def initUI(self): self.hbox = wx.BoxSizer(wx.HORIZONTAL) vbox = wx.BoxSizer(wx.VERTICAL) self.plotVBox = wx.BoxSizer(wx.VERTICAL) self.dirBox = wx.CheckListBox(parent=self, choices=sorted(self.directories.keys()), size=(200, -1)) self.dirBox.SetLabel("Setups to Plot") self.dirBox.Bind(wx.EVT_CHECKLISTBOX, self.onDirBoxEvent) self.statsBox = wx.CheckListBox(parent=self, choices=[], size=(200, -1)) self.statsBox.SetLabel("Statistics to Plot") self.statsBox.Bind(wx.EVT_CHECKLISTBOX, self.onStatsBoxEvent) self.plotBox = wx.RadioBox(parent=self, label="Plot Type", majorDimension=1, choices=PLOT_TYPES.keys(), size=(200, -1)) self.plotBox.Bind(wx.EVT_RADIOBOX, self.onPlotBoxEvent) self.errorBarBox = wx.RadioBox(parent=self, label="Error Bars", majorDimension=1, choices=ERRORBAR_TYPES.keys(), size=(200, -1)) self.errorBarBox.Bind(wx.EVT_RADIOBOX, self.onErrorBarBoxEvent) vbox.Add(self.dirBox, 2, wx.EXPAND | wx.ALL, 5) vbox.Add(self.statsBox, 2, wx.EXPAND | wx.ALL, 5) vbox.Add(self.plotBox, 1, wx.EXPAND | wx.ALL, 5) vbox.Add(self.errorBarBox, 1, wx.EXPAND | wx.ALL, 5) self.hbox.Add(vbox, 0, wx.EXPAND | wx.ALL, 5) self.hbox.Add(self.plotVBox, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(self.hbox) self.Fit() wx.EVT_WINDOW_DESTROY(self, self.OnWindowDestroy)
def __init__(self, parent, log, frame): ogl.ShapeCanvas.__init__(self, parent) maxWidth = 1000 maxHeight = 1000 self.SetScrollbars(20, 20, maxWidth / 20, maxHeight / 20) self.log = log self.frame = frame self.SetBackgroundColour("LIGHT BLUE") # wxWHITE) self.SetDiagram(ogl.Diagram()) self.GetDiagram().SetCanvas(self) self.save_gdi = [] wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) self.Bind(wx.EVT_CHAR, self.onKeyChar) self.working = False self.font1 = wx.Font(14, wx.MODERN, wx.NORMAL, wx.NORMAL, False) self.font2 = wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL, False)
def __init__(self, aParent, aResource): self._thickness = 1 self.autoRefresh = True self._drawingInProgress = False self._bufImage = None wx.Window.__init__(self, aParent, widget.makeNewId(aResource.id), aResource.position, aResource.size, style=wx.NO_FULL_REPAINT_ON_RESIZE | wx.CLIP_SIBLINGS, name=aResource.name) self._size = self.GetClientSize() # create offscreen buffer where drawing occurs bitmap = wx.EmptyBitmap(self._size[0], self._size[1]) self._bufImage = wx.MemoryDC() self._bufImage.SelectObject(bitmap) del bitmap widget.Widget.__init__(self, aParent, aResource) wx.EVT_PAINT(self, self._onPaint) wx.EVT_SIZE(self, self._onSize) wx.EVT_WINDOW_DESTROY(self, self._onDestroy) self.backgroundColor = (255, 255, 255) # 'white' self.clear() self._setForegroundColor((0, 0, 0)) # 'black' # these are the defaults for a new MemoryDC self._fillColor = 'WHITE' self._fillMode = 'SOLID' self._logicalCopyMode = 'COPY' self._bindEvents(event.WIDGET_EVENTS)
def __init__(self, parent, id, title, **kwds): wx.Frame.__init__(self, parent, id, title, **kwds) buttons = [demo.makeButton(self) for demo in DEMONSTRATIONS] buttons2 = [demo.makeButton(self) for demo in DEMONSTRATIONS_TWO] sizer = wx.BoxSizer(wx.VERTICAL) for btn in buttons: sizer.Add(btn, 0, wx.EXPAND) staline = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, (-1, 15), \ wx.LI_HORIZONTAL) sizer.Add(staline,1,wx.GROW | wx.ALL) for btn in buttons2: sizer.Add(btn,0,wx.EXPAND) self.SetSizer(sizer) self.Fit() wx.EVT_WINDOW_DESTROY(self, self.OnWindowDestroy)
'''
def __init__(self, parent, id, title): self.m_id = wx.NewId() wx.Frame.__init__(self, None, self.m_id, title, size=(640, 480), style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE) iTrade_wxFrame.__init__(self, parent, 'currencies') iTrade_wxLiveCurrencyMixin.__init__(self) # the menu self.filemenu = wx.Menu() #self.filemenu.Append(ID_SAVE,message('main_save'),message('main_desc_save')) #self.filemenu.AppendSeparator() self.filemenu.Append(ID_CLOSE, message('main_close'), message('main_desc_close')) self.viewmenu = wx.Menu() self.viewmenu.Append(ID_CONVERT, message('main_view_convert'), message('main_view_desc_convert')) self.viewmenu.Append(ID_REFRESH, message('main_view_refresh'), message('main_view_desc_refresh')) self.viewmenu.AppendCheckItem(ID_AUTOREFRESH, message('main_view_autorefresh'), message('main_view_desc_autorefresh')) # default checking self.updateCheckItems() # Creating the menubar menuBar = wx.MenuBar() # Adding the "<x>menu" to the MenuBar menuBar.Append(self.filemenu, message('currency_menu_file')) menuBar.Append(self.viewmenu, message('currency_menu_view')) # Adding the MenuBar to the Frame content self.SetMenuBar(menuBar) # Toolbar self.m_toolbar = iTradeCurrencyToolbar(self, wx.NewId()) # default list is quotes self.m_list = iTradeCurrenciesMatrix( self, wx.NewId(), style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL | wx.LC_VRULES | wx.LC_HRULES, list=list_of_currencies()) #self.m_list.SetImageList(self.m_imagelist, wx.IMAGE_LIST_SMALL) self.m_list.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)) wx.EVT_SIZE(self, self.OnSize) wx.EVT_MENU(self, ID_CLOSE, self.OnClose) wx.EVT_MENU(self, ID_CONVERT, self.OnConvert) wx.EVT_MENU(self, ID_REFRESH, self.OnRefresh) wx.EVT_MENU(self, ID_AUTOREFRESH, self.OnAutoRefresh) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) wx.EVT_CLOSE(self, self.OnCloseWindow) EVT_UPDATE_LIVECURRENCY(self, self.OnLiveCurrency) # refresh full view after window init finished EVT_POSTINIT(self, self.OnPostInit) wx.PostEvent(self, PostInitEvent()) self.Show(True)
def __init__(self, title="button box", execModule=None, layout = "boxHoriz", panel=None, parent=None, pos=wx.DefaultPosition, style=wx.DEFAULT_FRAME_STYLE): """ if execModule is None: use __main__ otherwise exec all string-command there layout: boxHoriz OR h - horizontal BoxSizer, use "\n" to start new row boxVert OR v - vertical BoxSizer, use "\n" to start new column (nx,ny) - FlexGridSizer (one of nx or ny can be 0) (nx,ny,hgap,vgap) - FlexGridSizer (one of nx or ny can be 0) panel: put buttons into this panel - if None: create new frame use title, parent, pos and style for that frame """ global buttonBoxes self.i = len(buttonBoxes) if panel is None: # self.frame = wx.Frame(parent, -1, title + " (%d)", style=style) self.frame = wx.Frame(parent, -1, title, style=style, pos=pos) else: self.frame = panel self.useGridsizer = type(layout) in (list,tuple) if self.useGridsizer: #self.sizer0Vert= wx.GridSizer(*verticalLayout) #her Add would need pos argument -- self.sizer0Vert= wx.GridBagSizer(*verticalLayout) self.sizer0Vert= wx.FlexGridSizer(*layout) else: if layout[0].lower() == 'v' or \ layout[3].lower() == 'v': self.sizer0Vert= wx.BoxSizer(wx.HORIZONTAL) else: self.sizer0Vert= wx.BoxSizer(wx.VERTICAL) #self.row=0 self.sizers=[] self.startNewRow() self.frame.SetSizer(self.sizer0Vert) #20100126 Gtk-CRITICAL **: gtk_window_resize: assertion `width > 0' failed #20100126 self.sizer0Vert.SetSizeHints(self.frame) self.frame.SetAutoLayout(1) #20100126 self.sizer0Vert.Fit(self.frame) if panel is None: self.frame.Show() #self.nButtons = 0 ## use instead: len(self.doOnEvt) self.doOnEvt = [] # list of event-handler lists; # each is a handler called like: f(execModule, value, buttonObj, evt) if execModule is None: import __main__ self.execModule = __main__ else: self.execModule = execModule buttonBoxes.append(self) self.doOnClose = [] # (self, ev) if self.frame.IsTopLevel(): wx.EVT_CLOSE(self.frame, self.onClose) else: wx.EVT_WINDOW_DESTROY(self.frame, self.onClose)
def __init__(self, parent, wid=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, **traits): AbstractWindow.__init__(self, **traits) self._timer = None self._mouse_captured = False # Due to wx wonkiness, we don't reliably get cursor position from # a wx KeyEvent. Thus, we manually keep track of when we last saw # the mouse and use that information instead. These coordinates are # in the wx coordinate space, i.e. pre-self._flip_y(). self._last_mouse_pos = (0, 0) # Create the delegate: self.control = control = self._create_control(parent, wid, pos, size) # Set up the 'erase background' event handler: wx.EVT_ERASE_BACKGROUND(control, self._on_erase_background) # Set up the 'paint' event handler: wx.EVT_PAINT(control, self._paint) wx.EVT_SIZE(control, self._on_size) # Set up mouse event handlers: wx.EVT_LEFT_DOWN(control, self._on_left_down) wx.EVT_LEFT_UP(control, self._on_left_up) wx.EVT_LEFT_DCLICK(control, self._on_left_dclick) wx.EVT_MIDDLE_DOWN(control, self._on_middle_down) wx.EVT_MIDDLE_UP(control, self._on_middle_up) wx.EVT_MIDDLE_DCLICK(control, self._on_middle_dclick) wx.EVT_RIGHT_DOWN(control, self._on_right_down) wx.EVT_RIGHT_UP(control, self._on_right_up) wx.EVT_RIGHT_DCLICK(control, self._on_right_dclick) wx.EVT_MOTION(control, self._on_mouse_move) wx.EVT_ENTER_WINDOW(control, self._on_window_enter) wx.EVT_LEAVE_WINDOW(control, self._on_window_leave) wx.EVT_MOUSEWHEEL(control, self._on_mouse_wheel) # Handle key up/down events: wx.EVT_KEY_DOWN(control, self._on_key_pressed) wx.EVT_KEY_UP(control, self._on_key_released) wx.EVT_CHAR(control, self._on_character) # Attempt to allow wxPython drag and drop events to be mapped to # Enable drag events: # Handle window close and cleanup wx.EVT_WINDOW_DESTROY(control, self._on_close) if PythonDropTarget is not None: control.SetDropTarget(LessSuckyDropTarget(self)) self._drag_over = [] # In some cases, on the Mac at least, we never get an initial EVT_SIZE # since the initial size is correct. Because of this we call _on_size # here to initialize our bounds. self._on_size(None) return
def __init__(self, parent, ID, mainControl): EnhancedListControl.__init__(self, parent, ID, style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_NO_HEADER) self.mainControl = mainControl self.InsertColumn(0, u"", width=3000) self.updatingThreadHolder = Utilities.ThreadHolder() self.versionEntries = [] self.versionOverview = None self.activationMode = self._ACTIVATION_MODE_NORMAL self.mainControl.getMiscEvent().addListener(self) self.layerVisible = True self.sizeVisible = True # False if this window has a size # that it can't be read (one dim. less than 5 pixels) self.ignoreOnChange = False self.docPagePresenterSink = wxKeyFunctionSink(( ("loaded current doc page", self.onUpdateNeeded), )) self.versionOverviewSink = wxKeyFunctionSink(( ("changed version overview", self.onUpdateNeeded), ("invalidated version overview", self.onUpdateNeeded) )) self.__sinkApp = wxKeyFunctionSink(( ("options changed", self.onUpdateNeeded), ), wx.GetApp().getMiscEvent(), self) if not self.mainControl.isMainWindowConstructed(): # Install event handler to wait for construction self.__sinkMainFrame = wxKeyFunctionSink(( ("constructed main window", self.onConstructedMainWindow), ), self.mainControl.getMiscEvent(), self) else: self.onConstructedMainWindow(None) # currPres = self.mainControl.getCurrentDocPagePresenter() # if currPres is not None: # self.docPagePresenterSink.setEventSource(currPres.getMiscEvent()) self.docPagePresenterSink.setEventSource( self.mainControl.getCurrentPresenterProxyEvent()) self.lastSelection = (-1, -1) self.updateList() wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) wx.EVT_SIZE(self, self.OnSize) wx.EVT_KEY_DOWN(self, self.OnKeyDown) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DIFF_INLINE, self.OnCmdDiffInline) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DIFF_SET_FROM, self.OnCmdDiffSetFrom) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DIFF_SET_TO, self.OnCmdDiffSetTo) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DELETE_VERSION, self.OnCmdDeleteVersion) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DELETE_ALL_VERSION_DATA, self.OnCmdDeleteAllVersionData)