Skip to content

Commit e753fd8

Browse files
authored
Merge branch 'next' into next
2 parents 32411b5 + b64572d commit e753fd8

File tree

74 files changed

+1891
-1423
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+1891
-1423
lines changed

RetailCoder.VBE/Inspections/QuickFixes/RemoveUnusedParameterQuickFix.cs

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

@@ -27,7 +27,7 @@ public RemoveUnusedParameterQuickFix(ParserRuleContext context, QualifiedSelecti
2727

2828
public override void Fix()
2929
{
30-
using (var dialog = new RemoveParametersDialog())
30+
using (var dialog = new RemoveParametersDialog(new RemoveParametersViewModel(_state)))
3131
{
3232
var refactoring = new RemoveParametersRefactoring(_vbe,
3333
new RemoveParametersPresenterFactory(_vbe, dialog, _state, _messageBox));

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/Inspections/QuickFixes/WriteOnlyPropertyQuickFix.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public WriteOnlyPropertyQuickFix(ParserRuleContext context, Declaration target)
2020

2121
public override void Fix()
2222
{
23-
var parameters = ((IDeclarationWithParameter) _target).Parameters.Cast<ParameterDeclaration>().ToList();
23+
var parameters = ((IParameterizedDeclaration) _target).Parameters.Cast<ParameterDeclaration>().ToList();
2424

2525
var signatureParams = parameters.Except(new[] {parameters.Last()}).Select(GetParamText);
2626
var propertyGet = "Public Property Get " + _target.IdentifierName + "(" + string.Join(", ", signatureParams) +

RetailCoder.VBE/Refactorings/ExtractInterface/InterfaceMember.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public InterfaceMember(Declaration member, IEnumerable<Declaration> declarations
4646

4747
GetMethodType();
4848

49-
var memberWithParams = member as IDeclarationWithParameter;
49+
var memberWithParams = member as IParameterizedDeclaration;
5050
if (memberWithParams != null)
5151
{
5252
MemberParams = memberWithParams.Parameters

RetailCoder.VBE/Refactorings/RemoveParameters/IRemoveParametersDialog.cs

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

RetailCoder.VBE/Refactorings/RemoveParameters/Parameter.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,28 @@
11
using Rubberduck.Parsing.Symbols;
22
using Rubberduck.Parsing.VBA;
3+
using Rubberduck.UI;
34

45
namespace Rubberduck.Refactorings.RemoveParameters
56
{
67
/// <summary>
78
/// Contains data about a method parameter for the Remove Parameters refactoring.
89
/// </summary>
9-
public class Parameter
10+
public class Parameter : ViewModelBase
1011
{
1112
public Declaration Declaration { get; private set; }
1213
public string Name { get; private set; }
1314
public int Index { get; private set; }
14-
public bool IsRemoved { get; set; }
15+
16+
private bool _isRemoved;
17+
public bool IsRemoved
18+
{
19+
get { return _isRemoved; }
20+
set
21+
{
22+
_isRemoved = value;
23+
OnPropertyChanged();
24+
}
25+
}
1526

1627
public Parameter(Declaration declaration, int index, bool isRemoved = false)
1728
{

RetailCoder.VBE/Refactorings/RemoveParameters/RemoveParametersModel.cs

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,8 @@ namespace Rubberduck.Refactorings.RemoveParameters
1111
{
1212
public class RemoveParametersModel
1313
{
14-
private readonly RubberduckParserState _state;
15-
public RubberduckParserState State { get { return _state; } }
16-
17-
private readonly IList<Declaration> _declarations;
18-
public IEnumerable<Declaration> Declarations { get { return _declarations; } }
14+
public RubberduckParserState State { get; }
15+
public IEnumerable<Declaration> Declarations { get; }
1916

2017
public Declaration TargetDeclaration { get; private set; }
2118
public List<Parameter> Parameters { get; set; }
@@ -24,13 +21,11 @@ public class RemoveParametersModel
2421

2522
public RemoveParametersModel(RubberduckParserState state, QualifiedSelection selection, IMessageBox messageBox)
2623
{
27-
_state = state;
28-
_declarations = state.AllDeclarations.ToList();
24+
State = state;
25+
Declarations = state.AllDeclarations.ToList();
2926
_messageBox = messageBox;
3027

3128
AcquireTarget(selection);
32-
33-
Parameters = new List<Parameter>();
3429
LoadParameters();
3530
}
3631

@@ -45,11 +40,8 @@ private void AcquireTarget(QualifiedSelection selection)
4540
private void LoadParameters()
4641
{
4742
if (TargetDeclaration == null) { return; }
48-
49-
Parameters.Clear();
50-
51-
var index = 0;
52-
Parameters = GetParameters().Select(arg => new Parameter(arg, index++)).ToList();
43+
44+
Parameters = GetParameters().Select((arg, i) => new Parameter(arg, i)).ToList();
5345

5446
if (TargetDeclaration.DeclarationType == DeclarationType.PropertyLet ||
5547
TargetDeclaration.DeclarationType == DeclarationType.PropertySet)
@@ -60,17 +52,7 @@ private void LoadParameters()
6052

6153
private IEnumerable<Declaration> GetParameters()
6254
{
63-
var targetSelection = new Selection(TargetDeclaration.Context.Start.Line,
64-
TargetDeclaration.Context.Start.Column,
65-
TargetDeclaration.Context.Stop.Line,
66-
TargetDeclaration.Context.Stop.Column);
67-
68-
return Declarations.Where(d => d.DeclarationType == DeclarationType.Parameter
69-
&& d.ComponentName == TargetDeclaration.ComponentName
70-
&& d.ProjectId == TargetDeclaration.ProjectId
71-
&& targetSelection.Contains(d.Selection))
72-
.OrderBy(item => item.Selection.StartLine)
73-
.ThenBy(item => item.Selection.StartColumn);
55+
return ((IParameterizedDeclaration) TargetDeclaration).Parameters;
7456
}
7557

7658
public static readonly DeclarationType[] ValidDeclarationTypes =

RetailCoder.VBE/Refactorings/RemoveParameters/RemoveParametersPresenter.cs

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

45
namespace Rubberduck.Refactorings.RemoveParameters
56
{
@@ -10,11 +11,11 @@ public interface IRemoveParametersPresenter
1011

1112
public class RemoveParametersPresenter : IRemoveParametersPresenter
1213
{
13-
private readonly IRemoveParametersDialog _view;
14+
private readonly RemoveParametersDialog _view;
1415
private readonly RemoveParametersModel _model;
1516
private readonly IMessageBox _messageBox;
1617

17-
public RemoveParametersPresenter(IRemoveParametersDialog view, RemoveParametersModel model, IMessageBox messageBox)
18+
public RemoveParametersPresenter(RemoveParametersDialog view, RemoveParametersModel model, IMessageBox messageBox)
1819
{
1920
_view = view;
2021
_model = model;
@@ -41,15 +42,14 @@ public RemoveParametersModel Show()
4142
return _model;
4243
}
4344

44-
_view.Parameters = _model.Parameters;
45-
_view.InitializeParameterGrid();
46-
47-
if (_view.ShowDialog() != DialogResult.OK)
45+
_view.ViewModel.Parameters = _model.Parameters;
46+
_view.ShowDialog();
47+
if (_view.DialogResult != DialogResult.OK)
4848
{
4949
return null;
5050
}
5151

52-
_model.Parameters = _view.Parameters;
52+
_model.Parameters = _view.ViewModel.Parameters;
5353
return _model;
5454
}
5555
}

RetailCoder.VBE/Refactorings/RemoveParameters/RemoveParametersPresenterFactory.cs

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

56
namespace Rubberduck.Refactorings.RemoveParameters
67
{
78
public class RemoveParametersPresenterFactory : IRefactoringPresenterFactory<RemoveParametersPresenter>
89
{
910
private readonly IVBE _vbe;
10-
private readonly IRemoveParametersDialog _view;
11+
private readonly RemoveParametersDialog _view;
1112
private readonly RubberduckParserState _state;
1213
private readonly IMessageBox _messageBox;
1314

14-
public RemoveParametersPresenterFactory(IVBE vbe, IRemoveParametersDialog view,
15+
public RemoveParametersPresenterFactory(IVBE vbe, RemoveParametersDialog view,
1516
RubberduckParserState state, IMessageBox messageBox)
1617
{
1718
_vbe = vbe;

0 commit comments

Comments
 (0)