def __init__(self, *args, **kwds): kwds["style"] = wx.ICONIZE | wx.CAPTION | wx.MINIMIZE | wx.CLOSE_BOX | wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CLIP_CHILDREN | wx.RESIZE_BORDER wx.Frame.__init__(self, *args, **kwds) self.auiManager = aui.AuiManager() self.auiManager.SetManagedWindow(self) preferences = Preferences() preferences.loadPreferences() self.Bind(wx.EVT_CLOSE, self.OnClose) self.Bind(EVT_REQUEST_FROM_PVS, PVSCommunicator().processEvent) self.Bind(EVT_RESPONSE_FROM_PVS, PVSCommandManager().processResponse) #self.Bind(wx.EVT_IDLE, self.OnIdle) self.auiManager.Bind(aui.EVT_AUI_PANE_CLOSE, self.OnPanelClose) self.statusbar = self.CreateStatusBar(2) self.statusbar.SetStatusWidths([-1, -1]) # Menu Bar self.menubar = MainFrameMenu() self.SetMenuBar(self.menubar) # Menu Bar end self.mainPanel = wx.Panel(self, wx.ID_ANY) notebook = aui.AuiNotebook(self) notebook.SetArtProvider(aui.ChromeTabArt()) RichEditorManager().setNotebook(notebook) self.__do_layout() self.SetTitle(MAINFRAME) pub.sendMessage(PUB_CONSOLEINITIALIZE) pub.subscribe(self.handlePVSModeUpdated, PUB_UPDATEPVSMODE) pub.subscribe(self.handlePVSContextUpdated, PUB_UPDATEPVSCONTEXT) pub.subscribe(self.handleNumberOfOpenFilesChanged, PUB_NUMBEROFOPENFILESCHANGED) pub.subscribe(self.setStatusbarText, PUB_UPDATESTATUSBAR)
def __do_layout(self): cfg = PVSIDEConfiguration() pref = Preferences() self.SetSize(pref.getLastFrameSize()) self.SetMinSize(cfg.ideMinumumSize) # Setting the minimum size of the main frame self.auiManager.AddPane(RichEditorManager().notebook, aui.AuiPaneInfo().CenterPane()) self.auiManager.Update() #self.Layout() self.Centre()
def __do_layout(self): cfg = PVSIDEConfiguration() pref = Preferences() self.SetSize(pref.getLastFrameSize()) self.SetMinSize( cfg.ideMinumumSize) # Setting the minimum size of the main frame self.auiManager.AddPane(RichEditorManager().notebook, aui.AuiPaneInfo().CenterPane()) self.auiManager.Update() #self.Layout() self.Centre()
def prepareRecentContextsSubMenu(self): try: while True: # TODO: Find out if there is a better way to remove all the items from a menu item = self.recentContextsMenu.FindItemByPosition(0) self.recentContextsMenu.RemoveItem(item) except: pass self._recentContexts = {} preferences = Preferences() recentContexts = preferences.getRecentContexts() logging.debug("Recent Contexts: %s", recentContexts) frame = util.getMainFrame() for cxt in recentContexts: item = self.recentContextsMenu.Append(wx.ID_ANY, cxt, EMPTY_STRING, wx.ITEM_NORMAL) self._recentContexts[item.GetId()] = cxt frame.Bind(wx.EVT_MENU, self.onRecentContextSelected, item)
def prepareRecentContextsSubMenu(self): try: while True: #TODO: Find out if there is a better way to remove all the items from a menu item = self.recentContextsMenu.FindItemByPosition(0) self.recentContextsMenu.RemoveItem(item) except: pass self._recentContexts = {} preferences = Preferences() recentContexts = preferences.getRecentContexts() logging.debug("Recent Contexts: %s", recentContexts) frame = util.getMainFrame() for cxt in recentContexts: item = self.recentContextsMenu.Append(wx.ID_ANY, cxt, EMPTY_STRING, wx.ITEM_NORMAL) self._recentContexts[item.GetId()] = cxt frame.Bind(wx.EVT_MENU, self.onRecentContextSelected, item)
def OnClose(self, event): """called when self.Close() is called""" rmgr = RichEditorManager() if rmgr.ensureFilesAreSavedToPoceed(): preferences = Preferences() preferences.setLastFrameSize(self.GetSize()) openFiles = rmgr.getOpenFileNames() preferences.setListOfOpenFiles(openFiles) preferences.savePreferences() try: self.auiManager.UnInit() except: pass PVSCommunicator().shutdown() wx.GetApp().ExitMainLoop()
def __init__(self, *args, **kwds): kwds[ "style"] = wx.ICONIZE | wx.CAPTION | wx.MINIMIZE | wx.CLOSE_BOX | wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CLIP_CHILDREN | wx.RESIZE_BORDER wx.Frame.__init__(self, *args, **kwds) self.auiManager = aui.AuiManager() self.auiManager.SetManagedWindow(self) preferences = Preferences() preferences.loadPreferences() self.Bind(wx.EVT_CLOSE, self.OnClose) self.Bind(EVT_REQUEST_FROM_PVS, PVSCommunicator().processEvent) self.Bind(EVT_RESPONSE_FROM_PVS, PVSCommandManager().processResponse) #self.Bind(wx.EVT_IDLE, self.OnIdle) self.auiManager.Bind(aui.EVT_AUI_PANE_CLOSE, self.OnPanelClose) self.statusbar = self.CreateStatusBar(2) self.statusbar.SetStatusWidths([-1, -1]) # Menu Bar self.menubar = MainFrameMenu() self.SetMenuBar(self.menubar) # Menu Bar end self.mainPanel = wx.Panel(self, wx.ID_ANY) notebook = aui.AuiNotebook(self) notebook.SetArtProvider(aui.ChromeTabArt()) RichEditorManager().setNotebook(notebook) self.__do_layout() self.SetTitle(MAINFRAME) pub.sendMessage(PUB_CONSOLEINITIALIZE) pub.subscribe(self.handlePVSModeUpdated, PUB_UPDATEPVSMODE) pub.subscribe(self.handlePVSContextUpdated, PUB_UPDATEPVSCONTEXT) pub.subscribe(self.handleNumberOfOpenFilesChanged, PUB_NUMBEROFOPENFILESCHANGED) pub.subscribe(self.setStatusbarText, PUB_UPDATESTATUSBAR)
def onRecentFileSelected(self, event): fullname = self._recentFiles[event.GetId()] pub.sendMessage(PUB_ADDFILE, fullname=fullname) Preferences().removeFromRecentFiles(fullname) self.prepareRecentFilesSubMenu()
def restoreOpenFiles(self): """Load .pvseditor and open all the files that were open last time""" preferences = Preferences() fullnames = preferences.listOfOpenFiles() self.openFiles(fullnames) self.handleNumberOfOpenFilesChanged()
def handlePVSContextUpdated(self): self.setStatusbarText( "PVS Context: " + Preferences().getRecentContexts()[0], 1)