Ejemplo n.º 1
0
    def OnKeyDown( self, event ):
        """ キーダウンイベントハンドラ
        """
        kr = KeyReader( event )
        from keyMapper import KeyMapper_TextCtrl as KMap
        if KMap.isCancel( event ) or KMap.isDecide( event ):
            # ESC押されたらListCtrlにフォーカスを戻す
            self.getFrame().setFocusedPane( self.getFrame().getFocusedPane() )
        else:
            if self.mode==TextCtrl.MODE_SEARCH:
                # インクリメンタルサーチ結果を更新する
                self.EmulateKeyPress( event )
                if len( self.GetLineText(0) ):
                    self.getFrame().getFocusedListCtrl().updateIncSearch( self.GetLineText(0) )
                return
            elif self.mode==TextCtrl.MODE_GREP:
                if KMap.isDecide( event ):
                    # grepを行う
                    curDir = self.getFrame().getFocusedListCtrl().getCurDir()
                    # まず処理するファイル総数を計測
                    totalFileCount = 0
                    for path,dirs,files in os.walk( curDir ):
                        for f in files:
                            totalFileCount += 1

                    # プログレスダイアログを生成
                    pd = wx.ProgressDialog(
                            title="--- GREP ---",
                            message="This is a Grep!",
                            maximum=totalFileCount,
                            parent=self.getFrame(),
                            style=wx.PD_AUTO_HIDE|wx.PD_APP_MODAL|wx.PD_SMOOTH|wx.PD_ESTIMATED_TIME
                            )
                    pd.ShowModal()

                    """ このあたり作りかけ。Grepよりほかの実装項目を優先
                    """
                    # ファイル舞にGrep処理
                    procedFileCount = 0
                    for path,dirs,files in os.walk( curDir ):
                        for f in files:
                            print os.path.join( path, f )
                            procedFileCount += 1
                            pd.Update( procedFileCount )

                    pd.Update( totalFileCount )
                    pd.Destroy()
        event.Skip()
Ejemplo n.º 2
0
    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()