void GViewerObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { selectedObject = e.OldObject != null ? e.OldObject.DrawingObject : null; if (selectedObject != null) { RestoreSelectedObjAttr(); gViewer.Invalidate(e.OldObject); selectedObject = null; } if (gViewer.SelectedObject == null) { label1.Text = "No object under the mouse"; gViewer.SetToolTip(toolTip1, ""); } else { selectedObject = gViewer.SelectedObject; var edge = selectedObject as Edge; if (edge != null) { selectedObjectAttr = edge.Attr.Clone(); edge.Attr.Color = Color.Blue; gViewer.Invalidate(e.NewObject); // here we can use e.Attr.Id or e.UserData to get back to the user data gViewer.SetToolTip(toolTip1, String.Format("edge from {0} to {1}", edge.Source, edge.Target)); } else if (selectedObject is Microsoft.Msagl.Drawing.Node) { selectedObjectAttr = (gViewer.SelectedObject as Microsoft.Msagl.Drawing.Node).Attr.Clone(); (selectedObject as Microsoft.Msagl.Drawing.Node).Attr.Color = Color.Green; // // here you can use e.Attr.Id to get back to your data gViewer.SetToolTip(toolTip1, String.Format("node {0}", (selectedObject as Microsoft.Msagl.Drawing.Node).Attr.Id)); gViewer.Invalidate(e.NewObject); } label1.Text = selectedObject.ToString(); } }
void GViewerObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { IViewerObject underCursor = gViewer.ObjectUnderMouseCursor; object sel = underCursor == null ? null : underCursor.DrawingObject; if (sel is Node) { var n = sel as Node; selection.Text = n.Id; } else if (sel is Edge) { var edge = sel as Edge; selection.Text = edge.Source + "->" + edge.Target; } else { selection.Text = ""; } }
private void Gviewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { RestorePreviouslyHoverObjectColor(e.OldObject); if (e.OldObject != null) { gviewer.Invalidate(e.OldObject); } if (gviewer.ObjectUnderMouseCursor == null) { gviewer.SetToolTip(viewerToolTip, ""); return; } selectedObjectMouseHover = gviewer.ObjectUnderMouseCursor; DrawingObject currentDrawingObject = selectedObjectMouseHover.DrawingObject; string selectedObjetLabel = null; if (currentDrawingObject is Edge) { var edge = currentDrawingObject as Edge; edge.Attr.Color = Color.Blue; selectedObjetLabel = edge.Attr.Id; // Attr.Id holds the relationship information } else if (currentDrawingObject is Node) { var node = currentDrawingObject as Node; node.Attr.Color = Color.Green; string entityName = node.Attr.Id; selectedObjetLabel = entityRelations.GetEREntitieAttributesByEntityName(entityName)?.FirstOrDefault <EREntityAttribute>()?.Description; } else { return; } gviewer.SetToolTip(viewerToolTip, selectedObjetLabel); if (e.NewObject != null) { gviewer.Invalidate(e.NewObject); } }
//void Form1_MouseUp(object sender, MsaglMouseEventArgs e) { // object obj = gViewer.GetObjectAt(e.X, e.Y); // Node node = null; // Edge edge = null; // var dnode = obj as DNode; // var dedge = obj as DEdge; // var dl = obj as DLabel; // if (dnode != null) // node = dnode.DrawingNode; // else if (dedge != null) // edge = dedge.DrawingEdge; // else if (dl != null) { // if (dl.Parent is DNode) // node = (dl.Parent as DNode).DrawingNode; // else if (dl.Parent is DEdge) // edge = (dl.Parent as DEdge).DrawingEdge; // } //} void graphViewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { //var n = e.NewObject.DrawingObject;// as DNode; if (e.NewObject != null) { this.Text = "mouse hover in"; } else { this.Text = "mouse hover out"; } //var node = gViewer.ObjectUnderMouseCursor as Node;// as IViewerNode; //if (node != null) { // this.Text = node.Id; //} //else { // var edge = gViewer.ObjectUnderMouseCursor as Edge;// IViewerEdge; // if (edge != null) // this.Text = "edge clicked"; //} }
private void graphViewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { if (graphViewer.SelectedObject != null) { object selectedObject = graphViewer.SelectedObject; if (selectedObject is Node) { if (oldNode != null) { oldNode.Attr.Color = Microsoft.Msagl.Drawing.Color.Blue; oldNode.Attr.FillColor = oldFillColor; } Node selectedNode = (Node)selectedObject; oldFillColor = selectedNode.Attr.FillColor; selectedNode.Attr.Color = Microsoft.Msagl.Drawing.Color.DarkRed; selectedNode.Attr.FillColor = Microsoft.Msagl.Drawing.Color.LightSalmon; int objID = Int32.Parse(selectedNode.Id); try { lvObjectProperties.BeginUpdate(); lvObjectProperties.Items.Clear(); lvObjectProperties.Groups.Clear(); while (objID > 0) { AddObjectDetails(objID); GetParent(objID, out objID); } lvObjectProperties.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); lvObjectProperties.Columns[0].Width += 10; } finally { this.lvObjectProperties.EndUpdate(); } oldNode = selectedNode; graphViewer.Invalidate(); } } }
void gViewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { if (e.OldObject != null) { selectedObject = e.OldObject.DrawingObject; } else { selectedObject = null; } selectedObject = gViewer.SelectedObject; Edge edge = selectedObject as Edge; if (edge != null) { this.gViewer.SetToolTip(toolTip1, String.Format(edge.LabelText)); } gViewer.Invalidate(); }
void graphViewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { var node = graphViewer.ObjectUnderMouseCursor as IViewerNode; if (node != null) { var drawingNode = (Node)node.DrawingObject; statusTextBox.Text = drawingNode.Label.Text; } else { var edge = graphViewer.ObjectUnderMouseCursor as IViewerEdge; if (edge != null) { statusTextBox.Text = ((Edge)edge.DrawingObject).SourceNode.Label.Text + "->" + ((Edge)edge.DrawingObject).TargetNode.Label.Text; } else { statusTextBox.Text = "No object"; } } }
private void uxGraphViewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { if (e.NewObject == null) { this.toolTip.Hide(this); return; } string objectText; switch (e.NewObject) { case DEdge edge: objectText = $"{edge.Edge.Source} -> {edge.Edge.Target}"; break; case DNode node: var sb = new StringBuilder(); sb.AppendLine($"{node.Node.Id} (references {node.Node.OutEdges.Count()} / referenced by {node.Node.InEdges.Count()})"); foreach (var outEdges in node.Node.OutEdges) { sb.AppendLine($"references {outEdges.TargetNode.Id}"); } foreach (var inEdges in node.Node.InEdges) { sb.AppendLine($"referenced by {inEdges.SourceNode.Id}"); } objectText = sb.ToString(); break; default: objectText = e.NewObject.ToString(); break; } this.toolTip.Show(objectText, this, Cursor.Position, int.MaxValue); }
void GvObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { SetStatusText(); }
private void MainForm_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { //toolPanelTime.Text = e.OldObject != null ? e.OldObject.DrawingObject.ToString() : "nothing"; }
private void MGViewer_ObjectUnderMouseCursorChanged(object aSender, ObjectUnderMouseCursorChangedEventArgs aEventArgs) { DNode lDNode = aEventArgs.NewObject as DNode; if (lDNode != null) { mNodeUnderCursor = lDNode.Node; } else { mNodeUnderCursor = null; } }
static void DisplayGeometryGraph_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { var gv = (GViewer)sender; Form form = (Form)gv.Parent; System.Windows.Forms.Label label = null; foreach (var l in form.Controls) { label = l as System.Windows.Forms.Label; if (label != null) { break; } } var selObj = gv.SelectedObject; if (selObj == null) { label.Text = "no object"; } else { label.Text = selObj.ToString(); } }
private void GraphViewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { CheckObject(); }
/// <summary> /// Allows Object Identification by moving the mouse over a node or edge. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Viewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e) { //////viewer.ObjectUnderMouseCursor vs viewer.SelectedObject?? if (viewer.SelectedObject != null && viewer.SelectedObject is DrawingNode) { viewer.Focus(); // // toolTip1.SetToolTip(viewer, (viewer.SelectedObject as Microsoft.Msagl.Drawing.Node).Id); // viewer.SetToolTip(toolTip1, getTip(e.NewObject.DrawingObject.UserData)); selectedNode = (viewer.SelectedObject as DrawingNode).Id; // lblSelectedNode.Text = "Selected Node: " + selectedNode; } //else //{ // viewer.SetToolTip(toolTip1, ""); //} selectedObject = e.OldObject != null ? e.OldObject.DrawingObject : null; //Clear Selected Object if (selectedObject != null && Form.ModifierKeys != Keys.Control) { RestoreSelectedObjAttr(); viewer.Invalidate(e.OldObject); selectedObject = null; } if (viewer.ObjectUnderMouseCursor == null) { lblSelectedNode.Text = "Selected Object: "; viewer.SetToolTip(toolTip1, ""); infoTip1.ClearData(); RemoveHighlightedPath(); } else { selectedObject = viewer.ObjectUnderMouseCursor.DrawingObject; if (selectedObject is DrawingEdge && Form.ModifierKeys != Keys.Control) { DrawingEdge edge = selectedObject as DrawingEdge; selectedObjectAttr = edge.Attr.Clone(); //edge.Attr.Color = DrawingColor.Blue; edge.Attr.LineWidth += 3; viewer.Invalidate(e.NewObject); lblSelectedNode.Text = "Selected Edge: " + selectedObject.ToString(); // here we can use e.Attr.Id or e.UserData to get back to the user data // viewer.SetToolTip(toolTip1, String.Format("edge from {0} to {1}", edge.Source, edge.Target)); } if (selectedObject is DrawingNode && Form.ModifierKeys != Keys.Control) { DrawingNode node = selectedObject as DrawingNode; selectedObjectAttr = node.Attr.Clone(); //node.Attr.Color = DrawingColor.Blue; node.Attr.LineWidth += 4; // // here you can use e.Attr.Id to get back to your data infoTip1.SetData(e.NewObject.DrawingObject.UserData); //viewer.SetToolTip(toolTip1, getTip(e.NewObject.DrawingObject.UserData)); selectedNode = (viewer.SelectedObject as DrawingNode).Id; lblSelectedNode.Text = "Selected Node: " + selectedNode; //viewer.SetToolTip(toolTip1, // String.Format("node {0}", // (selectedObject as Microsoft.Msagl.Drawing.Node).Attr.Id)); viewer.Invalidate(e.NewObject); RemoveHighlightedPath(); //Remove last path - Incase traveled by edge to this node. HighlightFullPath(node, true, true); // Recursive foreach (IViewerObject ee in viewer.Entities.Where(ee => ee is IViewerEdge)) { viewer.Invalidate(ee); } } } }