Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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));
                }
            }
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        /*
         * 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());
            }
        }
Esempio n. 5
0
        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);
            }
        }