示例#1
0
        private static IVisio.VisVerticalAlignTypes _map_isd_valign_to_visio_valign(VA.Drawing.AlignmentVertical v)
        {
            switch (v)
            {
            case VA.Drawing.AlignmentVertical.Top: return(IVisio.VisVerticalAlignTypes.visVertAlignTop);

            case VA.Drawing.AlignmentVertical.Center: return(IVisio.VisVerticalAlignTypes.visVertAlignMiddle);

            case VA.Drawing.AlignmentVertical.Bottom: return(IVisio.VisVerticalAlignTypes.visVertAlignBottom);

            default: throw new System.ArgumentOutOfRangeException();
            }
        }
示例#2
0
        private static IVisio.VisUICmds _map_valign_to_uicmd(VA.Drawing.AlignmentVertical v)
        {
            switch (v)
            {
            case VA.Drawing.AlignmentVertical.Top: return(IVisio.VisUICmds.visCmdDistributeTop);

            case VA.Drawing.AlignmentVertical.Center: return(IVisio.VisUICmds.visCmdDistributeMiddle);

            case VA.Drawing.AlignmentVertical.Bottom: return(IVisio.VisUICmds.visCmdDistributeBottom);

            default: throw new System.ArgumentOutOfRangeException();
            }
        }
示例#3
0
        public void Distribute(IList <IVisio.Shape> target_shapes, VA.Drawing.AlignmentVertical valign)
        {
            this.AssertApplicationAvailable();
            this.AssertDocumentAvailable();

            int shape_count = this.GetTargetSelection(target_shapes);

            if (shape_count < 1)
            {
                return;
            }

            var cmd = _map_valign_to_uicmd(valign);

            this.Client.VisioApplication.DoCmd((short)cmd);
        }
示例#4
0
        public void Align(IList <IVisio.Shape> target_shapes, VA.Drawing.AlignmentVertical align)
        {
            this.AssertApplicationAvailable();
            this.AssertDocumentAvailable();

            int shape_count = this.GetTargetSelection(target_shapes);

            if (shape_count < 2)
            {
                return;
            }

            using (var undoscope = new VA.Application.UndoScope(this.Client.VisioApplication, "Align Shapes"))
            {
                bool glue_to_guide = false;
                var  selection     = Client.Selection.Get();
                var  halign        = IVisio.VisHorizontalAlignTypes.visHorzAlignNone;

                var valign = _map_isd_valign_to_visio_valign(align);

                selection.Align(halign, valign, glue_to_guide);
            }
        }