Exemplo n.º 1
0
        /// <summary>
        /// Searching a contact downwards the treeview
        /// </summary>
        /// <param name="node"></param>
        /// <param name="pattern"></param>
        private void FindNext(RosterNode node, string pattern)
        {
            if (
                (node.NodeType == RosterNodeType.RootNode || node.NodeType == RosterNodeType.GroupNode) &&
                node.Nodes.Count > 0 &&
                !node.IsExpanded
                )
            {
                node.Expand();
            }

            if (node.NextVisibleNode != null)
            {
                node = node.NextVisibleNode as RosterNode;
                if (node.NodeType == RosterNodeType.RosterNode &&
                    node.Text.ToLower().Contains(pattern.ToLower()))
                {
                    treeView.SelectedNode = node;
                    node.EnsureVisible();
                    treeView.Focus();
                }
                else
                {
                    FindNext(node, pattern);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Moves a Node from the online section to the offline section or vice versa
        /// </summary>
        /// <param name="rdata"></param>
        /// <param name="from"></param>
        /// <param name="to"></param>
        private void MoveRoster(RosterData rdata, RosterNode from, RosterNode to)
        {
            RosterNode groupNode;

            string groupName = rdata.Group;

            groupNode = GetGroup(to, groupName);
            if (groupNode == null)
            {
                groupNode = AddGroup(groupName, to);
            }

            RosterNode newNode = rdata.RosterNode.Clone() as RosterNode;

            groupNode.Nodes.Add(newNode);

            // Expand all groupes in the Online Node
            if (to == m_RootOnline)
            {
                groupNode.Expand();
                m_RootOnline.Expand();
            }

            TreeNode Parent = rdata.RosterNode.Parent;

            rdata.RosterNode.Remove();
            rdata.RosterNode = null;
            rdata.RosterNode = newNode;

            if (m_HideEmptyGroups)
            {
                if (Parent.Nodes.Count == 0)
                {
                    Parent.Remove();
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Searching a contact downwards the treeview
        /// </summary>
        /// <param name="node"></param>
        /// <param name="pattern"></param>
        private void FindNext(RosterNode node, string pattern)
        {                 
                           
            if (
                (node.NodeType == RosterNodeType.RootNode || node.NodeType == RosterNodeType.GroupNode)
                && node.Nodes.Count > 0
                && !node.IsExpanded
                )
                node.Expand();

            if (node.NextVisibleNode != null)
            {
                node = node.NextVisibleNode as RosterNode;
                if ( node.NodeType == RosterNodeType.RosterNode
                     && node.Text.ToLower().Contains(pattern.ToLower()) )
                {
                    treeView.SelectedNode = node;
                    node.EnsureVisible();
                    treeView.Focus();
                }
                else
                    FindNext(node, pattern);
            }
            
        }