Пример #1
0
        protected void OnLinkAreaSelected(object sender, AreaSelectedEventArgs args)
        {
            bool append = Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift);
            bool toggle = Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl);

            var area  = args.Rectangle;
            var point = new Point(args.Rectangle.X, args.Rectangle.Y);

            // Probably will never hit this
            if (!append && !toggle)
            {
                ClearLinkSelection();
            }

            foreach (NodeEdgeControl control in graph_area_.EdgesList.Values)
            {
                if (VisualTreeHelper.HitTest(control.Path, point) != null)
                {
                    // TODO
                    //LinkInfo info = selected_links_.FirstOrDefault(x => (x.Link == control.Key) && (x.Edge == control.Edge));
                    //if (info == null)
                    //{
                    //    info = new LinkInfo() { Edge = control.Edge as NodeEdge, Link = linkpath.Key };
                    //}
                    //
                    //SelectLink(control as NodeEdgeControl, info, toggle);
                    break;
                }
            }
        }
Пример #2
0
        void dg_zoomctrl_AreaSelected(object sender, AreaSelectedEventArgs args)
        {
            var r = args.Rectangle;

            foreach (var item in from item in dg_Area.VertexList let offset = item.Value.GetPosition() let irect = new Rect(offset.X, offset.Y, item.Value.ActualWidth, item.Value.ActualHeight) where irect.IntersectsWith(r) select item)
            {
                SelectVertex(item.Value);
            }
        }
Пример #3
0
        void dg_zoomctrl_AreaSelected(object sender, AreaSelectedEventArgs args)
        {
            var r = args.Rectangle;

            foreach (var item in dg_Area.VertexList)
            {
                var offset = VisualTreeHelper.GetOffset(item.Value);
                var irect  = new Rect(offset.X, offset.Y, item.Value.ActualWidth, item.Value.ActualHeight);
                if (irect.IntersectsWith(r))
                {
                    SelectVertex(item.Value);
                }
            }
        }
Пример #4
0
 void RecordingAreaSelected(object sender, AreaSelectedEventArgs e)
 {
     recorderForm = new RecorderForm
     {
         Location = e.SelectedArea.Location,
         Width    = e.SelectedArea.Width,
         Height   = e.SelectedArea.Height
     };
     foreach (Form form in overlayForms)
     {
         form.Close();
     }
     recorderForm.Show();
 }
Пример #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        protected void OnVertexAreaSelected(object sender, AreaSelectedEventArgs args)
        {
            bool append = Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift);
            bool toggle = Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl);

            var area  = args.Rectangle;
            var point = new Point(args.Rectangle.X, args.Rectangle.Y);

            // Probably will never hit this
            if (!append && !toggle)
            {
                ClearVertexSelection();
            }

            foreach (VertexControl control in graph_area_.GetAllVertexControls())
            {
                var offset = control.GetPosition();
                var extent = new Rect(offset.X, offset.Y, control.ActualWidth, control.ActualHeight);

                // If the area is empty, then it is a single seletion case
                if (area.Width == 0.0 || area.Height == 0.0)
                {
                    if (extent.Contains(point))
                    {
                        SelectVertex(control, toggle);

                        // Should only be one! No need to traverse the whole thing!
                        break;
                    }
                }
                else
                {
                    if (extent.IntersectsWith(area))
                    {
                        SelectVertex(control, toggle);
                    }
                }
            }
        }