Beispiel #1
0
 private static void SelectVertex(DependencyObject vc)
 {
     if (DragBehaviour.GetIsTagged(vc))
     {
         HighlightBehaviour.SetHighlighted(vc, false);
         DragBehaviour.SetIsTagged(vc, false);
     }
     else
     {
         HighlightBehaviour.SetHighlighted(vc, true);
         DragBehaviour.SetIsTagged(vc, true);
     }
 }
Beispiel #2
0
 /// <summary>
 /// Select vertex by setting its tag and highlight value
 /// </summary>
 /// <param name="vc">VertexControl object</param>
 private void SelectVertex(DependencyObject vc)
 {
     if (DragBehaviour.GetIsTagged(vc))
     {
         HighlightBehaviour.SetHighlighted(vc, false);
         DragBehaviour.SetIsTagged(vc, false);
         vc.ClearValue(DragBehaviour.XSnapModifierProperty);
         vc.ClearValue(DragBehaviour.YSnapModifierProperty);
     }
     else
     {
         HighlightBehaviour.SetHighlighted(vc, true);
         DragBehaviour.SetIsTagged(vc, true);
         DragBehaviour.SetXSnapModifier(vc, ExaggeratedSnappingXModifier);
         DragBehaviour.SetYSnapModifier(vc, ExaggeratedSnappingYModifier);
     }
 }
Beispiel #3
0
        void mi_Click(object sender, RoutedEventArgs e)
        {
            var menuItem = sender as MenuItem;

            if (menuItem == null)
            {
                return;
            }
            var vc = menuItem.Tag as VertexControl;

            //if clicked vertex is tagged then remove all tagged vertices
            if (DragBehaviour.GetIsTagged(vc))
            {
                dg_remvertex_Click(null, null);
            }
            else //else remove only selected vertex
            if (vc != null)
            {
                SafeRemoveVertex(vc);
            }
        }
Beispiel #4
0
 void dg_Area_VertexSelected(object sender, VertexSelectedEventArgs args)
 {
     if (args.MouseArgs.LeftButton == MouseButtonState.Pressed)
     {
         if (Keyboard.IsKeyDown(Key.LeftCtrl))
         {
             SelectVertex(args.VertexControl);
         }
     }
     else if (args.MouseArgs.RightButton == MouseButtonState.Pressed)
     {
         var countTagged = dg_Area.VertexList.Values.Count(DragBehaviour.GetIsTagged);
         var isTagged    = DragBehaviour.GetIsTagged(args.VertexControl);
         args.VertexControl.ContextMenu = new ContextMenu();
         var mi = new MenuItem {
             Header = "Delete item" + (isTagged && countTagged > 1 ? "s" : ""), Tag = args.VertexControl, Margin = new Thickness(5)
         };
         mi.Click += mi_Click;
         args.VertexControl.ContextMenu.Items.Add(mi);
         args.VertexControl.ContextMenu.IsOpen = true;
     }
 }