def OnKeyDown( self, event ): """ キーダウンイベントハンドラ """ from keyMapper import KeyMapper_ListCtrl as KMap # マッピングされた各種コマンドの実行 KMap.execute( event ) # キャンセルキーが押されたときの処理 if KMap.isCancel( event ): if self.getListMode()==ListCtrl.LIST_MODE_FILTERED: # ListModeがFilteredの時にキャンセルキー押されたら通常リストに戻す self.updateFileList() self.setListMode( ListCtrl.LIST_MODE_NORMAL ) # ここでSkipをFalse(ほかにbindされた関数を呼ばない)にしないと # '/'押下でTextCtrlにフォーカスしたときにEVT_TEXTが発生して'/'が入力されてしまう # 理屈がいまいち分からんが、Skip(False)にしたらこれが無くなる。 event.Skip( False )
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()