Skip to content

Commit fb4ae0f

Browse files
committed
Rewire refactoring
1 parent 10ba4fc commit fb4ae0f

File tree

10 files changed

+54
-40
lines changed

10 files changed

+54
-40
lines changed

RetailCoder.VBE/Inspections/QuickFixes/RenameDeclarationQuickFix.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using Rubberduck.Parsing.VBA;
77
using Rubberduck.Refactorings.Rename;
88
using Rubberduck.UI;
9-
using Rubberduck.UI.Refactorings;
109
using Rubberduck.UI.Refactorings.Rename;
1110
using Rubberduck.VBEditor;
1211

@@ -33,12 +32,12 @@ public override void Fix()
3332
{
3433
var vbe = _target.Project.VBE;
3534

36-
using (var view = new RenameDialog(new RenameViewModel(_state, null)))
35+
using (var view = new RenameDialog(new RenameViewModel(_state)))
3736
{
38-
/*var factory = new RenamePresenterFactory(vbe, view, _state, _messageBox);
37+
var factory = new RenamePresenterFactory(vbe, view, _state, _messageBox);
3938
var refactoring = new RenameRefactoring(vbe, factory, _messageBox, _state);
4039
refactoring.Refactor(_target);
41-
IsCancelled = view.DialogResult == DialogResult.Cancel;*/
40+
IsCancelled = view.DialogResult == DialogResult.Cancel;
4241
}
4342
}
4443

RetailCoder.VBE/Inspections/QuickFixes/RenameProjectQuickFix.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using Rubberduck.Parsing.VBA;
77
using Rubberduck.Refactorings.Rename;
88
using Rubberduck.UI;
9-
using Rubberduck.UI.Refactorings;
109
using Rubberduck.UI.Refactorings.Rename;
1110
using Rubberduck.VBEditor;
1211
using MessageBox = Rubberduck.UI.MessageBox;
@@ -32,12 +31,12 @@ public override void Fix()
3231
{
3332
var vbe = _target.Project.VBE;
3433

35-
using (var view = new RenameDialog(new RenameViewModel(_state, null)))
34+
using (var view = new RenameDialog(new RenameViewModel(_state)))
3635
{
37-
/*var factory = new RenamePresenterFactory(vbe, view, _state, new MessageBox());
36+
var factory = new RenamePresenterFactory(vbe, view, _state, new MessageBox());
3837
var refactoring = new RenameRefactoring(vbe, factory, new MessageBox(), _state);
3938
refactoring.Refactor(_target);
40-
IsCancelled = view.DialogResult == DialogResult.Cancel;*/
39+
IsCancelled = view.DialogResult == DialogResult.Cancel;
4140
}
4241
}
4342

RetailCoder.VBE/Refactorings/Rename/RenamePresenter.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Windows.Forms;
22
using Rubberduck.Parsing.Symbols;
3+
using Rubberduck.UI.Refactorings.Rename;
34

45
namespace Rubberduck.Refactorings.Rename
56
{
@@ -11,10 +12,10 @@ public interface IRenamePresenter
1112

1213
public class RenamePresenter : IRenamePresenter
1314
{
14-
private readonly IRenameDialog _view;
15+
private readonly RenameDialog _view;
1516
private readonly RenameModel _model;
1617

17-
public RenamePresenter(IRenameDialog view, RenameModel model)
18+
public RenamePresenter(RenameDialog view, RenameModel model)
1819
{
1920
_view = view;
2021

@@ -25,29 +26,31 @@ public RenameModel Show()
2526
{
2627
if (_model.Target == null) { return null; }
2728

28-
_view.Target = _model.Target;
29+
_view.ViewModel.Target = _model.Target;
2930

30-
if (_view.ShowDialog() != DialogResult.OK)
31+
_view.ShowDialog();
32+
if (_view.DialogResult != DialogResult.OK)
3133
{
3234
return null;
3335
}
3436

35-
_model.NewName = _view.NewName;
37+
_model.NewName = _view.ViewModel.NewName;
3638
return _model;
3739
}
3840

3941
public RenameModel Show(Declaration target)
4042
{
4143
_model.PromptIfTargetImplementsInterface(ref target);
4244
_model.Target = target;
43-
_view.Target = target;
45+
_view.ViewModel.Target = target;
4446

45-
if (_view.ShowDialog() != DialogResult.OK)
47+
_view.ShowDialog();
48+
if (_view.DialogResult != DialogResult.OK)
4649
{
4750
return null;
4851
}
4952

50-
_model.NewName = _view.NewName;
53+
_model.NewName = _view.ViewModel.NewName;
5154
return _model;
5255
}
5356
}

RetailCoder.VBE/Refactorings/Rename/RenamePresenterFactory.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Rubberduck.Parsing.VBA;
22
using Rubberduck.UI;
3+
using Rubberduck.UI.Refactorings.Rename;
34
using Rubberduck.VBEditor;
45
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
56

@@ -8,11 +9,11 @@ namespace Rubberduck.Refactorings.Rename
89
public class RenamePresenterFactory : IRefactoringPresenterFactory<RenamePresenter>
910
{
1011
private readonly IVBE _vbe;
11-
private readonly IRenameDialog _view;
12+
private readonly RenameDialog _view;
1213
private readonly RubberduckParserState _state;
1314
private readonly IMessageBox _messageBox;
1415

15-
public RenamePresenterFactory(IVBE vbe, IRenameDialog view, RubberduckParserState state, IMessageBox messageBox)
16+
public RenamePresenterFactory(IVBE vbe, RenameDialog view, RubberduckParserState state, IMessageBox messageBox)
1617
{
1718
_vbe = vbe;
1819
_view = view;

RetailCoder.VBE/UI/CodeExplorer/Commands/RenameCommand.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ public class RenameCommand : CommandBase, IDisposable
1717
private readonly RenameDialog _view;
1818
private readonly IMessageBox _msgBox;
1919

20-
public RenameCommand(IVBE vbe, RubberduckParserState state, IMessageBox msgBox) : base(LogManager.GetCurrentClassLogger())
20+
public RenameCommand(IVBE vbe, RenameDialog view, RubberduckParserState state, IMessageBox msgBox) : base(LogManager.GetCurrentClassLogger())
2121
{
2222
_vbe = vbe;
2323
_state = state;
24-
//_view = view;
24+
_view = view;
2525
_msgBox = msgBox;
2626
}
2727

@@ -32,10 +32,10 @@ protected override bool CanExecuteImpl(object parameter)
3232

3333
protected override void ExecuteImpl(object parameter)
3434
{
35-
/*var factory = new RenamePresenterFactory(_vbe, _view, _state, _msgBox);
35+
var factory = new RenamePresenterFactory(_vbe, _view, _state, _msgBox);
3636
var refactoring = new RenameRefactoring(_vbe, factory, _msgBox, _state);
3737

38-
refactoring.Refactor(((ICodeExplorerDeclarationViewModel)parameter).Declaration);*/
38+
refactoring.Refactor(((ICodeExplorerDeclarationViewModel)parameter).Declaration);
3939
}
4040

4141
public void Dispose()

RetailCoder.VBE/UI/Command/Refactorings/CodePaneRefactorRenameCommand.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using Rubberduck.Parsing.VBA;
44
using Rubberduck.Refactorings.Rename;
55
using Rubberduck.Settings;
6-
using Rubberduck.UI.Refactorings;
76
using Rubberduck.UI.Refactorings.Rename;
87
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
98

@@ -57,13 +56,12 @@ protected override void ExecuteImpl(object parameter)
5756
return;
5857
}
5958

60-
using (var view = new RenameDialog(new RenameViewModel(_state, target)))
59+
using (var view = new RenameDialog(new RenameViewModel(_state)))
6160
{
62-
/*var factory = new RenamePresenterFactory(Vbe, view, _state, _messageBox);
61+
var factory = new RenamePresenterFactory(Vbe, view, _state, _messageBox);
6362
var refactoring = new RenameRefactoring(Vbe, factory, _messageBox, _state);
6463

65-
refactoring.Refactor(target);*/
66-
view.ShowDialog();
64+
refactoring.Refactor(target);
6765
}
6866
}
6967
}

RetailCoder.VBE/UI/Command/Refactorings/FormDesignerRefactorRenameCommand.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using Rubberduck.Parsing.Symbols;
55
using Rubberduck.Parsing.VBA;
66
using Rubberduck.Refactorings.Rename;
7-
using Rubberduck.UI.Refactorings;
87
using Rubberduck.UI.Refactorings.Rename;
98
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
109

@@ -32,7 +31,7 @@ protected override bool CanExecuteImpl(object parameter)
3231

3332
protected override void ExecuteImpl(object parameter)
3433
{
35-
/*using (var view = new RenameDialog())
34+
using (var view = new RenameDialog(new RenameViewModel(_state)))
3635
{
3736
var factory = new RenamePresenterFactory(Vbe, view, _state, _messageBox);
3837
var refactoring = new RenameRefactoring(Vbe, factory, _messageBox, _state);
@@ -43,7 +42,7 @@ protected override void ExecuteImpl(object parameter)
4342
{
4443
refactoring.Refactor(target);
4544
}
46-
}*/
45+
}
4746
}
4847

4948
private Declaration GetTarget()

RetailCoder.VBE/UI/Command/Refactorings/ProjectExplorerRefactorRenameCommand.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using Rubberduck.Parsing.Symbols;
44
using Rubberduck.Parsing.VBA;
55
using Rubberduck.Refactorings.Rename;
6-
using Rubberduck.UI.Refactorings;
76
using Rubberduck.UI.Refactorings.Rename;
87
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
98

@@ -29,7 +28,7 @@ protected override bool CanExecuteImpl(object parameter)
2928

3029
protected override void ExecuteImpl(object parameter)
3130
{
32-
/*using (var view = new RenameDialog())
31+
using (var view = new RenameDialog(new RenameViewModel(_state)))
3332
{
3433
var factory = new RenamePresenterFactory(Vbe, view, _state, _msgBox);
3534
var refactoring = new RenameRefactoring(Vbe, factory, _msgBox, _state);
@@ -40,7 +39,7 @@ protected override void ExecuteImpl(object parameter)
4039
{
4140
refactoring.Refactor(target);
4241
}
43-
}*/
42+
}
4443
}
4544

4645
private Declaration GetTarget()

RetailCoder.VBE/UI/Refactorings/Rename/RenameView.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
</Grid.RowDefinitions>
1818
<StackPanel Background="White">
1919
<Label Content="{Resx ResxName=Rubberduck.UI.RubberduckUI, Key=RenameDialog_TitleText}" FontWeight="Bold" />
20-
<TextBlock Text="{Binding Instructions, Mode=OneTime}"
20+
<TextBlock Text="{Binding Instructions}"
2121
Margin="5,0" />
2222
</StackPanel>
2323
<Grid Grid.Row="1" Margin="5,10,10,5">

RetailCoder.VBE/UI/Refactorings/Rename/RenameViewModel.cs

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,37 @@ namespace Rubberduck.UI.Refactorings.Rename
1313
public class RenameViewModel : ViewModelBase
1414
{
1515
public RubberduckParserState State { get; }
16-
public Declaration Target { get; }
1716

18-
public RenameViewModel(RubberduckParserState state, Declaration target)
17+
public RenameViewModel(RubberduckParserState state)
1918
{
2019
State = state;
21-
Target = target;
22-
23-
NewName = Target.IdentifierName;
2420

2521
OkButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => DialogOk());
2622
CancelButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => DialogCancel());
2723
}
28-
24+
25+
private Declaration _target;
26+
public Declaration Target
27+
{
28+
get { return _target; }
29+
set
30+
{
31+
_target = value;
32+
NewName = _target.IdentifierName;
33+
34+
OnPropertyChanged(nameof(Instructions));
35+
}
36+
}
37+
2938
public string Instructions
3039
{
3140
get
3241
{
42+
if (Target == null)
43+
{
44+
return string.Empty;
45+
}
46+
3347
var declarationType = RubberduckUI.ResourceManager.GetString("DeclarationType_" + Target.DeclarationType, CultureInfo.CurrentUICulture);
3448
return string.Format(RubberduckUI.RenameDialog_InstructionsLabelText, declarationType, Target.IdentifierName);
3549
}
@@ -51,6 +65,8 @@ public bool IsValidName
5165
{
5266
get
5367
{
68+
if (Target == null) { return false; }
69+
5470
var tokenValues = typeof(Tokens).GetFields().Select(item => item.GetValue(null)).Cast<string>().Select(item => item);
5571

5672
return NewName != Target.IdentifierName &&

0 commit comments

Comments
 (0)