Author: calberto
Date: 2007-08-21 14:18:55 -0400 (Tue, 21 Aug 2007)
New Revision: 84575
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ListViewGroupCollection.cs
Log:
2007-08-21 Carlos Alberto Cortez <[EMAIL PROTECTED]>
* ListViewGroupCollection.cs: Implement AddRange the right way, to
only call Redraw on the parent one time.
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2007-08-21 18:15:13 UTC (rev 84574)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2007-08-21 18:18:55 UTC (rev 84575)
@@ -1,3 +1,8 @@
+2007-08-21 Carlos Alberto Cortez <[EMAIL PROTECTED]>
+
+ * ListViewGroupCollection.cs: Implement AddRange the right way, to
+ only call Redraw on the parent one time.
+
2007-08-21 Rolf Bjarne Kvinge <[EMAIL PROTECTED]>
* DataGridViewRowHeaderCell.cs, DataGridViewColumnHeaderCell.cs:
Implemented
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ListViewGroupCollection.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ListViewGroupCollection.cs
2007-08-21 18:15:13 UTC (rev 84574)
+++
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ListViewGroupCollection.cs
2007-08-21 18:18:55 UTC (rev 84575)
@@ -102,9 +102,7 @@
if (Contains(value))
return -1;
- CheckListViewItemsInGroup(value);
- value.ListViewOwner = this.list_view_owner;
- list.Add (value);
+ AddGroup (value);
if (this.list_view_owner != null)
list_view_owner.Redraw(true);
@@ -271,20 +269,32 @@
public void AddRange(ListViewGroup[] groups)
{
- foreach (ListViewGroup item in groups)
- {
- Add(item);
- }
+ foreach (ListViewGroup group in groups)
+ AddGroup (group);
+
+ if (list_view_owner != null)
+ list_view_owner.Redraw (true);
}
public void AddRange(ListViewGroupCollection groups)
{
- foreach (ListViewGroup item in groups)
- {
- Add(item);
- }
+ foreach (ListViewGroup group in groups)
+ AddGroup (group);
+
+ if (list_view_owner != null)
+ list_view_owner.Redraw (true);
}
+ void AddGroup (ListViewGroup group)
+ {
+ if (Contains (group))
+ return;
+
+ CheckListViewItemsInGroup (group);
+ ListViewOwner = list_view_owner;
+ list.Add (group);
+ }
+
private void CheckListViewItemsInGroup(ListViewGroup value)
{
//check for correct ListView
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches