Skip to content

Commit 3aa505a

Browse files
committed
New themeing for DockPaneCaption and DockPaneStrip.
1 parent 01bd468 commit 3aa505a

File tree

3 files changed

+60
-16
lines changed

3 files changed

+60
-16
lines changed

PluginCore/DockPanelSuite/Customization/DockPanelStripRenderer.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,11 @@ protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
465465
{
466466
if (renderer is ToolStripProfessionalRenderer)
467467
{
468-
Color text = PluginBase.MainForm.GetThemeColor("ToolStripItem.TextColor");
468+
Color text;
469+
if (e.ToolStrip is StatusStrip)
470+
text = PluginBase.MainForm.GetThemeColor("StatusStrip.ForeColor");
471+
else
472+
text = PluginBase.MainForm.GetThemeColor("ToolStripItem.TextColor");
469473
if (text != Color.Empty) e.TextColor = text;
470474
}
471475
renderer.DrawItemText(e);

PluginCore/DockPanelSuite/Customization/VS2005DockPaneCaption.cs

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ public override Bitmap Image
4141

4242
protected override void OnRefreshChanges()
4343
{
44-
if (DockPaneCaption.TextColor != ForeColor)
44+
if (DockPaneCaption.ImageColor != ForeColor)
4545
{
46-
ForeColor = DockPaneCaption.TextColor;
46+
ForeColor = DockPaneCaption.ImageColor;
4747
Invalidate();
4848
}
4949
}
@@ -348,11 +348,31 @@ private static Color InactiveTextColor
348348

349349
private Color TextColor
350350
{
351-
get
351+
get
352352
{
353-
Color color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneCaption.ForeColor");
353+
Color color;
354+
if (DockPane.IsActivated)
355+
color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneCaption.ActiveForeColor");
356+
else
357+
color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneCaption.ForeColor");
358+
359+
if (color != Color.Empty) return color;
360+
else return DockPane.IsActivated ? ActiveTextColor : InactiveTextColor;
361+
}
362+
}
363+
364+
private Color ImageColor
365+
{
366+
get
367+
{
368+
Color color;
369+
if (DockPane.IsActivated)
370+
color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneCaption.ActiveImageColor");
371+
else
372+
color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneCaption.ImageColor");
373+
354374
if (color != Color.Empty) return color;
355-
else return DockPane.IsActivated ? ActiveTextColor : InactiveTextColor;
375+
else return DockPane.IsActivated ? ActiveTextColor : InactiveTextColor;
356376
}
357377
}
358378

PluginCore/DockPanelSuite/Customization/VS2005DockPaneStrip.cs

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ public override Bitmap Image
8585

8686
protected override void OnRefreshChanges()
8787
{
88-
if (VS2005DockPaneStrip.ColorDocumentActiveText != ForeColor)
88+
if (VS2005DockPaneStrip.ImageColor != ForeColor)
8989
{
90-
ForeColor = VS2005DockPaneStrip.ColorDocumentActiveText;
90+
ForeColor = VS2005DockPaneStrip.ImageColor;
9191
Invalidate();
9292
}
9393
}
@@ -422,7 +422,17 @@ private static int DocumentTextGapRight
422422
get { return ScaleHelper.Scale(_DocumentTextGapRight); }
423423
}
424424

425-
private static Pen PenToolWindowTabBorder
425+
private static Pen PenToolWindowTabActiveBorder
426+
{
427+
get
428+
{
429+
Color color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneStrip.ToolActiveBorderColor");
430+
if (color != Color.Empty) return new Pen(color);
431+
else return SystemPens.ControlDark;
432+
}
433+
}
434+
435+
private static Pen PenToolWindowTabInactiveBorder
426436
{
427437
get
428438
{
@@ -493,7 +503,7 @@ private static Color ColorToolWindowActiveText
493503
{
494504
get
495505
{
496-
Color color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneStrip.ForeColor");
506+
Color color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneStrip.ToolActiveForeColor");
497507
if (color != Color.Empty) return color;
498508
else return SystemColors.ControlText;
499509
}
@@ -503,7 +513,7 @@ private static Color ColorDocumentActiveText
503513
{
504514
get
505515
{
506-
Color color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneStrip.TabForeColor");
516+
Color color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneStrip.DocTabActiveForeColor");
507517
if (color != Color.Empty) return color;
508518
else return SystemColors.ControlText;
509519
}
@@ -529,6 +539,16 @@ private static Color ColorDocumentInactiveText
529539
}
530540
}
531541

542+
private static Color ImageColor
543+
{
544+
get
545+
{
546+
Color color = PluginCore.PluginBase.MainForm.GetThemeColor("VS2005DockPaneStrip.ImageColor");
547+
if (color != Color.Empty) return color;
548+
else return SystemColors.ControlText;
549+
}
550+
}
551+
532552
#endregion
533553

534554
public VS2005DockPaneStrip(DockPane pane) : base(pane)
@@ -1023,7 +1043,7 @@ private void DrawTabStrip_ToolWindow(Graphics g)
10231043
{
10241044
Rectangle rectTabStrip = TabStripRectangle;
10251045

1026-
g.DrawLine(PenToolWindowTabBorder, rectTabStrip.Left, rectTabStrip.Top,
1046+
g.DrawLine(PenToolWindowTabActiveBorder, rectTabStrip.Left, rectTabStrip.Top,
10271047
rectTabStrip.Right, rectTabStrip.Top);
10281048

10291049
for (int i=0; i<Tabs.Count; i++)
@@ -1183,12 +1203,12 @@ private void DrawTab_ToolWindow(Graphics g, TabVS2005 tab, Rectangle rect)
11831203
if (DockPane.ActiveContent == tab.Content)
11841204
{
11851205
g.FillPath(BrushToolWindowActiveBackground, path);
1186-
g.DrawPath(PenToolWindowTabBorder, path);
1206+
g.DrawPath(PenToolWindowTabActiveBorder, path);
11871207

11881208
// NICK: eliminate line between tab and content
1189-
RectangleF r = path.GetBounds();
1190-
using (Pen pen = new Pen(Color.FromArgb(240, 239, 243)))
1191-
g.DrawLine(pen, r.Left + 1, r.Top, r.Right - 1, r.Top);
1209+
//RectangleF r = path.GetBounds();
1210+
//using (Pen pen = new Pen(BackColor))
1211+
// g.DrawLine(pen, r.Left + 1, r.Top, r.Right - 1, r.Top);
11921212

11931213
TextRenderer.DrawText(g, tab.Content.DockHandler.TabText, Font, rectText, ColorToolWindowActiveText, ToolWindowTextFormat);
11941214
}

0 commit comments

Comments
 (0)