Skip to content

Commit dbbb414

Browse files
committed
Untracked...
1 parent 6f11c67 commit dbbb414

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using Microsoft.Vbe.Interop;
2+
using Rubberduck.VBEditor;
3+
using Rubberduck.VBEditor.VBEInterfaces.RubberduckCodePane;
4+
using System.Runtime.InteropServices;
5+
using Rubberduck.Parsing.Symbols;
6+
using Rubberduck.Parsing.VBA;
7+
using Rubberduck.Refactorings.Rename;
8+
using Rubberduck.UI.Refactorings;
9+
10+
namespace Rubberduck.UI.Command.Refactorings
11+
{
12+
[ComVisible(false)]
13+
public class CodePaneRefactorRenameCommand : RefactorCommandBase
14+
{
15+
private readonly RubberduckParserState _state;
16+
private readonly ICodePaneWrapperFactory _wrapperWrapperFactory;
17+
18+
public CodePaneRefactorRenameCommand(VBE vbe, RubberduckParserState state, IActiveCodePaneEditor editor, ICodePaneWrapperFactory wrapperWrapperFactory)
19+
: base (vbe, editor)
20+
{
21+
_state = state;
22+
_wrapperWrapperFactory = wrapperWrapperFactory;
23+
}
24+
25+
public override void Execute(object parameter)
26+
{
27+
using (var view = new RenameDialog())
28+
{
29+
var factory = new RenamePresenterFactory(Vbe, view, _state, new MessageBox(), _wrapperWrapperFactory);
30+
var refactoring = new RenameRefactoring(factory, Editor, new MessageBox(), _state);
31+
32+
var target = parameter as Declaration;
33+
34+
if (target == null)
35+
{
36+
refactoring.Refactor();
37+
}
38+
else
39+
{
40+
refactoring.Refactor(target);
41+
}
42+
}
43+
}
44+
}
45+
}

0 commit comments

Comments
 (0)