/// <summary> /// Create an ExtractMethodRequestView with default values. /// </summary> public ExtractMethodRequestView(IServiceProvider serviceProvider, ExtractedMethodCreator previewer) { _previewer = previewer; _serviceProvider = serviceProvider; var extraction = _previewer.LastExtraction; AP.ScopeInfo lastClass = null; for (int i = extraction.scopes.Length - 1; i >= 0; i--) { if (extraction.scopes[i].type == "class") { lastClass = extraction.scopes[i]; break; } } var targetScopes = new List <ScopeWrapper>(); foreach (var scope in extraction.scopes) { if (!(scope.type == "class") || scope == lastClass) { var wrapper = new ScopeWrapper(scope); if (scope == lastClass) { _defaultScope = wrapper; } targetScopes.Add(wrapper); } } _targetScopes = new ReadOnlyCollection <ScopeWrapper>(targetScopes); if (_defaultScope == null && _targetScopes.Any()) { _defaultScope = _targetScopes[0]; } _previewFontFamily = new FontFamily(GetTextEditorFont()); PropertyChanged += ExtractMethodRequestView_PropertyChanged; // Access properties rather than underlying variables to ensure dependent properties // are also updated. Name = _defaultName; TargetScope = _defaultScope; }
public ScopeWrapper(AP.ScopeInfo scope) { Scope = scope; }