@@ -12,72 +12,10 @@ namespace Rubberduck.UI.Refactorings.EncapsulateField
12
12
{
13
13
public class EncapsulateFieldViewModel : RefactoringViewModelBase < EncapsulateFieldModel >
14
14
{
15
- private class MasterDetailSelectionManager
16
- {
17
- private const string _neverATargetID = "_Never_a_TargetID_" ;
18
- private bool _detailFieldIsFlagged ;
19
-
20
- public MasterDetailSelectionManager ( IEncapsulateFieldCandidate selected )
21
- : this ( selected ? . TargetID )
22
- {
23
- if ( selected != null )
24
- {
25
- DetailField = new ViewableEncapsulatedField ( selected ) ;
26
- }
27
- }
28
-
29
- private MasterDetailSelectionManager ( string targetID )
30
- {
31
- SelectionTargetID = targetID ;
32
- DetailField = null ;
33
- _detailFieldIsFlagged = false ;
34
- }
35
-
36
-
37
- private IEncapsulatedFieldViewData _detailField ;
38
- public IEncapsulatedFieldViewData DetailField
39
- {
40
- set
41
- {
42
- _detailField = value ;
43
- _detailFieldIsFlagged = _detailField ? . EncapsulateFlag ?? false ;
44
- }
45
- get => _detailField ;
46
- }
47
-
48
- private string _selectionTargetID ;
49
- public string SelectionTargetID
50
- {
51
- set => _selectionTargetID = value ;
52
- get => _selectionTargetID ?? _neverATargetID ;
53
- }
54
-
55
- public bool DetailUpdateRequired
56
- {
57
- get
58
- {
59
- if ( DetailField is null )
60
- {
61
- return true ;
62
- }
63
-
64
- if ( _detailFieldIsFlagged != DetailField . EncapsulateFlag )
65
- {
66
- _detailFieldIsFlagged = ! _detailFieldIsFlagged ;
67
- return true ;
68
- }
69
- return SelectionTargetID != DetailField ? . TargetID ;
70
- }
71
- }
72
- }
73
-
74
15
private MasterDetailSelectionManager _masterDetailManager ;
75
- public RubberduckParserState State { get ; }
76
16
77
- public EncapsulateFieldViewModel ( EncapsulateFieldModel model , RubberduckParserState state ) : base ( model )
17
+ public EncapsulateFieldViewModel ( EncapsulateFieldModel model ) : base ( model )
78
18
{
79
- State = state ;
80
-
81
19
SelectAllCommand = new DelegateCommand ( LogManager . GetCurrentClassLogger ( ) , _ => ToggleSelection ( true ) ) ;
82
20
DeselectAllCommand = new DelegateCommand ( LogManager . GetCurrentClassLogger ( ) , _ => ToggleSelection ( false ) ) ;
83
21
@@ -159,18 +97,6 @@ public IObjectStateUDT SelectedObjectStateUDT
159
97
}
160
98
}
161
99
162
- private void SetObjectStateUDT ( )
163
- {
164
- foreach ( var field in UDTFields )
165
- {
166
- field . IsSelected = _selectedObjectStateUDT == field ;
167
- }
168
- OnPropertyChanged ( nameof ( SelectedObjectStateUDT ) ) ;
169
- OnPropertyChanged ( nameof ( EncapsulationFields ) ) ;
170
- OnPropertyChanged ( nameof ( PropertiesPreview ) ) ;
171
- }
172
-
173
-
174
100
public IEncapsulatedFieldViewData SelectedField
175
101
{
176
102
set
@@ -191,25 +117,6 @@ public IEncapsulatedFieldViewData SelectedField
191
117
get => EncapsulationFields . FirstOrDefault ( f => f . TargetID . Equals ( _masterDetailManager . SelectionTargetID ) ) ;
192
118
}
193
119
194
- private void UpdateDetailForSelection ( )
195
- {
196
-
197
- RefreshValidationResults ( ) ;
198
-
199
- OnPropertyChanged ( nameof ( SelectedFieldIsNotFlagged ) ) ;
200
- OnPropertyChanged ( nameof ( GroupBoxHeaderContent ) ) ;
201
- OnPropertyChanged ( nameof ( PropertyName ) ) ;
202
- OnPropertyChanged ( nameof ( IsReadOnly ) ) ;
203
- OnPropertyChanged ( nameof ( HasValidNames ) ) ;
204
- OnPropertyChanged ( nameof ( EnableReadOnlyOption ) ) ;
205
- OnPropertyChanged ( nameof ( SelectedFieldIsPrivateUDT ) ) ;
206
- OnPropertyChanged ( nameof ( SelectedFieldHasEditablePropertyName ) ) ;
207
- OnPropertyChanged ( nameof ( SelectionHasValidEncapsulationAttributes ) ) ;
208
- OnPropertyChanged ( nameof ( PropertiesPreview ) ) ;
209
- OnPropertyChanged ( nameof ( EncapsulationFields ) ) ;
210
- OnPropertyChanged ( nameof ( ValidationErrorMessage ) ) ;
211
- }
212
-
213
120
public string PropertyName
214
121
{
215
122
set
@@ -291,34 +198,31 @@ public bool ConvertFieldsToUDTMembers
291
198
private bool _selectionHasValidEncapsulationAttributes ;
292
199
public bool SelectionHasValidEncapsulationAttributes => _selectionHasValidEncapsulationAttributes ;
293
200
294
- private Dictionary < string , string > _failedValidationResults = new Dictionary < string , string > ( ) ;
295
- private void RefreshValidationResults ( )
296
- {
297
- _failedValidationResults . Clear ( ) ;
298
- _hasValidNames = true ;
299
- _selectionHasValidEncapsulationAttributes = true ;
300
- _validationErrorMessage = string . Empty ;
201
+ public string PropertiesPreview => Model . PreviewRefactoring ( ) ;
301
202
302
- foreach ( var field in EncapsulationFields . Where ( ef => ef . EncapsulateFlag ) )
303
- {
304
- if ( ! field . TryValidateEncapsulationAttributes ( out var errorMessage ) )
305
- {
306
- _failedValidationResults . Add ( field . TargetID , errorMessage ) ;
307
- }
308
- }
203
+ public CommandBase SelectAllCommand { get ; }
309
204
310
- _hasValidNames = ! _failedValidationResults . Any ( ) ;
311
- if ( _failedValidationResults . TryGetValue ( _masterDetailManager . SelectionTargetID , out var errorMsg ) )
205
+ public CommandBase DeselectAllCommand { get ; }
206
+
207
+ public CommandBase IsReadOnlyCommand { get ; }
208
+
209
+ public CommandBase PropertyChangeCommand { get ; }
210
+
211
+ public CommandBase EncapsulateFlagChangeCommand { get ; }
212
+
213
+ public CommandBase ReadOnlyChangeCommand { get ; }
214
+
215
+ private void SetObjectStateUDT ( )
216
+ {
217
+ foreach ( var field in UDTFields )
312
218
{
313
- _validationErrorMessage = errorMsg ;
314
- _selectionHasValidEncapsulationAttributes = false ;
219
+ field . IsSelected = _selectedObjectStateUDT == field ;
315
220
}
221
+ OnPropertyChanged ( nameof ( SelectedObjectStateUDT ) ) ;
222
+ OnPropertyChanged ( nameof ( EncapsulationFields ) ) ;
223
+ OnPropertyChanged ( nameof ( PropertiesPreview ) ) ;
316
224
}
317
225
318
- public string PropertiesPreview => Model . PreviewRefactoring ( ) ;
319
-
320
- public CommandBase SelectAllCommand { get ; }
321
- public CommandBase DeselectAllCommand { get ; }
322
226
private void ToggleSelection ( bool value )
323
227
{
324
228
_lastCheckedBoxes . Clear ( ) ;
@@ -340,11 +244,48 @@ private void ToggleSelection(bool value)
340
244
UpdateDetailForSelection ( ) ;
341
245
}
342
246
343
- public CommandBase IsReadOnlyCommand { get ; }
344
- public CommandBase PropertyChangeCommand { get ; }
247
+ private Dictionary < string , string > _failedValidationResults = new Dictionary < string , string > ( ) ;
248
+ private void RefreshValidationResults ( )
249
+ {
250
+ _failedValidationResults . Clear ( ) ;
251
+ _hasValidNames = true ;
252
+ _selectionHasValidEncapsulationAttributes = true ;
253
+ _validationErrorMessage = string . Empty ;
345
254
346
- public CommandBase EncapsulateFlagChangeCommand { get ; }
347
- public CommandBase ReadOnlyChangeCommand { get ; }
255
+ foreach ( var field in EncapsulationFields . Where ( ef => ef . EncapsulateFlag ) )
256
+ {
257
+ if ( ! field . TryValidateEncapsulationAttributes ( out var errorMessage ) )
258
+ {
259
+ _failedValidationResults . Add ( field . TargetID , errorMessage ) ;
260
+ }
261
+ }
262
+
263
+ _hasValidNames = ! _failedValidationResults . Any ( ) ;
264
+ if ( _failedValidationResults . TryGetValue ( _masterDetailManager . SelectionTargetID , out var errorMsg ) )
265
+ {
266
+ _validationErrorMessage = errorMsg ;
267
+ _selectionHasValidEncapsulationAttributes = false ;
268
+ }
269
+ }
270
+
271
+ private void UpdateDetailForSelection ( )
272
+ {
273
+
274
+ RefreshValidationResults ( ) ;
275
+
276
+ OnPropertyChanged ( nameof ( SelectedFieldIsNotFlagged ) ) ;
277
+ OnPropertyChanged ( nameof ( GroupBoxHeaderContent ) ) ;
278
+ OnPropertyChanged ( nameof ( PropertyName ) ) ;
279
+ OnPropertyChanged ( nameof ( IsReadOnly ) ) ;
280
+ OnPropertyChanged ( nameof ( HasValidNames ) ) ;
281
+ OnPropertyChanged ( nameof ( EnableReadOnlyOption ) ) ;
282
+ OnPropertyChanged ( nameof ( SelectedFieldIsPrivateUDT ) ) ;
283
+ OnPropertyChanged ( nameof ( SelectedFieldHasEditablePropertyName ) ) ;
284
+ OnPropertyChanged ( nameof ( SelectionHasValidEncapsulationAttributes ) ) ;
285
+ OnPropertyChanged ( nameof ( PropertiesPreview ) ) ;
286
+ OnPropertyChanged ( nameof ( EncapsulationFields ) ) ;
287
+ OnPropertyChanged ( nameof ( ValidationErrorMessage ) ) ;
288
+ }
348
289
349
290
private void ChangeIsReadOnlyFlag ( object param )
350
291
{
0 commit comments