public void DistributeVertical(Models.TargetShapes targets, Models.AlignmentVertical valign)
        {
            var cmdtarget = this._client.GetCommandTargetDocument();

            int shape_count = targets.SelectShapesAndCount(this._client);

            if (shape_count < 1)
            {
                return;
            }

            IVisio.VisUICmds cmd;
            switch (valign)
            {
            case VisioScripting.Models.AlignmentVertical.Top:
                cmd = IVisio.VisUICmds.visCmdDistributeTop;
                break;

            case VisioScripting.Models.AlignmentVertical.Center: cmd = IVisio.VisUICmds.visCmdDistributeMiddle; break;

            case VisioScripting.Models.AlignmentVertical.Bottom: cmd = IVisio.VisUICmds.visCmdDistributeBottom; break;

            default: throw new System.ArgumentOutOfRangeException();
            }

            cmdtarget.Application.DoCmd((short)cmd);
        }
Пример #2
0
        public void AlignVertical(TargetSelection targetselection, Models.AlignmentVertical align)
        {
            targetselection = targetselection.ResolveToSelection(this._client);

            // Set the align enums
            var halign = IVisio.VisHorizontalAlignTypes.visHorzAlignNone;

            IVisio.VisVerticalAlignTypes valign;
            switch (align)
            {
            case VisioScripting.Models.AlignmentVertical.Top:
                valign = IVisio.VisVerticalAlignTypes.visVertAlignTop;
                break;

            case VisioScripting.Models.AlignmentVertical.Center:
                valign = IVisio.VisVerticalAlignTypes.visVertAlignMiddle;
                break;

            case VisioScripting.Models.AlignmentVertical.Bottom:
                valign = IVisio.VisVerticalAlignTypes.visVertAlignBottom;
                break;

            default: throw new System.ArgumentOutOfRangeException();
            }

            const bool glue_to_guide = false;

            // Perform the alignment
            using (var undoscope = this._client.Undo.NewUndoScope(nameof(AlignVertical)))
            {
                targetselection.Selection.Align(halign, valign, glue_to_guide);
            }
        }
Пример #3
0
        public void AlignSelectionVertical(Models.AlignmentVertical align)
        {
            var cmdtarget = this._client.GetCommandTargetDocument();

            // Set the align enums
            var halign = IVisio.VisHorizontalAlignTypes.visHorzAlignNone;

            IVisio.VisVerticalAlignTypes valign;
            switch (align)
            {
            case VisioScripting.Models.AlignmentVertical.Top: valign = IVisio.VisVerticalAlignTypes.visVertAlignTop; break;

            case VisioScripting.Models.AlignmentVertical.Center: valign = IVisio.VisVerticalAlignTypes.visVertAlignMiddle; break;

            case VisioScripting.Models.AlignmentVertical.Bottom: valign = IVisio.VisVerticalAlignTypes.visVertAlignBottom; break;

            default: throw new System.ArgumentOutOfRangeException();
            }

            const bool glue_to_guide = false;

            // Perform the alignment
            using (var undoscope = this._client.Undo.NewUndoScope(nameof(AlignSelectionVertical)))
            {
                var window    = cmdtarget.Application.ActiveWindow;
                var selection = window.Selection;
                selection.Align(halign, valign, glue_to_guide);
            }
        }
Пример #4
0
        public void DistributeVertical(TargetSelection targetselection, Models.AlignmentVertical valign)
        {
            targetselection = targetselection.ResolveToSelection(this._client);

            if (targetselection.Selection.Count < 2)
            {
                return;
            }


            IVisio.VisUICmds cmd;
            switch (valign)
            {
            case VisioScripting.Models.AlignmentVertical.Top:
                cmd = IVisio.VisUICmds.visCmdDistributeTop;
                break;

            case VisioScripting.Models.AlignmentVertical.Center:
                cmd = IVisio.VisUICmds.visCmdDistributeMiddle;
                break;

            case VisioScripting.Models.AlignmentVertical.Bottom:
                cmd = IVisio.VisUICmds.visCmdDistributeBottom;
                break;

            default: throw new System.ArgumentOutOfRangeException();
            }


            var app = targetselection.Selection.Application;

            using (var undoscope = this._client.Undo.NewUndoScope(nameof(DistributeVertical)))
            {
                app.DoCmd((short)cmd);
            }
        }