2008-05-02 George Giolfan <georgegiolfan@yahoo.com>
authorGeorge Giolfan <ggiolfan@mono-cvs.ximian.com>
Fri, 2 May 2008 20:41:47 +0000 (20:41 -0000)
committerGeorge Giolfan <ggiolfan@mono-cvs.ximian.com>
Fri, 2 May 2008 20:41:47 +0000 (20:41 -0000)
* Theme.cs, ThemeWin32Classic.cs, TreeView.cs: Refactored:
Moved TreeView.DrawNodePlusMinus to Theme.TreeViewDrawNodePlusMinus.

svn path=/trunk/mcs/; revision=102381

mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms/Theme.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeView.cs

index 20064121b8198c273141c5a57cfe98a38bed2c1f..3c28403bb8fb03e64be9d914f33d146cabff4efc 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-02  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs, ThemeWin32Classic.cs, TreeView.cs: Refactored:
+       Moved TreeView.DrawNodePlusMinus to Theme.TreeViewDrawNodePlusMinus.
+
 2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
 
        * OpenFileDialog.cs: Implement 2.0 SP1 stuffs.
index 0ee0ae017d9937e08efc905a8fc13e8e4bb0b919..9848818df006b4c2a383938abda67390901c2e46 100644 (file)
@@ -961,6 +961,7 @@ namespace System.Windows.Forms
 
                #region TreeView
                public abstract Size TreeViewDefaultSize { get; }
+               public abstract void TreeViewDrawNodePlusMinus (TreeView treeView, TreeNode node, Graphics dc, int x, int middle);
                #endregion
 
                public virtual void DrawManagedWindowDecorations (Graphics dc, Rectangle clip, InternalWindowManager wm)
index 3f11ae7de10809d85bbdbe929668b26152c77d56..80259675654b3650ba17421aa5e58cd80c01f3dc 100644 (file)
@@ -5640,6 +5640,20 @@ namespace System.Windows.Forms
                        }
                }
 
+               public override void TreeViewDrawNodePlusMinus (TreeView treeView, TreeNode node, Graphics dc, int x, int middle)
+               {
+                       int height = treeView.ActualItemHeight - 2;
+                       dc.FillRectangle (ResPool.GetSolidBrush (treeView.BackColor), (x + 4) - (height / 2), node.GetY() + 1, height, height);
+                       
+                       dc.DrawRectangle (SystemPens.ControlDarkDark, x, middle - 4, 8, 8);
+
+                       if (node.IsExpanded) {
+                               dc.DrawLine (SystemPens.ControlDarkDark, x + 2, middle, x + 6, middle); 
+                       } else {
+                               dc.DrawLine (SystemPens.ControlDarkDark, x + 2, middle, x + 6, middle);
+                               dc.DrawLine (SystemPens.ControlDarkDark, x + 4, middle - 2, x + 4, middle + 2);
+                       }
+               }
                #endregion
 
                public override int ManagedWindowTitleBarHeight (InternalWindowManager wm)
index 4ebac876b32c369d4343d3906fefeac585afa074..85a3d11d12ba007bc175c5c76f8861019645cfd5 100644 (file)
@@ -1502,21 +1502,6 @@ namespace System.Windows.Forms {
                        }
                }
 
-               private void DrawNodePlusMinus (TreeNode node, Graphics dc, int x, int middle)
-               {
-                       int height = ActualItemHeight - 2;
-                       dc.FillRectangle (ThemeEngine.Current.ResPool.GetSolidBrush (BackColor), (x + 4) - (height / 2), node.GetY() + 1, height, height);
-                       
-                       dc.DrawRectangle (SystemPens.ControlDarkDark, x, middle - 4, 8, 8);
-
-                       if (node.IsExpanded) {
-                               dc.DrawLine (SystemPens.ControlDarkDark, x + 2, middle, x + 6, middle); 
-                       } else {
-                               dc.DrawLine (SystemPens.ControlDarkDark, x + 2, middle, x + 6, middle);
-                               dc.DrawLine (SystemPens.ControlDarkDark, x + 4, middle - 2, x + 4, middle + 2);
-                       }
-               }
-
 #if NET_2_0
                private void DrawNodeState (TreeNode node, Graphics dc, int x, int y)
                {
@@ -1803,7 +1788,7 @@ namespace System.Windows.Forms {
 
                        if (draw_mode == TreeViewDrawMode.Normal || draw_mode == TreeViewDrawMode.OwnerDrawText) {
                                if ((show_root_lines || node.Parent != null) && show_plus_minus && child_count > 0)
-                                       DrawNodePlusMinus (node, dc, node.GetLinesX () - Indent + 5, middle);
+                                       ThemeEngine.Current.TreeViewDrawNodePlusMinus (this, node, dc, node.GetLinesX () - Indent + 5, middle);
 
 #if NET_2_0
                                if (checkboxes && state_image_list == null)