Example #1
0
        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();
            }
        }
Example #2
0
        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);
            }
        }
Example #4
0
        //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";
            //}
        }
Example #5
0
 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();
         }
     }
 }
Example #6
0
File: Form1.cs Project: fadeI/Coapp
        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";
                }
            }
        }
Example #8
0
        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();
 }
Example #10
0
 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();
            }
        }
Example #13
0
 private void GraphViewer_ObjectUnderMouseCursorChanged(object sender, ObjectUnderMouseCursorChangedEventArgs e)
 {
     CheckObject();
 }
Example #14
0
        /// <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);
                    }
                }
            }
        }