示例#1
0
    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)
示例#2
0
    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
示例#3
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
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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)
示例#7
0
    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
示例#8
0
    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()
示例#9
0
 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
示例#10
0
    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, ))
示例#11
0
    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)
示例#12
0
    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)
示例#13
0
    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)
示例#14
0
    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)
示例#15
0
    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)
示例#16
0
    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)
示例#17
0
    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)
示例#18
0
    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)
示例#19
0
    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)
示例#20
0
        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)
示例#22
0
    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)
示例#23
0
    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)
示例#24
0
    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)
示例#26
0
'''
示例#27
0
    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)
示例#28
0
    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)
示例#29
0
    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
示例#30
0
    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)