// DrillDown is implemented by just changing the diagram models protected override void OnMouseClick(EventArgs e) { try { int flag = 0; // Get node root. Syncfusion.Windows.Forms.Diagram.Model diagramModel = this.Root; Node node = this as IGraphNode as Node; if (node is TextNode) { //|| node is MyGroup2 || node is MyGroup3) node.EditStyle.AllowSelect = false; } else { if (flag == 0) { this.dig.Controller.SelectAll(); this.dig.Controller.Delete(); this.mod1.Nodes.Clear(); flag = 1; } Syncfusion.Windows.Forms.Diagram.TextNode txtnode1 = new TextNode(" Coevals Diagram "); txtnode1.FontStyle.Size = 16; txtnode1.FontStyle.Family = "Arial"; txtnode1.FontStyle.Bold = true; txtnode1.FontColorStyle.Color = Color.MidnightBlue; txtnode1.LineStyle.LineColor = Color.Transparent; txtnode1.SizeToText(new Size(1000, 1000)); txtnode1.PinPoint = new PointF(335, 25); this.dig.Model.AppendChild(txtnode1); this.dig.Model.AppendChild(new HomeNode(this.dig, this.mod1, this.mod2)); // Grand Mother GM = new GrandMotherSymbolClass(); GM.PinPoint = new PointF(305, 145); this.dig.Model.AppendChild(GM); // GrandMothers Daiughter GMDaughter.PinPoint = new PointF(150, 200); this.dig.Model.AppendChild(GMDaughter); // Connection b/w Grandma and her daughter ConnectNodes(GM, GMDaughter); // GrandMothers Son GMSon = new ManSymbolClass(); GMSon.PinPoint = new PointF(450, 200); this.dig.Model.AppendChild(GMSon); // Connection b/w Grandma and her Son ConnectNodes(GM, GMSon); // Boy BoySymbolClass mySymbolBoy3 = new BoySymbolClass("Boys", this.dig, this.mod1, this.mod2); mySymbolBoy3.Name = "Boys"; mySymbolBoy3.PinPoint = new PointF(450, 290); //ToolTip this.dig.Model.AppendChild(mySymbolBoy3); //mySymbolBoy3 = new MySymbol4Girl(); // Connection b/w Father and his girl ConnectNodes(GMSon, mySymbolBoy3); // Girl mySymbolGirl = new GirlSymbolClass(); mySymbolGirl.PinPoint = new PointF(370, 290); this.dig.Model.AppendChild(mySymbolGirl); // Connection b/w Father and his girl ConnectNodes(GMSon, mySymbolGirl); // Girl mySymbolGirl = new GirlSymbolClass(); mySymbolGirl.PinPoint = new PointF(520, 290); this.dig.Model.AppendChild(mySymbolGirl); // Connection b/w Father and his girl ConnectNodes(GMSon, mySymbolGirl); // Mother Childerns // Girl mySymbolGirl = new GirlSymbolClass(); mySymbolGirl.PinPoint = new PointF(150, 290); this.dig.Model.AppendChild(mySymbolGirl); // Connection b/w Father and his girl ConnectNodes(GMDaughter, mySymbolGirl); // Girl GirlSymbolClass mySymbolGirl3 = new GirlSymbolClass("Girls", this.dig, this.mod1, this.mod2); mySymbolGirl3.Name = "Girls"; mySymbolGirl3.PinPoint = new PointF(220, 290); this.dig.Model.AppendChild(mySymbolGirl3); // Connection b/w Mother and his girl ConnectNodes(GMDaughter, mySymbolGirl3); // Boy mySymbolBoy = new BoySymbolClass(); mySymbolBoy.PinPoint = new PointF(280, 290); this.dig.Model.AppendChild(mySymbolBoy); // Connection b/w Mother and his girl ConnectNodes(GMDaughter, mySymbolBoy); // Boy mySymbolBoy = new BoySymbolClass(); mySymbolBoy.PinPoint = new PointF(90, 290); this.dig.Model.AppendChild(mySymbolBoy); // Connection b/w Mother and his Boy ConnectNodes(GMDaughter, mySymbolBoy); this.Nodes.Clear(); this.dig.View.SelectionList.Clear(); } } catch { } }
protected override void OnMouseClick(EventArgs e) { // Get node root. Syncfusion.Windows.Forms.Diagram.Model diagramModel = this.Root; Node thisNode = this as IGraphNode as Node; if (thisNode.Name.ToString() == "Girls") { this.diagram1.Controller.SelectAll(); this.diagram1.Controller.Delete(); this.model1.Nodes.Clear(); Syncfusion.Windows.Forms.Diagram.TextNode txtnode1 = new TextNode(" Coevals Diagram "); txtnode1.FontStyle.Size = 20; txtnode1.FontStyle.Bold = true; txtnode1.FontStyle.Family = "Segoe UI"; txtnode1.LineStyle.LineColor = Color.Transparent; txtnode1.SizeToText(new Size(1000, 1000)); txtnode1.PinPoint = new PointF(335, 25); this.diagram1.Model.AppendChild(txtnode1); Syncfusion.Windows.Forms.Diagram.TextNode txtnode2 = new TextNode("Friends!"); txtnode2.FontStyle.Size = 8; txtnode2.FontStyle.Family = "Segoe UI"; txtnode2.LineStyle.LineColor = Color.Transparent; txtnode2.PinPoint = new PointF(280, 150); txtnode1.SizeToText(new Size(1000, 1000)); this.diagram1.Model.AppendChild(txtnode2); this.diagram1.Model.AppendChild(new HomeNode(this.diagram1, this.model1, this.model2)); GirlSymbolClass symbol1 = new GirlSymbolClass(); symbol1.PinPoint = new PointF(280, 120); this.diagram1.Model.AppendChild(symbol1); GirlSymbolClass symbol2 = new GirlSymbolClass(); symbol2.PinPoint = new PointF(380, 180); this.diagram1.Model.AppendChild(symbol2); GirlSymbolClass symbol3 = new GirlSymbolClass(); symbol3.PinPoint = new PointF(380, 280); this.diagram1.Model.AppendChild(symbol3); GirlSymbolClass symbol4 = new GirlSymbolClass(); symbol4.PinPoint = new PointF(280, 320); this.diagram1.Model.AppendChild(symbol4); GirlSymbolClass symbol5 = new GirlSymbolClass(); symbol5.PinPoint = new PointF(180, 280); this.diagram1.Model.AppendChild(symbol5); GirlSymbolClass symbol6 = new GirlSymbolClass(); symbol6.PinPoint = new PointF(180, 180); this.diagram1.Model.AppendChild(symbol6); // Grand Mother GrandMotherSymbolClass gm = new GrandMotherSymbolClass(this.diagram1, this.model1, this.model2, true); gm.PinPoint = new PointF(65, 30); gm.Size = new SizeF(20, 20); gm.LineStyle.LineColor = Color.Transparent; this.diagram1.Model.AppendChild(gm); ConnectNodes(symbol1, symbol2); ConnectNodes(symbol2, symbol3); ConnectNodes(symbol4, symbol3); ConnectNodes(symbol4, symbol5); ConnectNodes(symbol5, symbol6); ConnectNodes(symbol1, symbol6); this.diagram1.View.SelectionList.Clear(); this.Nodes.Clear(); } }