public TreeViewXML(PureComponents.TreeView.TreeView objectTreeView) { // // TODO: Add constructor logic here // oTV = objectTreeView; TreeViewContent = true; TreeViewStyle = true; }
/// <summary>Determine if this node represents a area.</summary> /// <param name="node">Node to be tested</param> /// <returns>True if node represents a area.</returns> private static bool IsArea(PureComponents.TreeView.Node node) { return ((node.Tag != null) && (node.Tag is EditorArea)); }
/// <summary>Determine if this node represents a branch (i.e. root or area.)</summary> /// <param name="node">Node to be tested</param> /// <returns>True if node represents a branch.</returns> private static bool IsBranch(PureComponents.TreeView.Node node) { return ((node.Tag == null) || (node.Tag is EditorArea)); }
private void tvNavigation_NodeMouseClick(EventArgs e, PureComponents.TreeView.Node oNode) { // Select only this area/item if navigation node clicked. if (Control.ModifierKeys == Keys.None) { NavigationTreeView.ClearNodeSelection(); oNode.Select(); } }
private void tvNavigation_AfterNodePositionChange(PureComponents.TreeView.Node oNode) { NavigationTreeView.ClearNodeSelection(); foreach (MindFusion.FlowChartX.ChartObject chartObject in frmFlowChart.FlowChart.Objects) chartObject.Visible = false; RePathNodes(oNode); if (oNode.Parent != null) oNode.Parent.Select(); else oNode.Select(); }
private void SelectSubNodes(PureComponents.TreeView.Node node) { bool isSelected = node.IsSelected; bool wasSelected = wasSelectedNodes.Contains(node); if (wasSelected == isSelected) { // Nothings changed at area level, update flowchart with innerNodes selection status. foreach (PureComponents.TreeView.Node innerNode in node.Nodes) { frmFlowChart.State.SetVisible(innerNode.Key, innerNode.IsSelected); SelectSubNodes(innerNode); } } else if (wasSelected && !isSelected) { // Been deselected, deselect all underlings and update flowchart. foreach (PureComponents.TreeView.Node innerNode in node.Nodes) { frmFlowChart.State.SetVisible(innerNode.Key, false); NavigationTreeView.RemoveSelectedNode(innerNode); SelectSubNodes(innerNode); } } else if (!wasSelected && isSelected) { // Been selected, select all underlings and update flowchart. foreach (PureComponents.TreeView.Node innerNode in node.Nodes) { frmFlowChart.State.SetVisible(innerNode.Key, true); NavigationTreeView.AddSelectedNode(innerNode); SelectSubNodes(innerNode); } } }
private void RePathNodes(PureComponents.TreeView.Node node) { if (IsLeaf(node)) { //if (IsItem(node)) //frmFlowChart.State.ModifyGraphicNodePath(out requestId, new Guid(node.Key), node.FullPath); } foreach (PureComponents.TreeView.Node subNode in node.Nodes) { RePathNodes(subNode); } }
internal void SetProject(ClientProtocol clientProtocol, Config config, PureComponents.TreeView.TreeView tvNavigation) { state.FlowChart = fcFlowChart; state.ClientProtocol = clientProtocol; state.Config = config; state.TVNavigation = tvNavigation; state.ConnectGraphic( new ClientProtocol.PermissionsChangedHandler(fcFlowChart_PermissionsChanged), new ClientProtocol.StepHandler(fcFlowChart_Step), new ClientProtocol.SyncHandler(fcFlowChart_Sync), new ClientProtocol.ChangedHandler(fcFlowChart_Changed), new ClientProtocol.PortInfoRequestedHandler(fcFlowChart_PortInfoRequested)); fcFlowChart.UndoManager.UndoEnabled = false; fcFlowChart.UseWaitCursor = true; fcFlowChart.ValidityChecks = false; fcFlowChart.Visible = false; fcFlowChart.Enabled = false; foreach (GraphicArea graphicArea in clientProtocol.graphic.Areas.Values) { state.CreateArea(graphicArea); } foreach (GraphicNode graphicNode in clientProtocol.graphic.Nodes.Values) { ModelNode modelNode; if (state.ClientProtocol.model.Nodes.TryGetValue(graphicNode.ModelGuid, out modelNode)) { state.CreateNode(modelNode, graphicNode); } else { state.CreateNode(null, graphicNode); //state.ClientProtocol.LogMessage(out requestId, "ModelNode missing for graphicLink (Tag: " + graphicNode.Tag + ", Guid: " + graphicNode.Guid + ")", SysCAD.Log.MessageType.Error); } } foreach (GraphicLink graphicLink in clientProtocol.graphic.Links.Values) { ModelLink modelLink; if (state.ClientProtocol.model.Links.TryGetValue(graphicLink.ModelGuid, out modelLink)) { state.CreateLink(modelLink, graphicLink); } else { state.ClientProtocol.LogMessage(out requestId, "ModelLink missing for graphicLink (Tag: " + graphicLink.Tag + ", Guid: " + graphicLink.Guid + ")", SysCAD.Log.MessageType.Error); } } fcFlowChart.UndoManager.UndoEnabled = true; fcFlowChart.UseWaitCursor = false; fcFlowChart.ValidityChecks = true; fcFlowChart.Visible = true; fcFlowChart.Enabled = true; }