private static IVisio.VisUICmds _map_halign_to_uicmd(Drawing.AlignmentHorizontal v) { switch (v) { case Drawing.AlignmentHorizontal.Left: return(IVisio.VisUICmds.visCmdDistributeLeft); case Drawing.AlignmentHorizontal.Center: return(IVisio.VisUICmds.visCmdDistributeCenter); case Drawing.AlignmentHorizontal.Right: return(IVisio.VisUICmds.visCmdDistributeRight); default: throw new System.ArgumentOutOfRangeException(); } }
public void Distribute(IList <IVisio.Shape> target_shapes, Drawing.AlignmentHorizontal halign) { this.Client.Application.AssertApplicationAvailable(); this.Client.Document.AssertDocumentAvailable(); int shape_count = this.GetTargetSelection(target_shapes); if (shape_count < 1) { return; } var cmd = ArrangeCommands._map_halign_to_uicmd(halign); var application = this.Client.Application.Get(); application.DoCmd((short)cmd); }
public void Align(IList <IVisio.Shape> target_shapes, Drawing.AlignmentHorizontal 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")) { const bool glue_to_guide = false; var selection = this.Client.Selection.Get(); var halign = ArrangeCommands._map_isd_halign_to_visio_halign(align); var valign = IVisio.VisVerticalAlignTypes.visVertAlignNone; selection.Align(halign, valign, glue_to_guide); } }
private static IVisio.VisHorizontalAlignTypes _map_isd_halign_to_visio_halign(Drawing.AlignmentHorizontal v) { switch (v) { case Drawing.AlignmentHorizontal.Left: return(IVisio.VisHorizontalAlignTypes.visHorzAlignLeft); case Drawing.AlignmentHorizontal.Center: return(IVisio.VisHorizontalAlignTypes.visHorzAlignCenter); case Drawing.AlignmentHorizontal.Right: return(IVisio.VisHorizontalAlignTypes.visHorzAlignRight); default: throw new System.ArgumentOutOfRangeException(); } }