Skip to content

Commit f278248

Browse files
committed
More stuff
1 parent 1991689 commit f278248

File tree

7 files changed

+90
-195
lines changed

7 files changed

+90
-195
lines changed

RetailCoder.VBE/Refactorings/RemoveParameters/IRemoveParametersDialog.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ namespace Rubberduck.Refactorings.RemoveParameters
55
{
66
public interface IRemoveParametersDialog : IDialogView
77
{
8-
List<Parameter> Parameters { get; set; }
9-
void InitializeParameterGrid();
8+
List<Parameter> Parameters { get; }
109
}
1110
}

RetailCoder.VBE/Refactorings/RemoveParameters/RemoveParametersModel.cs

Lines changed: 6 additions & 14 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)

RetailCoder.VBE/Refactorings/RemoveParameters/RemoveParametersPresenter.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,6 @@ public RemoveParametersModel Show()
4141
return _model;
4242
}
4343

44-
_view.Parameters = _model.Parameters;
45-
_view.InitializeParameterGrid();
46-
4744
if (_view.ShowDialog() != DialogResult.OK)
4845
{
4946
return null;

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
using System.Collections.Generic;
12
using System.Linq;
23
using System.Runtime.InteropServices;
34
using Rubberduck.Common;
45
using Rubberduck.Parsing.Symbols;
56
using Rubberduck.Parsing.VBA;
67
using Rubberduck.Refactorings.RemoveParameters;
78
using Rubberduck.UI.Refactorings;
9+
using Rubberduck.UI.Refactorings.RemoveParameters;
810
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
911

1012
namespace Rubberduck.UI.Command.Refactorings
@@ -63,7 +65,8 @@ protected override void ExecuteImpl(object parameter)
6365
}
6466
6567
var selection = pane.GetQualifiedSelection();*/
66-
using (var view = new RemoveParametersDialog())
68+
var parameters = _state.AllUserDeclarations.Where(s => s.DeclarationType == DeclarationType.Parameter).Select((s, i) => new Parameter(s, i)).ToList();
69+
using (var view = new RemoveParametersDialog(new RemoveParametersViewModel(parameters)))
6770
{
6871
//var factory = new RemoveParametersPresenterFactory(Vbe, view, _state, _msgbox);
6972
//var refactoring = new RemoveParametersRefactoring(Vbe, factory);

RetailCoder.VBE/UI/Refactorings/RemoveParameters/RemoveParametersDialog.Designer.cs

Lines changed: 14 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 16 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -1,133 +1,28 @@
11
using System;
2-
using System.Collections.Generic;
3-
using System.Drawing;
4-
using System.Linq;
52
using System.Windows.Forms;
6-
using Rubberduck.Refactorings.RemoveParameters;
73

8-
namespace Rubberduck.UI.Refactorings
4+
namespace Rubberduck.UI.Refactorings.RemoveParameters
95
{
10-
public partial class RemoveParametersDialog : Form//, IRemoveParametersDialog
6+
public partial class RemoveParametersDialog : Form
117
{
12-
public RemoveParametersDialog()
8+
public RemoveParametersViewModel ViewModel { get; }
9+
10+
private RemoveParametersDialog()
1311
{
1412
InitializeComponent();
13+
Text = RubberduckUI.RemoveParamsDialog_Caption;
1514
}
1615

17-
//public List<Parameter> Parameters { get; set; }
18-
//private Parameter _selectedItem;
19-
20-
//public RemoveParametersDialog()
21-
//{
22-
// InitializeComponent();
23-
// InitializeCaptions();
24-
25-
// MethodParametersGrid.SelectionChanged += MethodParametersGrid_SelectionChanged;
26-
// MethodParametersGrid.CellMouseDoubleClick += MethodParametersGrid_CellMouseDoubleClick;
27-
//}
28-
29-
//private void InitializeCaptions()
30-
//{
31-
// OkButton.Text = RubberduckUI.OK;
32-
// CancelDialogButton.Text = RubberduckUI.CancelButtonText;
33-
// Text = RubberduckUI.RemoveParamsDialog_Caption;
34-
// TitleLabel.Text = RubberduckUI.RemoveParamsDialog_TitleText;
35-
// InstructionsLabel.Text = RubberduckUI.RemoveParamsDialog_InstructionsLabelText;
36-
// RemoveButton.Text = RubberduckUI.Remove;
37-
// RestoreButton.Text = RubberduckUI.Restore;
38-
//}
39-
40-
//private void MethodParametersGrid_SelectionChanged(object sender, EventArgs e)
41-
//{
42-
// SelectionChanged();
43-
//}
44-
45-
//public void InitializeParameterGrid()
46-
//{
47-
// MethodParametersGrid.AutoGenerateColumns = false;
48-
// MethodParametersGrid.Columns.Clear();
49-
// MethodParametersGrid.DataSource = Parameters;
50-
// MethodParametersGrid.AlternatingRowsDefaultCellStyle.BackColor = Color.Lavender;
51-
// MethodParametersGrid.MultiSelect = false;
52-
// MethodParametersGrid.AllowUserToResizeRows = false;
53-
// MethodParametersGrid.AllowDrop = true;
54-
// MethodParametersGrid.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
55-
56-
// var column = new DataGridViewTextBoxColumn
57-
// {
58-
// Name = "Parameter",
59-
// DataPropertyName = "Name",
60-
// HeaderText = RubberduckUI.Parameter,
61-
// ReadOnly = true,
62-
// AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
63-
// };
64-
65-
// MethodParametersGrid.Columns.Add(column);
66-
//}
67-
68-
//private void MarkAsRemovedParam()
69-
//{
70-
// if (_selectedItem != null)
71-
// {
72-
// var indexOfRemoved = Parameters.FindIndex(item => item == _selectedItem);
73-
74-
// Parameters.ElementAt(indexOfRemoved).IsRemoved = true;
75-
// MethodParametersGrid.Rows[indexOfRemoved].DefaultCellStyle.Font = new Font(Font, FontStyle.Strikeout);
76-
77-
// SelectionChanged();
78-
// }
79-
//}
80-
81-
//private void MarkAsRestoredParam() // really just un-mark as removed, but [tag:naming-is-hard]
82-
//{
83-
// if (_selectedItem != null)
84-
// {
85-
// var indexOfRemoved = Parameters.FindIndex(item => item == _selectedItem);
86-
87-
// Parameters.ElementAt(indexOfRemoved).IsRemoved = false;
88-
// MethodParametersGrid.Rows[indexOfRemoved].DefaultCellStyle.Font = new Font(Font, FontStyle.Regular);
89-
90-
// SelectionChanged();
91-
// }
92-
//}
93-
94-
//private void RemoveButtonClicked(object sender, EventArgs e)
95-
//{
96-
// MarkAsRemovedParam();
97-
//}
98-
99-
//private void RestoreButtonClicked(object sender, EventArgs e)
100-
//{
101-
// MarkAsRestoredParam();
102-
//}
103-
104-
//private void MethodParametersGrid_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
105-
//{
106-
// if (_selectedItem == null) { return; }
107-
108-
// if (_selectedItem.IsRemoved)
109-
// {
110-
// MarkAsRestoredParam();
111-
// }
112-
// else
113-
// {
114-
// MarkAsRemovedParam();
115-
// }
116-
//}
117-
118-
//private int GetFirstSelectedRowIndex(int index)
119-
//{
120-
// return MethodParametersGrid.SelectedRows[index].Index;
121-
//}
122-
123-
//private void SelectionChanged()
124-
//{
125-
// _selectedItem = MethodParametersGrid.SelectedRows.Count == 0
126-
// ? null
127-
// : (Parameter)MethodParametersGrid.SelectedRows[0].DataBoundItem;
16+
public RemoveParametersDialog(RemoveParametersViewModel vm) : this()
17+
{
18+
ViewModel = vm;
19+
RemoveParametersViewElement.DataContext = vm;
20+
vm.OnWindowClosed += ViewModel_OnWindowClosed;
21+
}
12822

129-
// RemoveButton.Enabled = _selectedItem != null && !_selectedItem.IsRemoved;
130-
// RestoreButton.Enabled = _selectedItem != null && _selectedItem.IsRemoved;
131-
//}
23+
void ViewModel_OnWindowClosed(object sender, EventArgs e)
24+
{
25+
Close();
26+
}
13227
}
13328
}

0 commit comments

Comments
 (0)