void FillModuleSubTree(DicomElement element, TreeNode ParentNode, bool recurse) { TreeNode node; string name; string temp = ""; DicomElement tempElement; DicomTag tag = DicomTagTable.Instance.Find(element.Tag); temp = string.Format("{0:x4}:{1:x4} - ", Utils.GetGroup((long)element.Tag), Utils.GetElement((long)element.Tag)); if (tag == null) { name = "Item"; } else { name = tag.Name; } temp = temp + name; if (ParentNode != null) { node = ParentNode.Nodes.Add(temp); } else { node = _treeView_Elements.Nodes.Add(temp); } node.Tag = element; if (_dsImage.IsVolatileElement(element)) { node.ForeColor = Color.Red; } node.ImageIndex = 1; node.SelectedImageIndex = 1; tempElement = _dsImage.GetChildElement(element, true); if (tempElement != null) { node.ImageIndex = 0; node.SelectedImageIndex = 0; FillModuleSubTree(tempElement, node, true); } if (recurse) { tempElement = _dsImage.GetNextElement(element, true, true); if (tempElement != null) { FillModuleSubTree(tempElement, ParentNode, true); } } }
private void propertyGridDataSet_BeforeAddElement(object sender, BeforeAddElementEventArgs e) { if (CellHasImage()) { if (e.Element.DicomElement.Tag == DicomTag.PatientID && e.Element.Value != null) { SetUserTag(0, MedicalViewerTagAlignment.TopLeft, "PID: " + e.Element.Value); } if (e.Element.DicomElement.Tag == DicomTag.PatientName && e.Element.Value != null) { SetUserTag(1, MedicalViewerTagAlignment.TopLeft, e.Element.Value); } } if (_DataSet != null) { if (_DataSet.IsVolatileElement(e.Element.DicomElement)) { e.Element.Attributes.Add(new ReadOnlyAttribute(true)); } } }
void FillSubTree(DicomDataSet ds, DicomElement element, TreeNode ParentNode) { TreeNode node; string name; string temp = ""; DicomTag tag; DicomElement tempElement; tag = DicomTagTable.Instance.Find(element.Tag); if (tag != null) { name = tag.Name; } else { name = "Item"; } long tagValue = 0; tagValue = element.Tag; temp = string.Format("{0:x4}:{1:x4} - ", tagValue.GetGroup(), tagValue.GetElement()); temp = temp + name; if (ParentNode != null) { node = ParentNode.Nodes.Add(temp); } else { node = treeViewMPPSDataset.Nodes.Add(temp); } node.Tag = element.Tag; if (ds.IsVolatileElement(element)) { node.ForeColor = Color.Red; } node.ImageIndex = 1; node.SelectedImageIndex = 1; tempElement = ds.GetChildElement(element, true); if (tempElement != null) { node.ImageIndex = 0; node.SelectedImageIndex = 0; FillSubTree(ds, tempElement, node); } tempElement = ds.GetNextElement(element, true, true); if (tempElement != null) { FillSubTree(ds, tempElement, ParentNode); } else { element = ds.GetParentElement(element); } }
/* * Recursively fills the tree with elements and modules */ void FillModuleSubTree(DicomElement element, TreeNode ParentNode, bool recurse) { try { TreeNode node; string name, value; string temp = ""; DicomElement tempElement; DicomTag tag; // Build the string representing the tree node // Get the tag { tag = DicomTagTable.Instance.Find(element.Tag); temp = string.Format("{0:x4}:{1:x4} - ", Utils.GetGroup((long)element.Tag), Utils.GetElement((long)element.Tag)); } // Get the tag name if (tag == null) { name = "Item"; } else { name = tag.Name; } // Get the tag value value = ""; value = ds.GetConvertValue(element); temp = temp + name + " : " + value; if (ParentNode != null) { node = ParentNode.Nodes.Add(temp); } else { node = treeViewElements.Nodes.Add(temp); } node.Tag = element; if (ds.IsVolatileElement(element)) { node.ForeColor = Color.Red; } node.ImageIndex = 1; node.SelectedImageIndex = 1; // Recursively fille the tree if there are children tempElement = ds.GetChildElement(element, true); if (tempElement != null) { node.ImageIndex = 0; node.SelectedImageIndex = 0; FillModuleSubTree(tempElement, node, true); } // Recursively fill the tree for the next element if (recurse) { tempElement = ds.GetNextElement(element, true, true); if (tempElement != null) { FillModuleSubTree(tempElement, ParentNode, true); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
void FillSubTree(DicomElement element, TreeNode ParentNode) { TreeNode node; string name; string temp = ""; DicomTag tag; DicomElement tempElement; #if (LTV15_CONFIG) if (element.UserTag != 0) { tag = DicomTagTable.Instance.Find(element.UserTag); } else { tag = DicomTagTable.Instance.Find(element.Tag); } #else tag = DicomTagTable.Instance.Find(element.Tag); #endif if (tag != null) { name = tag.Name; } else { name = "Item"; } long tagValue = 0; #if (LTV15_CONFIG) if (element.UserTag != 0) { tagValue = element.UserTag; } else { tagValue = (long)element.Tag; } #else tagValue = (long)element.Tag; #endif temp = string.Format("{0:x4}:{1:x4} - ", Utils.GetGroup(tagValue), Utils.GetElement(tagValue)); temp = temp + name; if (ParentNode != null) { node = ParentNode.Nodes.Add(temp); } else { node = treeViewElements.Nodes.Add(temp); } node.Tag = element; if (ds.IsVolatileElement(element)) { node.ForeColor = Color.Red; } node.ImageIndex = 1; node.SelectedImageIndex = 1; tempElement = ds.GetChildElement(element, true); if (tempElement != null) { node.ImageIndex = 0; node.SelectedImageIndex = 0; FillSubTree(tempElement, node); } tempElement = ds.GetNextElement(element, true, true); if (tempElement != null) { FillSubTree(tempElement, ParentNode); } }