+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.
#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)
}
}
+ 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)
}
}
- 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)
{
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)