Ejemplo n.º 1
0
        /// <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("Ключ не соответствует допустимому диапозону");
                }
            }
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        }        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)
Ejemplo n.º 5
0
        /// 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);
        }
Ejemplo n.º 6
0
        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);
        }