コード例 #1
0
        public void Align(IList <IVisio.Shape> target_shapes, Drawing.AlignmentVertical align)
        {
            this.Client.Application.AssertApplicationAvailable();
            this.Client.Document.AssertDocumentAvailable();

            int shape_count = this.GetTargetSelection(target_shapes);

            if (shape_count < 2)
            {
                return;
            }

            var application = this.Client.Application.Get();

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

                var valign = ArrangeCommands._map_isd_valign_to_visio_valign(align);

                selection.Align(halign, valign, glue_to_guide);
            }
        }
コード例 #2
0
        private static IVisio.VisVerticalAlignTypes _map_isd_valign_to_visio_valign(Drawing.AlignmentVertical v)
        {
            switch (v)
            {
            case Drawing.AlignmentVertical.Top: return(IVisio.VisVerticalAlignTypes.visVertAlignTop);

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

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

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

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

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

            default: throw new System.ArgumentOutOfRangeException();
            }
        }
コード例 #4
0
        public void Distribute(IList <IVisio.Shape> target_shapes, Drawing.AlignmentVertical valign)
        {
            this.Client.Application.AssertApplicationAvailable();
            this.Client.Document.AssertDocumentAvailable();

            int shape_count = this.GetTargetSelection(target_shapes);

            if (shape_count < 1)
            {
                return;
            }

            var cmd = ArrangeCommands._map_valign_to_uicmd(valign);

            var application = this.Client.Application.Get();

            application.DoCmd((short)cmd);
        }