Skip to content

Commit b64572d

Browse files
authored
Merge pull request #2841 from Hosch250/RenameDialog
Replace rename dialog
2 parents a42d6e1 + 5f6fe24 commit b64572d

21 files changed

+311
-408
lines changed

RetailCoder.VBE/Inspections/QuickFixes/RenameDeclarationQuickFix.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
using Rubberduck.Parsing.VBA;
77
using Rubberduck.Refactorings.Rename;
88
using Rubberduck.UI;
9-
using Rubberduck.UI.Refactorings;
9+
using Rubberduck.UI.Refactorings.Rename;
1010
using Rubberduck.VBEditor;
1111

1212
namespace Rubberduck.Inspections.QuickFixes
@@ -32,7 +32,7 @@ public override void Fix()
3232
{
3333
var vbe = _target.Project.VBE;
3434

35-
using (var view = new RenameDialog())
35+
using (var view = new RenameDialog(new RenameViewModel(_state)))
3636
{
3737
var factory = new RenamePresenterFactory(vbe, view, _state, _messageBox);
3838
var refactoring = new RenameRefactoring(vbe, factory, _messageBox, _state);

RetailCoder.VBE/Inspections/QuickFixes/RenameProjectQuickFix.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
using Rubberduck.Parsing.VBA;
77
using Rubberduck.Refactorings.Rename;
88
using Rubberduck.UI;
9-
using Rubberduck.UI.Refactorings;
9+
using Rubberduck.UI.Refactorings.Rename;
1010
using Rubberduck.VBEditor;
1111
using MessageBox = Rubberduck.UI.MessageBox;
1212

@@ -31,7 +31,7 @@ public override void Fix()
3131
{
3232
var vbe = _target.Project.VBE;
3333

34-
using (var view = new RenameDialog())
34+
using (var view = new RenameDialog(new RenameViewModel(_state)))
3535
{
3636
var factory = new RenamePresenterFactory(vbe, view, _state, new MessageBox());
3737
var refactoring = new RenameRefactoring(vbe, factory, new MessageBox(), _state);

RetailCoder.VBE/Refactorings/Rename/IRenameDialog.cs

Lines changed: 0 additions & 11 deletions
This file was deleted.

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/Rubberduck.csproj

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,10 @@
484484
<DependentUpon>RemoveParametersView.xaml</DependentUpon>
485485
</Compile>
486486
<Compile Include="UI\Refactorings\RemoveParameters\RemoveParametersViewModel.cs" />
487+
<Compile Include="UI\Refactorings\Rename\RenameViewModel.cs" />
488+
<Compile Include="UI\Refactorings\Rename\RenameView.xaml.cs">
489+
<DependentUpon>RenameView.xaml</DependentUpon>
490+
</Compile>
487491
<Compile Include="UI\Refactorings\ReorderParameters\DragAdorner.cs" />
488492
<Compile Include="UI\Refactorings\ReorderParameters\IndexIsNotLastConverter.cs" />
489493
<Compile Include="UI\Refactorings\ReorderParameters\IndexIsNotZeroConverter.cs" />
@@ -918,11 +922,10 @@
918922
<Compile Include="UI\FileBrowserDialogFactory.cs" />
919923
<Compile Include="UI\SourceControl\IControlView.cs" />
920924
<Compile Include="UI\SourceControl\IControlViewModel.cs" />
921-
<Compile Include="Refactorings\Rename\IRenameDialog.cs" />
922-
<Compile Include="UI\Refactorings\RenameDialog.cs">
925+
<Compile Include="UI\Refactorings\Rename\RenameDialog.cs">
923926
<SubType>Form</SubType>
924927
</Compile>
925-
<Compile Include="UI\Refactorings\RenameDialog.Designer.cs">
928+
<Compile Include="UI\Refactorings\Rename\RenameDialog.Designer.cs">
926929
<DependentUpon>RenameDialog.cs</DependentUpon>
927930
</Compile>
928931
<Compile Include="Refactorings\Rename\RenamePresenter.cs" />
@@ -1125,7 +1128,7 @@
11251128
<EmbeddedResource Include="UI\Refactorings\RemoveParameters\RemoveParametersDialog.resx">
11261129
<DependentUpon>RemoveParametersDialog.cs</DependentUpon>
11271130
</EmbeddedResource>
1128-
<EmbeddedResource Include="UI\Refactorings\RenameDialog.resx">
1131+
<EmbeddedResource Include="UI\Refactorings\Rename\RenameDialog.resx">
11291132
<DependentUpon>RenameDialog.cs</DependentUpon>
11301133
</EmbeddedResource>
11311134
<EmbeddedResource Include="UI\Refactorings\ReorderParameters\ReorderParametersDialog.resx">
@@ -1489,6 +1492,10 @@
14891492
<Generator>MSBuild:Compile</Generator>
14901493
<SubType>Designer</SubType>
14911494
</Page>
1495+
<Page Include="UI\Refactorings\Rename\RenameView.xaml">
1496+
<SubType>Designer</SubType>
1497+
<Generator>MSBuild:Compile</Generator>
1498+
</Page>
14921499
<Page Include="UI\Refactorings\ReorderParameters\ReorderParametersView.xaml">
14931500
<SubType>Designer</SubType>
14941501
<Generator>MSBuild:Compile</Generator>

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using Rubberduck.Parsing.VBA;
55
using Rubberduck.Refactorings.Rename;
66
using Rubberduck.UI.Command;
7+
using Rubberduck.UI.Refactorings.Rename;
78
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
89

910
namespace Rubberduck.UI.CodeExplorer.Commands
@@ -13,10 +14,10 @@ public class RenameCommand : CommandBase, IDisposable
1314
{
1415
private readonly IVBE _vbe;
1516
private readonly RubberduckParserState _state;
16-
private readonly IRenameDialog _view;
17+
private readonly RenameDialog _view;
1718
private readonly IMessageBox _msgBox;
1819

19-
public RenameCommand(IVBE vbe, RubberduckParserState state, IRenameDialog view, IMessageBox msgBox) : base(LogManager.GetCurrentClassLogger())
20+
public RenameCommand(IVBE vbe, RenameDialog view, RubberduckParserState state, IMessageBox msgBox) : base(LogManager.GetCurrentClassLogger())
2021
{
2122
_vbe = vbe;
2223
_state = state;
@@ -39,10 +40,7 @@ protected override void ExecuteImpl(object parameter)
3940

4041
public void Dispose()
4142
{
42-
if (_view != null)
43-
{
44-
_view.Dispose();
45-
}
43+
_view?.Dispose();
4644
}
4745
}
4846
}

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

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

99
namespace Rubberduck.UI.Command.Refactorings
@@ -56,7 +56,7 @@ protected override void ExecuteImpl(object parameter)
5656
return;
5757
}
5858

59-
using (var view = new RenameDialog())
59+
using (var view = new RenameDialog(new RenameViewModel(_state)))
6060
{
6161
var factory = new RenamePresenterFactory(Vbe, view, _state, _messageBox);
6262
var refactoring = new RenameRefactoring(Vbe, factory, _messageBox, _state);

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

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

1010
namespace Rubberduck.UI.Command.Refactorings
@@ -31,7 +31,7 @@ protected override bool CanExecuteImpl(object parameter)
3131

3232
protected override void ExecuteImpl(object parameter)
3333
{
34-
using (var view = new RenameDialog())
34+
using (var view = new RenameDialog(new RenameViewModel(_state)))
3535
{
3636
var factory = new RenamePresenterFactory(Vbe, view, _state, _messageBox);
3737
var refactoring = new RenameRefactoring(Vbe, factory, _messageBox, _state);

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

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

99
namespace Rubberduck.UI.Command.Refactorings
@@ -28,7 +28,7 @@ protected override bool CanExecuteImpl(object parameter)
2828

2929
protected override void ExecuteImpl(object parameter)
3030
{
31-
using (var view = new RenameDialog())
31+
using (var view = new RenameDialog(new RenameViewModel(_state)))
3232
{
3333
var factory = new RenamePresenterFactory(Vbe, view, _state, _msgBox);
3434
var refactoring = new RenameRefactoring(Vbe, factory, _msgBox, _state);

RetailCoder.VBE/UI/Refactorings/Rename/RenameDialog.Designer.cs

Lines changed: 73 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
using System.Windows.Forms;
2+
3+
namespace Rubberduck.UI.Refactorings.Rename
4+
{
5+
public partial class RenameDialog : Form
6+
{
7+
public RenameViewModel ViewModel { get; }
8+
9+
private RenameDialog()
10+
{
11+
InitializeComponent();
12+
Text = RubberduckUI.RenameDialog_Caption;
13+
}
14+
15+
public RenameDialog(RenameViewModel vm) : this()
16+
{
17+
ViewModel = vm;
18+
RenameViewElement.DataContext = vm;
19+
vm.OnWindowClosed += ViewModel_OnWindowClosed;
20+
}
21+
22+
void ViewModel_OnWindowClosed(object sender, DialogResult result)
23+
{
24+
DialogResult = result;
25+
Close();
26+
}
27+
}
28+
}

0 commit comments

Comments
 (0)