Ejemplo n.º 1
0
        /// <summary>
        /// Handles the AfterSelect event of the BrowseTV control.
        /// </summary>
        private void BrowseTV_AfterSelect(object sender, TreeViewEventArgs e)
        {
            try
            {
                m_selectedNodeId = null;

                if (BrowseTV.SelectedNode == null)
                {
                    if (m_AfterSelect != null)
                    {
                        m_AfterSelect(this, new EventArgs());
                    }
                    return;
                }

                // get node to browse.
                ReferenceDescription reference = (ReferenceDescription)e.Node.Tag;
                NodeId nodeId = m_rootId;

                if (reference != null)
                {
                    nodeId = (NodeId)reference.NodeId;
                }

                m_selectedNodeId = nodeId;

                if (AttributesControl != null)
                {
                    AttributesControl.ReadAttributes(m_selectedNodeId, true);
                }

                // raise event.
                if (m_AfterSelect != null)
                {
                    m_AfterSelect(this, new EventArgs());
                }
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Changes the session used by the control.
        /// </summary>
        private void ChangeSession(Session session, bool refresh)
        {
            m_session = session;

            if (AttributesControl != null)
            {
                AttributesControl.ChangeSession(session);
            }

            BrowseTV.Nodes.Clear();

            if (m_session != null)
            {
                INode node = m_session.NodeCache.Find(m_rootId);

                if (node != null)
                {
                    TreeNode root = new TreeNode(node.ToString());
                    root.ImageIndex =
                        ClientUtils.GetImageIndex(m_session, node.NodeClass, node.TypeDefinitionId, false);
                    root.SelectedImageIndex =
                        ClientUtils.GetImageIndex(m_session, node.NodeClass, node.TypeDefinitionId, true);

                    ReferenceDescription reference = new ReferenceDescription();
                    reference.NodeId         = node.NodeId;
                    reference.NodeClass      = node.NodeClass;
                    reference.BrowseName     = node.BrowseName;
                    reference.DisplayName    = node.DisplayName;
                    reference.TypeDefinition = node.TypeDefinitionId;
                    root.Tag = reference;

                    root.Nodes.Add(new TreeNode());
                    BrowseTV.Nodes.Add(root);
                    root.Expand();
                    BrowseTV.SelectedNode = root;
                }
            }
        }