public override void SerializeInRDIs(UserMarkerRDI[] urdis) { if (urdis == null) { return; } foreach (UserMarkerRDI urdi in RDITree.GetEnumerator(ERDIEnumeration.Full)) { urdi.Displayed = false; } foreach (UserMarkerRDI urdi in urdis) { bool bIsLeaf = (urdi.DisplayName != urdi.Name); UserMarkerRDI treeURDI = RDITree[bIsLeaf ? urdi.BasePath : urdi.Path]; if (treeURDI == null) { continue; } if (!bIsLeaf) { // internal nodes CopySerializedMembers(treeURDI, urdi); } else { // leaf nodes (actual markers) foreach (UserMarkerRDI childURDI in treeURDI.Children) { if (childURDI.DisplayName == urdi.DisplayName) { CopySerializedMembers(childURDI, urdi); } } } } foreach (TreeNode node in TreeNodeHierarchy) { UserMarkerRDI urdi = (UserMarkerRDI)node.Tag; node.Checked = urdi.Displayed; } }
public override void SerializeInRDIs(T[] rdis) { if (rdis == null) { return; } foreach (T rdi in RDITree.GetEnumerator(ERDIEnumeration.Full)) { rdi.Displayed = false; } foreach (T rdi in rdis) { T treeRDI = RDITree[rdi.Path]; if ((treeRDI != null) && (treeRDI.CanHaveChildren != rdi.CanHaveChildren)) { TreeNode treeNode = RDITreeNodeHierarchy[treeRDI]; RenameNode(treeNode, treeRDI.GetNewName()); treeRDI = null; } if (treeRDI == null) { AddRDIToTree(rdi); } else { CopySerializedMembers(treeRDI, rdi); } } foreach (TreeNode node in TreeNodeHierarchy) { T rdi = (T)node.Tag; node.Checked = rdi.Displayed; } }
protected override void OnNodeMouseDoubleClick(TreeNodeMouseClickEventArgs e) { base.OnNodeMouseDoubleClick(e); string path = "/" + e.Node.FullPath; float x = float.MinValue; foreach (UserMarkerRDI umrdi in RDITree.GetEnumerator(ERDIEnumeration.OnlyLeafNodes)) { if (umrdi.Path == path) { // only set x to a valid value if it's the only path that matches if (x == float.MinValue) { x = umrdi.m_uml.m_fr.GetDisplayXValue(umrdi.m_logView.m_logData, LogControl.m_OGLGraphingControl.m_againstFrameTime); } else { x = float.MaxValue; } umrdi.Highlight(); } else { umrdi.Unhighlight(); } } if (x != float.MinValue && x != float.MaxValue) { LogControl.m_OGLGraphingControl.ZoomViewToXValue(x); } LogControl.m_OGLGraphingControl.Invalidate(); }