11using  System . Collections . Generic ; 
2+ using  System . Diagnostics ; 
23using  System . Linq ; 
34using  NLog ; 
45using  Rubberduck . Navigation . CodeExplorer ; 
56using  Rubberduck . SourceControl ; 
67using  Rubberduck . UI . Command ; 
78using  Rubberduck . UI . SourceControl ; 
89using  Rubberduck . VBEditor . SafeComWrappers ; 
9- using  Rubberduck . VBEditor . SafeComWrappers . VBA ; 
1010
1111namespace  Rubberduck . UI . CodeExplorer . Commands 
1212{ 
1313    [ CodeExplorerCommand ] 
1414    public  class  UndoCommand  :  CommandBase 
1515    { 
16-         private  readonly  SourceControlDockablePresenter  _presenter ; 
16+         private  readonly  IDockablePresenter  _presenter ; 
1717        private  readonly  IMessageBox  _messageBox ; 
1818
19-         public  UndoCommand ( SourceControlDockablePresenter  presenter ,  IMessageBox  messageBox )  :  base ( LogManager . GetCurrentClassLogger ( ) ) 
19+         public  UndoCommand ( IDockablePresenter  presenter ,  IMessageBox  messageBox )  :  base ( LogManager . GetCurrentClassLogger ( ) ) 
2020        { 
2121            _presenter  =  presenter ; 
2222            _messageBox  =  messageBox ; 
@@ -30,11 +30,8 @@ protected override bool CanExecuteImpl(object parameter)
3030                return  false ; 
3131            } 
3232
33-             var  panel  =  _presenter . Window ( )  as  SourceControlPanel ; 
34-             if  ( panel  ==  null ) 
35-             { 
36-                 return  false ; 
37-             } 
33+             var  panel  =  _presenter . UserControl  as  SourceControlPanel ; 
34+             Debug . Assert ( panel  !=  null ) ; 
3835
3936            var  panelViewModel  =  panel . ViewModel ; 
4037            if  ( panelViewModel  ==  null ) 
@@ -51,11 +48,8 @@ protected override bool CanExecuteImpl(object parameter)
5148
5249        protected  override  void  ExecuteImpl ( object  parameter ) 
5350        { 
54-             var  panel  =  _presenter . Window ( )  as  SourceControlPanel ; 
55-             if  ( panel  ==  null ) 
56-             { 
57-                 return ; 
58-             } 
51+             var  panel  =  _presenter . UserControl  as  SourceControlPanel ; 
52+             Debug . Assert ( panel  !=  null ) ; 
5953
6054            var  panelViewModel  =  panel . ViewModel ; 
6155            if  ( panelViewModel  ==  null ) 
@@ -70,7 +64,7 @@ protected override void ExecuteImpl(object parameter)
7064                return ; 
7165            } 
7266
73-             var  fileName  =  GetFileName ( ( CodeExplorerComponentViewModel )   parameter ) ; 
67+             var  fileName  =  GetFileName ( ( ICodeExplorerDeclarationViewModel ) parameter ) ; 
7468            var  result  =  _messageBox . Show ( string . Format ( RubberduckUI . SourceControl_UndoPrompt ,  fileName ) , 
7569                RubberduckUI . SourceControl_UndoTitle ,  System . Windows . Forms . MessageBoxButtons . OKCancel , 
7670                System . Windows . Forms . MessageBoxIcon . Warning ,  System . Windows . Forms . MessageBoxDefaultButton . Button2 ) ; 
@@ -84,7 +78,7 @@ protected override void ExecuteImpl(object parameter)
8478            _presenter . Show ( ) ; 
8579        } 
8680
87-         private  string  GetFileName ( CodeExplorerComponentViewModel  node ) 
81+         private  string  GetFileName ( ICodeExplorerDeclarationViewModel  node ) 
8882        { 
8983            var  component  =  node . Declaration . QualifiedName . QualifiedModuleName . Component ; 
9084
0 commit comments