示例#1
0
        /// <summary>
        /// Called to update the current status of the command.
        /// </summary>
        protected override void OnBeforeQueryStatus()
        {
            Enabled = CodeReorderManager.CanReorganize(Package.ActiveDocument);

            if (Enabled)
            {
                Text = "Reorgani&ze " + Package.ActiveDocument.Name;
            }
            else
            {
                Text = "Reorgani&ze Code";
            }
        }
示例#2
0
        /// <summary>
        /// Called when the header of a TreeViewItem receives a drop event.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">
        /// The <see cref="System.Windows.DragEventArgs" /> instance containing the event data.
        /// </param>
        private void OnTreeViewItemHeaderDrop(object sender, DragEventArgs e)
        {
            if (!e.Data.GetDataPresent(typeof(BaseCodeItem)))
            {
                return;
            }

            var treeViewItem = FindParentTreeViewItem(sender);

            if (treeViewItem == null || e.Source == treeViewItem)
            {
                return;
            }

            var baseCodeItem = treeViewItem.DataContext as BaseCodeItem;

            if (baseCodeItem == null)
            {
                return;
            }

            var codeItemToMove = e.Data.GetData(typeof(BaseCodeItem)) as BaseCodeItem;

            if (codeItemToMove == null)
            {
                return;
            }

            switch (GetDropPosition(e, baseCodeItem, treeViewItem))
            {
            case DropPosition.Above:
                CodeReorderManager.MoveItemAboveBase(codeItemToMove, baseCodeItem);
                break;

            case DropPosition.Below:
                CodeReorderManager.MoveItemBelowBase(codeItemToMove, baseCodeItem);
                break;

            case DropPosition.On:
                CodeReorderManager.MoveItemIntoBase(codeItemToMove, baseCodeItem as ICodeItemParent);
                break;
            }

            Refresh();
            e.Handled = true;
        }
示例#3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CodeCleanupManager" /> class.
        /// </summary>
        /// <param name="package">The hosting package.</param>
        private CodeCleanupManager(CodeMaidPackage package)
        {
            _package = package;

            _codeModelManager      = CodeModelManager.GetInstance(_package);
            _codeReorderManager    = CodeReorderManager.GetInstance(_package);
            _undoTransactionHelper = new UndoTransactionHelper(_package, "CodeMaid Cleanup");

            _codeCleanupAvailabilityLogic      = CodeCleanupAvailabilityLogic.GetInstance(_package);
            _commentFormatLogic                = CommentFormatLogic.GetInstance(_package);
            _insertBlankLinePaddingLogic       = InsertBlankLinePaddingLogic.GetInstance(_package);
            _insertExplicitAccessModifierLogic = InsertExplicitAccessModifierLogic.GetInstance();
            _insertWhitespaceLogic             = InsertWhitespaceLogic.GetInstance(_package);
            _removeRegionLogic          = RemoveRegionLogic.GetInstance(_package);
            _removeWhitespaceLogic      = RemoveWhitespaceLogic.GetInstance(_package);
            _updateLogic                = UpdateLogic.GetInstance(_package);
            _usingStatementCleanupLogic = UsingStatementCleanupLogic.GetInstance(_package);
        }
示例#4
0
 public static void ClassInitialize(TestContext testContext)
 {
     _codeReorderManager = CodeReorderManager.GetInstance(TestEnvironment.Package);
     Assert.IsNotNull(_codeReorderManager);
 }
示例#5
0
        /// <summary>
        /// Called to execute the command.
        /// </summary>
        protected override void OnExecute()
        {
            base.OnExecute();

            CodeReorderManager.Reorganize(Package.ActiveDocument, false);
        }
示例#6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ReorganizeActiveCodeCommand" /> class.
 /// </summary>
 /// <param name="package">The hosting package.</param>
 internal ReorganizeActiveCodeCommand(CodeMaidPackage package)
     : base(package,
            new CommandID(GuidList.GuidCodeMaidCommandReorganizeActiveCode, (int)PkgCmdIDList.CmdIDCodeMaidReorganizeActiveCode))
 {
     CodeReorderManager = CodeReorderManager.GetInstance(Package);
 }