Ejemplo n.º 1
0
        public void Remove(ThreadedListViewItem lvi)
        {
            UltraTreeNodeExtended node = GetFromLVI(lvi);

            if (node == null)
            {
                return;
            }
            //
            UltraTreeNode parent = null;

            if (node.Level == 1)
            {
                parent = node.Parent;
            }
            _lviItems.Remove(lvi);
            node.Parent.Nodes.Remove(node);
            if (parent != null)
            {
                if (parent.Nodes.Count == 0)
                {
                    this.Nodes.Remove(parent);
                }
            }
        }
Ejemplo n.º 2
0
 public void ConfigureArticle(UltraTreeNodeExtended n, INewsItem ni)
 {
     n.Cells[0].Value                            = /*ni.Date.ToString()+" "+ */ ni.Title;
     n.Cells[0].Appearance.Cursor                = Cursors.Hand;
     n.Override.NodeAppearance.Cursor            = Cursors.Hand;
     n.Override.HotTrackingNodeAppearance.Cursor = Cursors.Hand;
 }
Ejemplo n.º 3
0
        public UltraTreeNodeExtended GetRootNode(DateTime dt)
        {
            DateTime dt0;
            bool     isGroupOneDay;
            string   res = GetRootString(dt, out dt0, out isGroupOneDay);

            foreach (UltraTreeNodeExtended node in this.Nodes)
            {
                if (node.Text == res)
                {
                    return(node);
                }
            }
            //Create DateTime Group Node
            UltraTreeNodeExtended newNode = new UltraTreeNodeExtended();

            newNode.DateTime      = dt0;
            newNode.IsGroupOneDay = isGroupOneDay;
            this.Nodes.Add(newNode);
            newNode.Cells[0].Value                            = /*dt0.ToString()+" "+ */ res;
            newNode.Cells[0].Appearance.Cursor                = Cursors.Hand;
            newNode.Override.NodeAppearance.Cursor            = Cursors.Hand;
            newNode.Override.HotTrackingNodeAppearance.Cursor = Cursors.Hand;
            newNode.Override.ItemHeight                       = DATETIME_GROUP_HEIGHT;

            return(newNode);
        }
Ejemplo n.º 4
0
        public int Compare(object x, object y)
        {
            UltraTreeNodeCell     xc = (UltraTreeNodeCell)x;
            UltraTreeNodeCell     yc = (UltraTreeNodeCell)y;
            UltraTreeNodeExtended n1 = xc.Node as UltraTreeNodeExtended;
            UltraTreeNodeExtended n2 = yc.Node as UltraTreeNodeExtended;

            if (n1 == null && n2 == null)
            {
                return(0);
            }
            if (n1 == null)
            {
                return(-1);
            }
            if (n2 == null)
            {
                return(1);
            }
            if (n1.Level == 2 && n2.Level == 2)
            {
                return(n1.DateTime.CompareTo(n2.DateTime));                //We want the comments to be in ascending order
            }
            return(n2.DateTime.CompareTo(n1.DateTime));
        }
Ejemplo n.º 5
0
 private static void ConfigureComment(UltraTreeNodeExtended n, INewsItem ni)
 {
     n.Override.ItemHeight                       = COMMENT_HEIGHT;
     n.Cells[0].Value                            = ni.Title;
     n.Cells[0].Appearance.Cursor                = Cursors.Hand;
     n.Override.NodeAppearance.Cursor            = Cursors.Hand;
     n.Override.HotTrackingNodeAppearance.Cursor = Cursors.Hand;
 }
Ejemplo n.º 6
0
        public void AddCommentUpdating(ThreadedListViewItem lvi)
        {
            UltraTreeNodeExtended node = GetFromLVI(lvi);

            if (node.Nodes.Count > 0)
            {
                //It already has comments => don't do anything
                return;
            }
            //
            UltraTreeNodeExtended n = new UltraTreeNodeExtended();

            n.IsCommentUpdating   = true;
            n.Override.ItemHeight = COMMENT_HEIGHT;
            node.Nodes.Add(n);
            n.Cells[0].Value = SR.GUIStatusLoadingChildItems;
        }
Ejemplo n.º 7
0
        public void Add(ThreadedListViewItem item)
        {
            INewsItem             ni = (INewsItem)item.Key;
            UltraTreeNodeExtended root;

            if (item.IsComment)
            {
                //IsComment
                root = GetFromLVI(item.Parent);
            }
            else
            {
                root = GetRootNode(ni.Date.ToLocalTime());
            }
            //
            UltraTreeNodeExtended n = new UltraTreeNodeExtended();

            n.NewsItem  = ni;
            n.DateTime  = ni.Date;
            n.NodeOwner = item;
            _lviItems.Add(item, n);
            root.Nodes.Add(n);
            //
            if (item.IsComment)
            {
                ConfigureComment(n, ni);
            }
            else
            {
                ConfigureArticle(n, ni);
            }
            //Comments
            if (ni.CommentCount > 0 && !item.IsComment)
            {
                n.Override.ShowExpansionIndicator = ShowExpansionIndicator.Always;
            }
            //
            if (!item.IsComment)
            {
                root.Expanded = true;
            }
        }
Ejemplo n.º 8
0
        public void AddRangeComments(ThreadedListViewItem pLVI, ThreadedListViewItem[] items)
        {
            this.BeginUpdate();
            //
            UltraTreeNodeExtended parent = GetFromLVI(pLVI);

            parent.Nodes.Clear();
            //
            foreach (ThreadedListViewItem item in items)
            {
                INewsItem             ni = (INewsItem)item.Key;
                UltraTreeNodeExtended n  = new UltraTreeNodeExtended();
                n.NewsItem  = ni;
                n.DateTime  = ni.Date;
                n.NodeOwner = item;
                _lviItems.Add(item, n);
                parent.Nodes.Add(n);
                //
                ConfigureComment(n, ni);
            }
            //
            this.EndUpdate();
        }