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); } } }
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; }
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); }
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)); }
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; }
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; }
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; } }
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(); }