def initGui( self ): # まずファイラー下のTextCtrlと上の縦Splitterを分けるSplitterを作る self.splitTextCtrl = wx.SplitterWindow( self, IdManager.textCtrlSplitter() ) self.splitTextCtrl.SetMinimumPaneSize( 20 ) self.textCtrl = TextCtrl( self.splitTextCtrl, IdManager.textCtrl(), self ) self.textCtrl.SetSize( wx.Size(800,20) ) splitListCtrlParent = self.splitTextCtrl # ListCtrlを分けるSplitterを作る self.splitListCtrl = wx.SplitterWindow( splitListCtrlParent, IdManager.listPanelSplitter() ) self.splitListCtrl.SetMinimumPaneSize( 50 ) paneLeft = self.initGuiPartOfList( self.splitListCtrl, IdManager.listPanel( Def.PANE_KIND_LEFT ), Def.PANE_KIND_LEFT ) paneRight = self.initGuiPartOfList( self.splitListCtrl, IdManager.listPanel( Def.PANE_KIND_RIGHT ), Def.PANE_KIND_RIGHT ) self.splitListCtrl.SplitVertically( paneLeft, paneRight ) # 最初っからリストにフォーカスさせとく self.setFocusedPane( paneLeft ) self.paneDict[ Def.PANE_KIND_LEFT ] = paneLeft self.paneDict[ Def.PANE_KIND_RIGHT ] = paneRight for pane in self.paneDict.values(): pane.getListCtrl().changeDir( os.path.abspath( os.getcwd() ) ) # 上のSplitterと下のTextCtrlをSplitte self.splitTextCtrl.SplitHorizontally( self.splitListCtrl, self.textCtrl ) # Sizerを設定 self.sizer = wx.BoxSizer( wx.VERTICAL ) self.sizer.Add( self.splitTextCtrl, 1, wx.EXPAND ) self.SetSizer( self.sizer ) self.setDefaultSashPosition()
def initGui( self ): vbox = wx.BoxSizer( wx.VERTICAL ) self.staticText = wx.StaticText( self, -1, "Static " + str(self.paneKind) ) vbox.Add( self.staticText, 0, wx.EXPAND, 10 ) self.listCtrl = ListCtrl( self, IdManager.listCtrl( self.paneKind ), self.paneKind, self.frame ) vbox.Add( self.listCtrl, 1, wx.EXPAND ) self.SetSizer( vbox )
def updateFileListBoth( self ): self.updateFileList( Def.PANE_KIND_LEFT ) self.updateFileList( Def.PANE_KIND_RIGHT ) def setDefaultSashPosition( self ): size = self.GetSize() self.splitListCtrl.SetSashPosition( size.x / 2 ) if self.splitTextCtrl: self.splitTextCtrl.SetSashPosition( size.y - 20 ) def OnExit( self, e ): self.Close( True ) def OnSize( self, event ): self.setDefaultSashPosition() event.Skip() app = wx.App( 0 ) vfiler = VFiler( None, IdManager.frame(), "VFiler" ) KeyMapper_ListCtrl.setup( vfiler ) KeyMapper_TextCtrl.setup( vfiler ) app.SetTopWindow( vfiler ) app.MainLoop()