def __init__(self, parent, frame): self.frame = frame self.lastkey = None self.previewkey = self.previewbmp = self.previewimg = self.previewsize = None self.sashsize = 4 wx.SplitterWindow.__init__(self, parent, wx.ID_ANY, style=wx.SP_3DSASH | wx.SP_NOBORDER | wx.SP_LIVE_UPDATE) panel = wx.Panel(self) sizer = wx.BoxSizer(wx.VERTICAL) self.sb = wx.SearchCtrl(panel) self.sb.ShowCancelButton(True) sizer.Add(self.sb, 0, flag=wx.EXPAND | (platform == 'darwin' and wx.ALL or wx.BOTTOM), border=3) if platform == 'darwin' and wx.VERSION < (2, 9): sizer.AddSpacer(6) # layout on OSX sucks self.cb = PaletteChoicebook(panel, frame, self) sizer.Add(self.cb, 1, wx.EXPAND) panel.SetSizerAndFit(sizer) self.preview = wx.Panel(self, wx.ID_ANY, style=wx.FULL_REPAINT_ON_RESIZE) if platform == 'darwin': self.preview.ClearBackground = self.ClearPreviewBackground self.SetMinimumPaneSize(1) self.SplitHorizontally(panel, self.preview, -ClutterDef.PREVIEWSIZE) self.lastheight = self.GetSize().y wx.EVT_SIZE(self, self.OnSize) wx.EVT_KEY_DOWN(self, self.OnKeyDown) wx.EVT_SET_FOCUS(self, self.OnSetFocus) wx.EVT_KEY_DOWN(self.preview, self.OnKeyDown) wx.EVT_SET_FOCUS(self.preview, self.OnSetFocus) wx.EVT_SPLITTER_SASH_POS_CHANGING(self, self.GetId(), self.OnSashPositionChanging) wx.EVT_PAINT(self.preview, self.OnPaint) wx.EVT_TEXT(self.sb, self.sb.GetId(), self.OnSearch) wx.EVT_MOUSEWHEEL( self, self.OnMouseWheel ) # stop these events propagating to main window under wx2.9 if wx.version() < '2.9.4.1': # cancel button doesn't send EVT_SEARCHCTRL_CANCEL_BTN under 2.9.4.0 - http://trac.wxwidgets.org/ticket/14799 # event not needed under 2.9.4.1 wx.EVT_SEARCHCTRL_CANCEL_BTN(self.sb, self.sb.GetId(), self.OnCancelSearch)
def __init__(self, parent, id, style): wx.grid.Grid.__init__(self, parent, id, wx.DefaultPosition, wx.DefaultSize, style) # bind key down events wx.EVT_KEY_DOWN(self, self.OnKey) # initialize text string for undo (start row, start col, undo string) self.data4undo = [0, 0, ''] # initialize copy rows and columns # catches case of initial Ctrl+v before a Ctrl+c self.crows = 1 self.ccols = 1 # initialize clipboard to empty string data = '' # Create text data object clipboard = wx.TextDataObject() # Set data object value clipboard.SetText(data) # Put the data in the clipboard if wx.TheClipboard.Open(): wx.TheClipboard.SetData(clipboard) wx.TheClipboard.Close() else: wx.MessageBox("Can't open the clipboard", "Error")
def __init__(self, parent, data, name, typeOf): gridlib.Grid.__init__(self, parent, -1) self.data = data self.name = name self.type = typeOf tableBase = GenericTable(data, globaldata.rowLabels, globaldata.colLabels) self.SetTable(tableBase) # self.SetGridLineColour(wx.RED) self.SetRowLabelSize(-1) self.SetColLabelSize(-1) self.SetColMinimalAcceptableWidth(100) # self.SetRowMinimalAcceptableWidth(100) # self.SetColMinimalWidth(1,150) # self.EnableCellEditControl(False) wx.EVT_KEY_DOWN(self, self.KeyPressed) # self.EnableEditing(False) #//////////////////////////////// #trying to fix the white overflow (bleed) that appears on windows panelcolour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE) self.SetDefaultCellBackgroundColour(panelcolour) #/////////////////////////////////// self.InvalidateBestSize() # /////////////////////////////////// # SetClientSize(self.GetBestSize()); self.Bind(gridlib.EVT_GRID_EDITOR_SHOWN, self.OnCellDoubleClick) self.Bind(gridlib.EVT_GRID_SELECT_CELL, self.OnSelectCell) self.Bind(gridlib.EVT_GRID_RANGE_SELECT, self.onDragSelection) self.Bind(gridlib.EVT_GRID_CELL_LEFT_DCLICK, self.OnCellDoubleClick) self.Bind(gridlib.EVT_GRID_CELL_RIGHT_CLICK, self.ShowPopupMenu) # self.ShowScrollbars(wx.SHOW_SB_DEFAULT,wx.SHOW_SB_NEVER) self.SetMargins(0, 0) self.SetDefaultCellAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) pub.subscribe(self.Resize, 'RESIZE_CELLS')
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, parent): wx.Panel.__init__(self, parent) wx.EVT_SIZE(self, self.OnSize) wx.EVT_IDLE(self, self.OnIdle) wx.EVT_MOVE(self, self.OnMove) wx.EVT_SET_FOCUS(self, self.OnFocus) wx.EVT_KILL_FOCUS(self, self.OnLostFocus) wx.EVT_MAXIMIZE(self, self.OnMaximize) wx.EVT_LEFT_DOWN(self, self.OnLeftDown) #~ wx.EVT_LEFT_UP(self, self.OnLeftUp) wx.EVT_RIGHT_DOWN(self, self.OnRightDown) wx.EVT_MIDDLE_DOWN(self, self.OnMiddleDown) wx.EVT_RIGHT_UP(self, self.OnRightUp) wx.EVT_MIDDLE_UP(self, self.OnMiddleUp) wx.EVT_MOTION(self, self.OnMotion) wx.EVT_KEY_DOWN(self, self.OnKeyDown) self._3dDisplay = None self._inited = False self.DynaZoom = False self.DynaRotate = False self.DynaPan = False self.dragStartPos = None self._drawbox = None self._selection = None if sys.platform == 'win32': self.Init3dViewer()
def setupCallbacks(self): """Setup various callbacks for this context Binds most of the wxPython event types to callbacks on this object, which allows interactive sub-classes to easily manage the bindings without needing any wxPython-specific logic. """ if not self.init: self.init = 1 # Bind the wxPython background erase event # Without this binding, the canvas will tend to flicker wx.EVT_ERASE_BACKGROUND(self, self.wxOnEraseBackground) # Handle resizing of the window wx.EVT_SIZE(self, self.wxOnSize) # Handle requests to display this canvas wx.EVT_PAINT(self, self.wxOnPaint) # Handle keyboard events... wx.EVT_KEY_DOWN(self, self.wxOnKeyDown) wx.EVT_KEY_UP(self, self.wxOnKeyUp) wx.EVT_CHAR(self, self.wxOnCharacter) # Handle mouse events... wx.EVT_LEFT_DOWN(self, self.wxOnMouseButton) wx.EVT_RIGHT_DOWN(self, self.wxOnMouseButton) wx.EVT_MIDDLE_DOWN(self, self.wxOnMouseButton) wx.EVT_LEFT_UP(self, self.wxOnMouseButton) wx.EVT_RIGHT_UP(self, self.wxOnMouseButton) wx.EVT_MIDDLE_UP(self, self.wxOnMouseButton) wx.EVT_MOTION(self, self.wxOnMouseMove) if hasattr(self, 'OnIdle'): wx.EVT_IDLE(self, self.wxOnIdle)
def __do_events(self): wx.EVT_BUTTON(self.parent_window, self.tab_send.GetId(), self.OnSendMessage) wx.EVT_BUTTON(self.parent_window, self.tab_clear.GetId(), self.OnClearMessage) wx.EVT_TEXT_ENTER(self.tab_panel, self.tab_chatBox.GetId(), self.OnSendMessage) wx.EVT_KEY_DOWN(self.parent_window, self.OnKeyDown) wx.EVT_LIST_ITEM_RIGHT_CLICK(self.tab_panel, self.tab_listPeople.GetId(), self.OnRightClick_People) wx.EVT_RIGHT_DOWN(self.tab_chatArea, self.OnRightClick_ChatArea) #wx.EVT_RIGHT_DOWN(self.tab_panel, self.tab_chatArea.GetId(), self.OnRightClick_ChatArea) wx.EVT_MENU(self.tab_panel, ID_POPUP_USERS_PRIVATEMSG, self.OnPrivateMessage) wx.EVT_MENU(self.tab_panel, ID_POPUP_USERS_SETAWAY, self.OnSetAway) wx.EVT_MENU(self.tab_panel, ID_POPUP_USERS_GETINFO, self.OnGetUserInfo) wx.EVT_MENU(self.tab_panel, ID_POPUP_CHANNEL_LOGGING, self.OnLogging) wx.EVT_MENU(self.tab_panel, ID_POPUP_CHANNEL_TIMESTAMP, self.OnTimeStamps) wx.EVT_MENU(self.tab_panel, ID_POPUP_CHANNEL_CLOSE, self.OnCloseTab)
def __init__(self, parent): grid.Grid.__init__(self, parent, -1) table = TrackPointDataTable() self.table = table self.SetTable(table, True) self.SetRowLabelSize(0) self.SetColSize(0, 40) self.SetColSize(1, 140) self.SetColSize(2, 140) self.SetColSize(3, 100) self.SetColSize(4, 200) self.SetMargins(0, 0) self.EnableDragGridSize(0) self.SetLabelFont(self.GetCellFont(0, 0)) self.SetColLabelSize(22) grid.EVT_GRID_CELL_LEFT_DCLICK(self, self.OnLeftDClick) grid.EVT_GRID_CELL_RIGHT_DCLICK(self, self.OnRightDClick) wx.EVT_KEY_DOWN(self, self.OnKeypress) # Make some columns read-only attr = grid.GridCellAttr() attr.SetReadOnly() self.SetColAttr(0, attr) self.SetColAttr(1, attr) self.SetColAttr(2, attr) self.SetColAttr(3, attr) self.SetColAttr(4, attr)
def __init__(self, parent): attribList = (glcanvas.WX_GL_RGBA, glcanvas.WX_GL_DOUBLEBUFFER, glcanvas.WX_GL_DEPTH_SIZE, 24, glcanvas.WX_GL_STENCIL_SIZE, 8, 0) glcanvas.GLCanvas.__init__(self, parent, style=wx.WANTS_CHARS, attribList = attribList) self._base = self self._focus = None self._container = None self._container = glGuiContainer(self, (0,0)) self._shownError = False self._context = glcanvas.GLContext(self) #self._glButtonsTexture = None self._buttonSize = 64 self._animationList = [] self.glReleaseList = [] self._refreshQueued = False self._idleCalled = False wx.EVT_PAINT(self, self._OnGuiPaint) wx.EVT_SIZE(self, self._OnSize) wx.EVT_ERASE_BACKGROUND(self, self._OnEraseBackground) wx.EVT_LEFT_DOWN(self, self._OnGuiMouseDown) wx.EVT_LEFT_DCLICK(self, self._OnGuiMouseDown) wx.EVT_LEFT_UP(self, self._OnGuiMouseUp) wx.EVT_RIGHT_DOWN(self, self._OnGuiMouseDown) wx.EVT_RIGHT_DCLICK(self, self._OnGuiMouseDown) wx.EVT_RIGHT_UP(self, self._OnGuiMouseUp) wx.EVT_MIDDLE_DOWN(self, self._OnGuiMouseDown) wx.EVT_MIDDLE_DCLICK(self, self._OnGuiMouseDown) wx.EVT_MIDDLE_UP(self, self._OnGuiMouseUp) wx.EVT_MOTION(self, self._OnGuiMouseMotion) wx.EVT_KEY_DOWN(self, self._OnGuiKeyDown) wx.EVT_KEY_UP(self, self._OnGuiKeyUp) wx.EVT_KILL_FOCUS(self, self.OnFocusLost) wx.EVT_IDLE(self, self._OnIdle)
def __init__(self, parent, id, style, tabname, tabno, objects, pkgdir): if platform == 'win32': style |= wx.ALWAYS_SHOW_SB # fails on GTK wx.VListBox.__init__(self, parent, id, style=style) self.font = wx.SystemSettings_GetFont(wx.SYS_DEFAULT_GUI_FONT) if platform.startswith('linux'): self.font.SetPointSize(10) # Default is too big on Linux self.SetFont(self.font) (x, self.height) = self.GetTextExtent("Mq") if platform.startswith('linux'): self.height -= 1 self.imgs = parent.imgs self.actfg = platform == 'darwin' and wx.Colour( 255, 255, 255) or wx.SystemSettings_GetColour( wx.SYS_COLOUR_HIGHLIGHTTEXT) self.inafg = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOWTEXT) self.indent = 4 self.parent = parent self.tabname = tabname self.tabno = tabno self.pkgdir = pkgdir self.populate(objects) wx.EVT_LISTBOX(self, self.GetId(), self.parent.OnChoice) wx.EVT_KEY_DOWN(self, self.parent.palette.OnKeyDown) wx.EVT_SET_FOCUS(self, self.parent.palette.OnSetFocus) self.SetDropTarget(PaletteDropTarget(self.parent.palette))
def __init__(self, width, height, alpha = symbol, mirr = 0, parent = None): """ Initialise. width and height define the physical size of the CRT in cm. """ wx.Frame.__init__ (self, parent, -1, _("Snellen Chart")) # width/Y is screen size (X/Y in cm) #wx.SystemSettings.GetMetric(wx.SYS_SCREEN_X) # screensizes = {_("14 inch"):(28, 21), _("16 inch"):(30, 23)} self.screen_width_cm = width self.screen_height_cm = height self.screen_width_pixel = 0 self.screen_height_pixel = 0 self.standard_patient_chart_distances = [3, 5, 6, 7.5, 9, 12, 15, 18, 24, 30, 48, 60] # in metres self.mirror = mirr self.alphabet = alpha wx.EVT_CLOSE (self, self.OnClose) wx.EVT_KEY_DOWN (self, self.OnKeyUp) wx.EVT_LEFT_UP (self, self.OnLeftDown) wx.EVT_RIGHT_UP (self, self.OnRightDown) wx.EVT_LEFT_DCLICK (self, self.OnDClick) wx.EVT_PAINT (self, self.OnPaint) # wx.EVT_WINDOW_CREATE (self, self.OnCreate) self.ShowFullScreen(1)
def __init__(self, parent, image, glCanvas, do, chan=0, zdim=2): wx.Panel.__init__(self, parent, -1, size=parent.Size) self.image = image self.glCanvas = glCanvas self.do = do self.chan = chan self.zdim = zdim wx.EVT_PAINT(self, self.OnPaint) wx.EVT_SIZE(self, self.OnSize) wx.EVT_MOUSEWHEEL(self, self.OnWheel) wx.EVT_KEY_DOWN(self, self.OnKeyPress) wx.EVT_LEFT_DOWN(self, self.OnLeftDown) wx.EVT_LEFT_UP(self, self.OnLeftUp) wx.EVT_MIDDLE_DOWN(self, self.OnMiddleDown) wx.EVT_MIDDLE_UP(self, self.OnMiddleUp) wx.EVT_MOTION(self, self.OnMotion) self.selecting = False self.panning = False self.do.WantChangeNotification.append(self.Refresh)
def _CreateCanvas(self, parent): self._canvas = ogl.ShapeCanvas(parent) wx.EVT_LEFT_DOWN(self._canvas, self.OnLeftClick) wx.EVT_LEFT_UP(self._canvas, self.OnLeftUp) wx.EVT_MOTION(self._canvas, self.OnLeftDrag) wx.EVT_LEFT_DCLICK(self._canvas, self.OnLeftDoubleClick) wx.EVT_KEY_DOWN(self._canvas, self.OnKeyPressed) # need this otherwise mouse clicks don't set focus to this view wx.EVT_LEFT_DOWN(self._canvas, self.FocusOnClick) wx.EVT_LEFT_DCLICK(self._canvas, self.FocusOnClick) wx.EVT_RIGHT_DOWN(self._canvas, self.FocusOnClick) wx.EVT_RIGHT_DCLICK(self._canvas, self.FocusOnClick) wx.EVT_MIDDLE_DOWN(self._canvas, self.FocusOnClick) wx.EVT_MIDDLE_DCLICK(self._canvas, self.FocusOnClick) wx.EVT_KILL_FOCUS(self._canvas, self.OnKillFocus) wx.EVT_SET_FOCUS(self._canvas, self.OnFocus) self._canvas.SetScrollbars(20, 20, self._maxWidth / 20, self._maxHeight / 20) self._canvas.SetBackgroundColour(self._backgroundColor) self._diagram = ogl.Diagram() self._canvas.SetDiagram(self._diagram) self._diagram.SetCanvas(self._canvas) self._canvas.SetFont(NORMALFONT)
def __init__(self, parent, win_id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.LC_ICON, validator=wx.DefaultValidator, name=wx.ListCtrlNameStr, defaultValue=None, required=False, outLabel=None): wx.ListView.__init__(self, parent, win_id, pos, size, style | wx.BORDER_NONE, validator, name) ListCtrlAutoWidthMixin.__init__(self) InputField.__init__(self, defaultValue, required, outLabel) self.clr_enabled = self.GetBackgroundColour() self.clr_disabled = parent.GetBackgroundColour() if not self.GetColumnCount() and self.WindowStyleFlag & wx.LC_REPORT: self.InsertColumn(0) # *** Event Handling *** # wx.EVT_KEY_DOWN(self, self.OnSelectAll)
def __init__(self, parent, frame, palette): self.frame = frame self.palette = palette # the ancestor window that handles events for us wx.Choicebook.__init__(self, parent, wx.ID_ANY, style=wx.CHB_TOP) self.last = (-1, None) self.lists = [] # child listboxs self.lookup = {} # name->(tabno,index) self.bad = {} # name is bad self.imgs = wx.ImageList(12, 12, True, 0) # must be in same order as KnownDefs self.imgs.Add(wx.Bitmap("Resources/obj.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/obj.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/fac.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/for.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/lin.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/str.png", wx.BITMAP_TYPE_PNG)) self.imgno_pol = self.imgs.GetImageCount() self.imgs.Add(wx.Bitmap("Resources/pol.png", wx.BITMAP_TYPE_PNG)) self.imgno_ortho = self.imgs.GetImageCount() self.imgs.Add(wx.Bitmap("Resources/ortho.png", wx.BITMAP_TYPE_PNG)) self.imgno_unknown = self.imgs.GetImageCount() self.imgs.Add(wx.Bitmap("Resources/unknown.png", wx.BITMAP_TYPE_PNG)) self.imgno_multiple = self.imgs.GetImageCount() self.imgs.Add(wx.Bitmap("Resources/objs.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/objs.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/facs.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/fors.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/lins.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/strs.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/pols.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/orthos.png", wx.BITMAP_TYPE_PNG)) self.imgs.Add(wx.Bitmap("Resources/unknowns.png", wx.BITMAP_TYPE_PNG)) self.imgno_net = self.imgs.GetImageCount() self.imgs.Add(wx.Bitmap("Resources/net.png", wx.BITMAP_TYPE_PNG)) self.imgno_exc = self.imgs.GetImageCount() self.imgs.Add(wx.Bitmap("Resources/exc.png", wx.BITMAP_TYPE_PNG)) self.imgno_bad = self.imgs.GetImageCount() self.imgs.Add( wx.Bitmap("Resources/bad.png", wx.BITMAP_TYPE_PNG)) # bad assumed below to be last wx.EVT_KEY_DOWN(self, self.palette.OnKeyDown) # does nothing on Windows wx.EVT_SET_FOCUS(self, self.palette.OnSetFocus) if 'GetChoiceCtrl' in dir(self): # not available on wxMac 2.5 ctrl = self.GetChoiceCtrl() if platform == 'win32': pass elif platform == 'darwin': wx.EVT_SET_FOCUS( ctrl, self.palette.OnSetFocus ) # can get focus under Carbon, which looks ugly ctrl.GetContainingSizer().InsertSpacer( 0, 3) # needs extra space under Cocoa ctrl.GetContainingSizer().AddSpacer(3) else: wx.EVT_SET_FOCUS( ctrl, self.palette.OnSetFocus ) # give focus away so cursor keys scroll the canvas
def __init__(self, presenter, mainControl, parent, ID): SearchableScintillaControl.__init__(self, presenter, mainControl, parent, ID) self.fromText = None self.toText = None self.fromVerNo = None self.toVerNo = None # self.presenter = presenter # self.mainControl = mainControl self.procTokens = None # NonTerminalNode with TerminalNode s self.stylebytes = None self.baseDocPage = None res = wx.xrc.XmlResource.Get() self.tabContextMenu = res.LoadMenu("MenuDiffTabPopup") # Self-modify to ansi/unicode version if isUnicode(): self.bytelenSct = bytelenSct_utf8 else: self.bytelenSct = bytelenSct_mbcs config = self.mainControl.getConfig() self.defaultFont = config.get( "main", "font", self.mainControl.presentationExt.faces["mono"]) self.setWrapMode(config.getboolean("main", "wrap_mode")) wx.stc.EVT_STC_STYLENEEDED(self, ID, self.OnStyleNeeded) wx.EVT_KEY_DOWN(self, self.OnKeyDown) wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) wx.EVT_MENU(self, GUI_ID.CMD_CLIPBOARD_COPY, lambda evt: self.Copy()) wx.EVT_MENU(self, GUI_ID.CMD_SELECT_ALL, lambda evt: self.SelectAll()) wx.EVT_MENU(self.tabContextMenu, GUI_ID.CMD_DIFF_SWAP_FROM_TO, self.OnCmdSwapFromTo) wx.EVT_MENU(self, GUI_ID.CMD_ZOOM_IN, lambda evt: self.CmdKeyExecute(wx.stc.STC_CMD_ZOOMIN)) wx.EVT_MENU(self, GUI_ID.CMD_ZOOM_OUT, lambda evt: self.CmdKeyExecute(wx.stc.STC_CMD_ZOOMOUT)) # TODO: Make work # self.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, "face:%(mono)s,size:%(size)d" % # self.presenter.getDefaultFontFaces()) self.StyleSetSpec( wx.stc.STC_STYLE_DEFAULT, "face:%(mono)s,size:%(size)d" % self.mainControl.presentationExt.faces) self.StyleSetSpec( 2, "face:%(mono)s,size:%(size)d" % self.mainControl.presentationExt.faces) self.setStyles()
def __init__(self, parent, id=-1, style=wx.NO_FULL_REPAINT_ON_RESIZE, clearTab=True): STCTextEditor.TextCtrl.__init__(self, parent, id, style) self.UsePopUp(False) self.Bind(wx.EVT_RIGHT_UP, self.OnRightUp) self.SetProperty("fold", "1") # Setup a margin to hold fold markers #self.SetFoldFlags(16) ### WHAT IS THIS VALUE? WHAT ARE THE OTHER FLAGS? DOES IT MATTER? self.SetMarginType(2, wx.stc.STC_MARGIN_SYMBOL) self.SetMarginMask(2, wx.stc.STC_MASK_FOLDERS) self.SetMarginSensitive(2, True) self.SetMarginSensitive(1, False) self.SetMarginMask(1, 0x4) self.SetMarginSensitive(0, True) self.SetMarginType(0, wx.stc.STC_MARGIN_SYMBOL) self.SetMarginMask(0, 0x3) self.SetMarginWidth(0, 12) self.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUSCONNECTED, "white", "black") self.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUSCONNECTED, "white", "black") self.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_TCORNER, "white", "black") self.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_LCORNER, "white", "black") self.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_VLINE, "white", "black") self.MarkerDefine(wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS, "white", "black") self.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS, "white", "black") # Define the current line marker self.MarkerDefine(CodeCtrl.CURRENT_LINE_MARKER_NUM, wx.stc.STC_MARK_SHORTARROW, wx.BLACK, (255, 255, 128)) # Define the breakpoint marker self.MarkerDefine(CodeCtrl.BREAKPOINT_MARKER_NUM, wx.stc.STC_MARK_CIRCLE, wx.BLACK, (255, 0, 0)) if _WINDOWS and clearTab: # should test to see if menu item exists, if it does, add this workaround self.CmdKeyClear( wx.stc.STC_KEY_TAB, 0 ) # menu item "Indent Lines" from CodeService.InstallControls() generates another INDENT_LINES_ID event, so we'll explicitly disable the tab processing in the editor wx.stc.EVT_STC_MARGINCLICK(self, self.GetId(), self.OnMarginClick) wx.EVT_KEY_DOWN(self, self.OnKeyPressed) if self.GetMatchingBraces(): wx.stc.EVT_STC_UPDATEUI(self, self.GetId(), self.OnUpdateUI) self.StyleClearAll() self.UpdateStyles()
def __register_interests(self): self.SetModEventMask (wx.stc.STC_MOD_INSERTTEXT | wx.stc.STC_MOD_DELETETEXT | wx.stc.STC_PERFORMED_USER) wx.stc.EVT_STC_MODIFIED (self, self.GetId(), self.__on_STC_modified) wx.EVT_KEY_DOWN (self, self.__on_key_down) wx.EVT_KEY_UP (self, self.__OnKeyUp) wx.EVT_CHAR(self, self.__on_char)
def __init_mixin__(self): """caller must invoke this method to enable keystrokes, or call these handlers if they are overridden.""" wx.EVT_KEY_DOWN(self, self.OnMixinKeypress) wx.grid.EVT_GRID_CELL_CHANGE(self, self.Mixin_OnCellChange) wx.grid.EVT_GRID_EDITOR_SHOWN(self, self.Mixin_OnCellEditor) self._undoStack = [] self._redoStack = [] self._stackPtr = 0
def __init__(self, parent, id, size=wx.DefaultSize): wx.TextCtrl.__init__(self, parent, id, style=wx.TE_RICH2, size=size) wx.EVT_TEXT_ENTER(self, self.GetId(), self.OnEnter) wx.EVT_CHAR(self, self.OnChar) wx.EVT_KEY_DOWN(self, self.OnKeyDown) self.chars = []
def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.CLIP_CHILDREN, introText='someshell', locals={}, InterpClass=None, *args, **kwds): py.shell.Shell.__init__(self, parent, id, pos, size, style, introText, locals, InterpClass, *args, **kwds) wx.EVT_LEFT_DOWN(self, self.OnMouseLeftDown) wx.EVT_LEFT_UP(self, self.OnMouseLeftUp) wx.EVT_KEY_DOWN(self, self.OnKeyUpHndlr)
def __init__(self, parent,data): wx.grid.Grid.__init__(self, parent, 1,style=wx.ALL|wx.EXPAND) self.parent = parent self.Bind(wx.grid.EVT_GRID_LABEL_LEFT_DCLICK, self.OnLabelLeftDClick) self.Bind(wx.grid.EVT_GRID_LABEL_RIGHT_CLICK, self.OnLabelRightClick) wx.EVT_KEY_DOWN(self, self.OnKey)
def _create_editor(self, value, label, settings): sizer = wx.BoxSizer(wx.HORIZONTAL) if self._label: sizer.Add(Label(self, label=self._label, size=(80, -1)), 0, self._sizer_flags_for_label, 5) self._editor = self._get_text_ctrl() self._editor.AppendText(value) sizer.Add(self._editor, 1, self._sizer_flags_for_editor, 3) self._sizer.Add(sizer, 1, wx.EXPAND) wx.EVT_KEY_DOWN(self._editor, self.on_key_down)
def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.CLIP_CHILDREN | wx.SUNKEN_BORDER): """Create Editor instance.""" self.window = EditWindow(self, parent, id, pos, size, style) self.id = self.window.GetId() self.buffer = None # Assign handlers for keyboard events. wx.EVT_CHAR(self.window, self.OnChar) wx.EVT_KEY_DOWN(self.window, self.OnKeyDown)
def __init__(self, parent, mw, id): wx.TreeCtrl.__init__(self, parent, id, style=wx.TR_HAS_BUTTONS) self.parent = parent self.mw = mw self.config = mw.config bmsize = (22, 22) wx.EVT_TREE_SEL_CHANGED(self, id, self.OnItemSelected) self.image_list = wx.ImageList(22, 22) self.img_dir = self.image_list.Add( wx.ArtProvider_GetBitmap(wx.ART_FOLDER, wx.ART_OTHER, bmsize)) art = [ "phonebook", "wallpaper", "ringers", "calendar", "callhistory", "calls", "sms", "message", "memo", "file", "log", "todo", "playlist", "protocol", "console", "phone_root", "phone", "root_image", "media", "image", "video", "camera", "sounds" ] for k in art: s = "self.%s= self.image_list.Add(wx.ArtProvider_GetBitmap(guihelper.ART_SEL_%s,wx.ART_TOOLBAR,bmsize))" % ( k, k.upper()) exec(s) self.SetImageList(self.image_list) if self.config.ReadInt('startwithtoday', 0): self.startuppage = 'Phone' else: self.startuppage = self.config.Read("viewnotebookpage", "") self.startuppage_item = None self.DeleteAllItems() self.active_phone = None self.active_panel = self.root_panel = widgets.RootWidget( self.parent, wx.NewId()) self.root = self.AddPage(None, self.root_panel, "BitPim", self.root_image) self.del_bmp, self.short_help_delete = self.root_panel.GetDeleteInfo() self.add_bmp, self.short_help_add = self.root_panel.GetAddInfo() self.lw = None self.lwdata = None self.filesystemwidget = None wx.EVT_RIGHT_UP(self, self.OnRightUp) wx.EVT_KEY_DOWN(self, self.OnKeyDown) wx.EVT_KEY_UP(self, self.OnKeyUp) # add shared tabs self.lw = guiwidgets.LogWindow(self.parent) self.lw_id = self.AddPage(self.root, self.lw, "Log", self.log) # Final widgets that depend on config lv = self.config.ReadInt("viewlogdata", 0) if lv: self.OnViewLogData(None) fv = self.config.ReadInt("viewfilesystem", 0) if fv: self.OnViewFilesystem(None) wx.Yield()
def __init__(self, parent, model): """ Constructor. """ # Base class constructor. wxGrid.__init__(self, parent, -1) # The model that provides the data and row/column information. self.model = None # Automatically size columns and rows to fit their content. # # fixme: wx seems sensitive to the location of these two lines. Put # them *before* the call to 'SetTable', otherwise the grid takes # forever to initialize! ##self.AutoSizeColumns() ##self.AutoSizeRows() # Don't display any extra space around the rows and columns. self.SetMargins(0, 0) # Tell the grid to get its data from the model. # # N.B The terminology used in the wxPython API is a little confusing! # --- The 'SetTable' method is actually setting the model used by # the grid (which is the view)! # # The second parameter to 'SetTable' tells the grid to take ownership # of the model and to destroy it when it is done. Otherwise you would # need to keep a reference to the model and manually destroy it later # (by calling it's Destroy method). # # fixme: We should create a default model if one is not supplied. self.SetTable(model._grid_table_base, True) model.on_trait_change(self._on_model_changed, 'model_changed') wx.grid.EVT_GRID_CELL_CHANGE(self, self._on_cell_change) wx.grid.EVT_GRID_SELECT_CELL(self, self._on_select_cell) # This starts the cell editor on a double-click as well as on a second # click. wx.grid.EVT_GRID_CELL_LEFT_DCLICK(self, self._on_cell_left_dclick) # This pops up a context menu. #wx.grid.EVT_GRID_CELL_RIGHT_CLICK(self, self._on_cell_right_click) # We handle key presses to change the behavior of the <Enter> and # <Tab> keys to make manual data entry smoother. wx.EVT_KEY_DOWN(self, self._on_key_down) # Initialize the row and column models. self._initialize_rows(model) self._initialize_columns(model) self._initialize_fonts() return
def init_keys(self, parent=None): """ Sets events and variables for parent. If no parent is defined then self is assumed to be parent. """ if parent == None: parent = self self.key_pressed = '' # string code of currently pressed key wx.EVT_ENTER_WINDOW(self, self.on_enter_window) wx.EVT_KEY_DOWN(self, self.on_key_down) wx.EVT_KEY_UP(self, self.on_key_up)
def __init__(self, nz, title=''): import wx zslider.ZSlider.__init__(self, nz, title) self.z = 0 self.zmax = nz if type(self.doOnZchange) == list: self.Prii = 'new' else: self.Prii = 'old' wx.EVT_KEY_DOWN(self, self.OnKeys) wx.EVT_CLOSE(self, self.OnCloseWindow)
def __init__(self, parent, id, data, limit_lower, limit_upper, log=False, size=(200, 100), pos=(0, 0), threshMode=False): wx.Panel.__init__(self, parent, id, size=size, pos=pos, style=wx.BORDER_SUNKEN) self.data = data.ravel() self.dragging = None self.binSize = None dSort = numpy.argsort(data) self.upper_pctile = float(data[dSort[len(data) * .99]]) self.lower_pctile = float(data[dSort[len(data) * .01]]) self.dmin = data[dSort[0]] self.dmax = data[dSort[-1]] self.limit_lower = float(limit_lower) self.limit_upper = float(limit_upper) self.textSize = 10 self.log = log self.threshMode = threshMode if self.threshMode: #thresh = 0.5*(self.limit_lower + self.limit_upper) thresh = 0.5 * (self.lower_pctile + self.upper_pctile) self.limit_lower = thresh self.limit_upper = thresh self.GenHist() wx.EVT_PAINT(self, self.OnPaint) wx.EVT_SIZE(self, self.OnSize) wx.EVT_LEFT_DOWN(self, self.OnLeftDown) wx.EVT_LEFT_UP(self, self.OnLeftUp) wx.EVT_MOTION(self, self.OnMouseMove) wx.EVT_KEY_DOWN(self, self.OnKeyPress)
def __init__(self, parent, id, txtCtrl, rect, font, mainControl, searchInit=None): # Frame title is invisible but is helpful for workarounds with # third-party tools wx.Frame.__init__(self, parent, id, u"WikidPad i-search", rect.GetPosition(), rect.GetSize(), wx.NO_BORDER | wx.FRAME_FLOAT_ON_PARENT) self.txtCtrl = txtCtrl self.mainControl = mainControl self.tfInput = wx.TextCtrl( self, GUI_ID.INC_SEARCH_TEXT_FIELD, _(u"Incremental search (ENTER/ESC to finish)"), style=wx.TE_PROCESS_ENTER | wx.TE_RICH) self.tfInput.SetFont(font) self.tfInput.SetBackgroundColour(IncrementalSearchDialog.COLOR_YELLOW) mainsizer = wx.BoxSizer(wx.HORIZONTAL) mainsizer.Add(self.tfInput, 1, wx.ALL | wx.EXPAND, 0) self.SetSizer(mainsizer) self.Layout() self.tfInput.SelectAll() #added for Mac compatibility self.tfInput.SetFocus() config = self.mainControl.getConfig() self.closeDelay = 1000 * config.getint( "main", "incSearch_autoOffDelay", 0) # Milliseconds to close or 0 to deactivate wx.EVT_TEXT(self, GUI_ID.INC_SEARCH_TEXT_FIELD, self.OnText) wx.EVT_KEY_DOWN(self.tfInput, self.OnKeyDownInput) wx.EVT_KILL_FOCUS(self.tfInput, self.OnKillFocus) wx.EVT_TIMER(self, GUI_ID.TIMER_INC_SEARCH_CLOSE, self.OnTimerIncSearchClose) wx.EVT_MOUSE_EVENTS(self.tfInput, self.OnMouseAnyInput) if searchInit: self.tfInput.SetValue(searchInit) self.tfInput.SetSelection(-1, -1) if self.closeDelay: self.closeTimer = wx.Timer(self, GUI_ID.TIMER_INC_SEARCH_CLOSE) self.closeTimer.Start(self.closeDelay, True)