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; } } }
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); } }
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); } } }
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(); }
/// <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); } } } }