def __init__(self): wx.Frame.__init__(self, None, -1, title="mplotlab", size=(1200, 675), style=wx.DEFAULT_FRAME_STYLE | wx.SUNKEN_BORDER | wx.CLIP_CHILDREN) # model container self.__container = Container() # panels self.__graphicBook = GraphicBook(self) self.__configPanel = ConfigPanel(self) self.__treePanel = TreePanel(self, self.__configPanel) self.__shellPanel = ShellPanel(self) # tell FrameManager to manage this frame self._mgr = wx.aui.AuiManager() self._mgr.SetManagedWindow(self) self._perspectives = [] self.n = 0 self.x = 0 # create menu mb = wx.MenuBar() file_menu = wx.Menu() file_menu.Append(ID_LoadXml, "Load Xml") file_menu.Append(ID_SaveXml, "Save Xml") file_menu.Append(wx.ID_EXIT, "Exit") self._perspectives_menu = wx.Menu() self._perspectives_menu.Append(ID_CreatePerspective, "Create Perspective") self._perspectives_menu.AppendSeparator() self._perspectives_menu.Append(ID_FirstPerspective + 0, "Default Startup") help_menu = wx.Menu() help_menu.Append(ID_About, "About...") mb.Append(file_menu, "File") mb.Append(self._perspectives_menu, "Perspectives") mb.Append(help_menu, "Help") self.SetMenuBar(mb) self.statusbar = self.CreateStatusBar(2, wx.ST_SIZEGRIP) self.statusbar.SetStatusWidths([-2, -3]) self.statusbar.SetStatusText("Ready", 0) self.statusbar.SetStatusText("Welcome To mplotlab!", 1) # add a bunch of panes self._mgr.AddPane( self.__configPanel, wx.aui.AuiPaneInfo().Name("configPanel").Caption("configPanelC"). Left().Layer(1).Position(2).CloseButton(True).MaximizeButton(True)) self._mgr.AddPane( self.__shellPanel, wx.aui.AuiPaneInfo().Name("shellPanel").Caption( "shellPanelC").Bottom().Layer(1).Position(1).CloseButton( True).MaximizeButton(True)) self._mgr.AddPane( self.__treePanel, wx.aui.AuiPaneInfo().Caption("treePanel").Caption("treePanelC"). Left().Layer(1).Position(1).CloseButton(True).MaximizeButton(True)) # create some center panes self._mgr.AddPane( self.__graphicBook, wx.aui.AuiPaneInfo().CenterPane().Name("graphicBook").Caption( "graphicBookC").Center().Floatable(True).CloseButton( False).MaximizeButton(True)) # make some default perspectives perspective_default = self._mgr.SavePerspective() self._perspectives.append(perspective_default) # "commit" all changes made to FrameManager self._mgr.Update() self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_SIZE, self.OnSize) self.Bind(wx.EVT_CLOSE, self.OnClose) # menuBar self.Bind(wx.EVT_MENU, self.OnLoadXml, id=ID_LoadXml) self.Bind(wx.EVT_MENU, self.OnSaveXml, id=ID_SaveXml) self.Bind(wx.EVT_MENU, self.OnCreatePerspective, id=ID_CreatePerspective) self.Bind(wx.EVT_MENU, self.OnExit, id=wx.ID_EXIT) self.Bind(wx.EVT_MENU, self.OnAbout, id=ID_About) self.Bind(wx.EVT_MENU_RANGE, self.OnRestorePerspective, id=ID_FirstPerspective, id2=ID_FirstPerspective + 1000)