/// <summary> /// Метод выделения вершин /// </summary> /// <param name="key"></param> /// <param name="window"></param> public void Select(int key, Visio.Window window) { if (window != null) { window.DeselectAll(); switch (key) { // Выделить все вершины case 1: foreach (var node in vertices) { window.Select(node.Value, 2); } break; // Выделить все соединенные вершины case 2: foreach (var node in vertices) { if (node.Value.ConnectedShapes(Visio.VisConnectedShapesFlags.visConnectedShapesAllNodes, "").Length != 0) { window.Select(node.Value, 2); } } break; // Выделить все несоединенные вершины case 3: foreach (var node in vertices) { if (node.Value.ConnectedShapes(Visio.VisConnectedShapesFlags.visConnectedShapesAllNodes, "").Length == 0) { window.Select(node.Value, 2); } } break; // Выделить все ребра case 4: foreach (var edge in edges) { window.Select(edge.Value, 2); } break; default: throw new ArgumentException("Ключ не соответствует допустимому диапозону"); } } }
public static void Select( this IVisio.Window window, IEnumerable <IVisio.Shape> shapes, IVisio.VisSelectArgs selectargs) { foreach (var shape in shapes) { window.Select(shape, (short)selectargs); } }
public static void Select( this IVisio.Window window, IEnumerable <IVisio.Shape> shapes, IVisio.VisSelectArgs selectargs) { if (shapes == null) { throw new System.ArgumentNullException("shapes"); } foreach (var shape in shapes) { window.Select(shape, (short)selectargs); } }
} private void gridView1_FocusedRowObjectChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs e) { if (e.RowHandle > 0) { // get the selcted cellRow int[] selRows = ((GridView)gridControl1.MainView).GetSelectedRows(); // get a seleted row using handle position DataRowView selRow = (DataRowView)(((GridView)gridControl1.MainView).GetRow(e.RowHandle)); // read a Shape of selected Row var shape = (Shape)selRow["Shape"]; //var uId = selRow["UID"].ToString(); //var shape = page.Shapes[uId]; window.DeselectAll(); //window.Select((Shapes)value, (short)VisSelectArgs.visSelect); this.TopMost = true; // Show the selectet Shape window.Select(shape, (short)VisSelectArgs.visSelect); ScrollViewToShape(shape); } } private void SearchDialog_FormClosing(object sender, FormClosingEventArgs e)
/// Selects a series of shapes and groups them into one shape public static IVisio.Shape SelectAndGroup(IVisio.Window window, IEnumerable <IVisio.Shape> shapes) { if (window == null) { throw new System.ArgumentNullException(nameof(window)); } if (shapes == null) { throw new System.ArgumentNullException(nameof(shapes)); } var selectargs = IVisio.VisSelectArgs.visSelect; window.Select(shapes, selectargs); var selection = window.Selection; var group = selection.Group(); return(group); }
private static void _invert_selection(IVisio.Window window) { if (window == null) { throw new System.ArgumentNullException(nameof(window)); } if (window.Page == null) { throw new System.ArgumentException("Window has null page", nameof(window)); } var page = (IVisio.Page)window.Page; var shapes = page.Shapes; var all_shapes = shapes.ToEnumerable(); var selection = window.Selection; var selected_set = new HashSet <IVisio.Shape>(selection.ToEnumerable()); var shapes_to_select = all_shapes.Where(shape => !selected_set.Contains(shape)).ToList(); window.DeselectAll(); window.Select(shapes_to_select, IVisio.VisSelectArgs.visSelect); }