Exemple #1
0
        private void PrepareView()
        {
            _view.OldMethodName = _model.SourceMember.IdentifierName;
            _view.MethodName    = _model.SourceMember.IdentifierName + "_1";
            _view.Inputs        = _model.Inputs;
            _view.Outputs       = _model.Outputs;
            _view.Locals        =
                _model.Locals.Select(
                    variable =>
                    new ExtractedParameter(variable.AsTypeName, ExtractedParameter.PassedBy.ByVal, variable.IdentifierName))
                .ToList();

            var returnValues = new[] { new ExtractedParameter(string.Empty, ExtractedParameter.PassedBy.ByVal) }
            .Union(_view.Outputs)
            .Union(_view.Inputs)
            .ToList();

            _view.ReturnValues = returnValues;
            _view.ReturnValue  = (_model.Outputs.Any() && !_model.Outputs.Skip(1).Any())
                ? _model.Outputs.Single()
                : returnValues.First();

            _view.RefreshPreview += _view_RefreshPreview;
            _view.OnRefreshPreview();
        }
Exemple #2
0
        public void Show()
        {
            _view.MethodName = "Method1";
            _view.Inputs     = _input.ToList();
            _view.Outputs    = _output.Select(output => new ExtractedParameter(output.Name, output.TypeName, ExtractedParameter.PassedBy.ByRef)).ToList();
            _view.Locals     = _locals.Select(variable => new ExtractedParameter(variable.GetText(), string.Empty, ExtractedParameter.PassedBy.ByVal)).ToList();

            var returnValues = new[] { new ExtractedParameter("(none)", string.Empty, ExtractedParameter.PassedBy.ByVal) }
            .Union(_view.Outputs)
            .Union(_view.Inputs)
            .ToList();

            _view.ReturnValues = returnValues;
            if (_output.Count() == 1)
            {
                _view.ReturnValue = _output.Single();
            }
            else
            {
                _view.ReturnValue = returnValues.First();
            }

            _view.RefreshPreview += _view_RefreshPreview;
            _view.OnRefreshPreview();

            var result = _view.ShowDialog();

            if (result != DialogResult.OK)
            {
                return;
            }

            _vbe.ActiveCodePane.CodeModule.DeleteLines(_selection.Selection.StartLine, _selection.Selection.LineCount - 1);
            _vbe.ActiveCodePane.CodeModule.ReplaceLine(_selection.Selection.StartLine, GetMethodCall());

            var insertionLine = ((ParserRuleContext)_parentMethodTree).GetSelection().EndLine - _selection.Selection.LineCount + 2;

            _vbe.ActiveCodePane.CodeModule.InsertLines(insertionLine, GetExtractedMethod());
        }
Exemple #3
0
        private void PrepareView(IExtractMethodModel extractedMethodModel, IExtractMethodProc extractMethodProc)
        {
            _view.OldMethodName = extractedMethodModel.SourceMember.IdentifierName;
            _view.MethodName    = extractedMethodModel.SourceMember.IdentifierName + "_1";
            _view.Inputs        = extractedMethodModel.Inputs;
            _view.Outputs       = extractedMethodModel.Outputs;
            _view.Locals        =
                extractedMethodModel.Locals.Select(
                    variable =>
                    new ExtractedParameter(variable.AsTypeName, ExtractedParameter.PassedBy.ByVal, variable.IdentifierName))
                .ToList();

            var returnValues = new[] { new ExtractedParameter(string.Empty, ExtractedParameter.PassedBy.ByVal) }
            .Union(_view.Outputs)
            .Union(_view.Inputs)
            .ToList();

            _view.ReturnValues = returnValues;

            _view.RefreshPreview += (object sender, EventArgs e) => { GeneratePreview(extractedMethodModel, extractMethodProc); };

            _view.OnRefreshPreview();
        }