示例#1
0
 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)
示例#2
0
    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')
示例#4
0
 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
示例#5
0
    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()
示例#6
0
    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)
示例#7
0
    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)
示例#8
0
    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)
示例#9
0
	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)
示例#10
0
 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))
示例#11
0
	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)
示例#12
0
    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)
示例#14
0
    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)
示例#15
0
    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
示例#16
0
    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()
示例#17
0
    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()
示例#18
0
	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)
示例#19
0
 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 = []
示例#21
0
	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)
示例#22
0
 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)
示例#23
0
 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)
示例#24
0
 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)
示例#25
0
    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()
示例#26
0
    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
示例#27
0
    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)
示例#28
0
        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)
示例#29
0
    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)