Beispiel #1
0
        public void Refactor()
        {
            _model = InitializeModel();
            if (_model == null)
            {
                return;
            }

            using (var container = DisposalActionContainer.Create(_factory.Create <IEncapsulateFieldPresenter, EncapsulateFieldModel>(_model), p => _factory.Release(p)))
            {
                var presenter = container.Value;
                if (presenter == null)
                {
                    return;
                }

                _model = presenter.Show();
                if (_model == null)
                {
                    return;
                }

                var rewriteSession = _rewritingManager.CheckOutCodePaneSession();
                AddProperty(rewriteSession);
                rewriteSession.TryRewrite();
            }
        }
        public void Refactor()
        {
            _model = InitializeModel();
            if (_model == null)
            {
                return;
            }

            using (var container = DisposalActionContainer.Create(_factory.Create <IReorderParametersPresenter, ReorderParametersModel>(_model), p => _factory.Release(p)))
            {
                var presenter = container.Value;
                if (presenter == null)
                {
                    return;
                }

                _model = presenter.Show();
                if (_model == null || !_model.Parameters.Where((param, index) => param.Index != index).Any() ||
                    !IsValidParamOrder())
                {
                    return;
                }

                var rewriteSession = _rewritingManager.CheckOutCodePaneSession();
                AdjustReferences(_model.TargetDeclaration.References, rewriteSession);
                AdjustSignatures(rewriteSession);
                rewriteSession.TryRewrite();
                _model.State.OnParseRequested(this);
            }
        }
Beispiel #3
0
        public RefactoringUserInteraction(IRefactoringPresenterFactory factory, IUiDispatcher uiDispatcher)
        {
            Action <TPresenter> presenterDisposalAction = (TPresenter presenter) => uiDispatcher.Invoke(() => factory.Release(presenter));

            _presenterFactory = ((model) => DisposalActionContainer.Create(factory.Create <TPresenter, TModel>(model), presenterDisposalAction));
        }
Beispiel #4
0
        protected InteractiveRefactoringBase(
            IRewritingManager rewritingManager,
            ISelectionProvider selectionProvider,
            IRefactoringPresenterFactory factory,
            IUiDispatcher uiDispatcher)
            : base(rewritingManager, selectionProvider)
        {
            Action <TPresenter> presenterDisposalAction = (TPresenter presenter) => uiDispatcher.Invoke(() => factory.Release(presenter));

            _presenterFactory = ((model) => DisposalActionContainer.Create(factory.Create <TPresenter, TModel>(model), presenterDisposalAction));
        }