Make structural changes to repository
Modernizes the repository
This commit is contained in:
parent
a67593b58f
commit
7f7f8970bc
412 changed files with 72437 additions and 155552 deletions
421
source/Docking/DockPanelSkin.cs
Normal file
421
source/Docking/DockPanelSkin.cs
Normal file
|
@ -0,0 +1,421 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Drawing.Design;
|
||||
using System.Windows.Forms.Design;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace LSLEditor.Docking
|
||||
{
|
||||
#region DockPanelSkin classes
|
||||
/// <summary>
|
||||
/// The skin to use when displaying the DockPanel.
|
||||
/// The skin allows custom gradient color schemes to be used when drawing the
|
||||
/// DockStrips and Tabs.
|
||||
/// </summary>
|
||||
[TypeConverter(typeof(DockPanelSkinConverter))]
|
||||
public class DockPanelSkin
|
||||
{
|
||||
private AutoHideStripSkin m_autoHideStripSkin;
|
||||
private DockPaneStripSkin m_dockPaneStripSkin;
|
||||
|
||||
public DockPanelSkin()
|
||||
{
|
||||
m_autoHideStripSkin = new AutoHideStripSkin();
|
||||
m_dockPaneStripSkin = new DockPaneStripSkin();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the auto hide strips and tabs.
|
||||
/// </summary>
|
||||
public AutoHideStripSkin AutoHideStripSkin
|
||||
{
|
||||
get { return m_autoHideStripSkin; }
|
||||
set { m_autoHideStripSkin = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the Document and ToolWindow style DockStrips and Tabs.
|
||||
/// </summary>
|
||||
public DockPaneStripSkin DockPaneStripSkin
|
||||
{
|
||||
get { return m_dockPaneStripSkin; }
|
||||
set { m_dockPaneStripSkin = value; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the auto hide strip and tabs.
|
||||
/// </summary>
|
||||
[TypeConverter(typeof(AutoHideStripConverter))]
|
||||
public class AutoHideStripSkin
|
||||
{
|
||||
private DockPanelGradient m_dockStripGradient;
|
||||
private TabGradient m_TabGradient;
|
||||
|
||||
public AutoHideStripSkin()
|
||||
{
|
||||
m_dockStripGradient = new DockPanelGradient();
|
||||
m_dockStripGradient.StartColor = SystemColors.ControlLight;
|
||||
m_dockStripGradient.EndColor = SystemColors.ControlLight;
|
||||
|
||||
m_TabGradient = new TabGradient();
|
||||
m_TabGradient.TextColor = SystemColors.ControlDarkDark;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The gradient color skin for the DockStrips.
|
||||
/// </summary>
|
||||
public DockPanelGradient DockStripGradient
|
||||
{
|
||||
get { return m_dockStripGradient; }
|
||||
set { m_dockStripGradient = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The gradient color skin for the Tabs.
|
||||
/// </summary>
|
||||
public TabGradient TabGradient
|
||||
{
|
||||
get { return m_TabGradient; }
|
||||
set { m_TabGradient = value; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the document and tool strips and tabs.
|
||||
/// </summary>
|
||||
[TypeConverter(typeof(DockPaneStripConverter))]
|
||||
public class DockPaneStripSkin
|
||||
{
|
||||
private DockPaneStripGradient m_DocumentGradient;
|
||||
private DockPaneStripToolWindowGradient m_ToolWindowGradient;
|
||||
|
||||
public DockPaneStripSkin()
|
||||
{
|
||||
m_DocumentGradient = new DockPaneStripGradient();
|
||||
m_DocumentGradient.DockStripGradient.StartColor = SystemColors.Control;
|
||||
m_DocumentGradient.DockStripGradient.EndColor = SystemColors.Control;
|
||||
m_DocumentGradient.ActiveTabGradient.StartColor = SystemColors.ControlLightLight;
|
||||
m_DocumentGradient.ActiveTabGradient.EndColor = SystemColors.ControlLightLight;
|
||||
m_DocumentGradient.InactiveTabGradient.StartColor = SystemColors.ControlLight;
|
||||
m_DocumentGradient.InactiveTabGradient.EndColor = SystemColors.ControlLight;
|
||||
|
||||
m_ToolWindowGradient = new DockPaneStripToolWindowGradient();
|
||||
m_ToolWindowGradient.DockStripGradient.StartColor = SystemColors.ControlLight;
|
||||
m_ToolWindowGradient.DockStripGradient.EndColor = SystemColors.ControlLight;
|
||||
|
||||
m_ToolWindowGradient.ActiveTabGradient.StartColor = SystemColors.Control;
|
||||
m_ToolWindowGradient.ActiveTabGradient.EndColor = SystemColors.Control;
|
||||
|
||||
m_ToolWindowGradient.InactiveTabGradient.StartColor = Color.Transparent;
|
||||
m_ToolWindowGradient.InactiveTabGradient.EndColor = Color.Transparent;
|
||||
m_ToolWindowGradient.InactiveTabGradient.TextColor = SystemColors.ControlDarkDark;
|
||||
|
||||
m_ToolWindowGradient.ActiveCaptionGradient.StartColor = SystemColors.GradientActiveCaption;
|
||||
m_ToolWindowGradient.ActiveCaptionGradient.EndColor = SystemColors.ActiveCaption;
|
||||
m_ToolWindowGradient.ActiveCaptionGradient.LinearGradientMode = LinearGradientMode.Vertical;
|
||||
m_ToolWindowGradient.ActiveCaptionGradient.TextColor = SystemColors.ActiveCaptionText;
|
||||
|
||||
m_ToolWindowGradient.InactiveCaptionGradient.StartColor = SystemColors.GradientInactiveCaption;
|
||||
m_ToolWindowGradient.InactiveCaptionGradient.EndColor = SystemColors.GradientInactiveCaption;
|
||||
m_ToolWindowGradient.InactiveCaptionGradient.LinearGradientMode = LinearGradientMode.Vertical;
|
||||
m_ToolWindowGradient.InactiveCaptionGradient.TextColor = SystemColors.ControlText;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the Document style DockPane strip and tab.
|
||||
/// </summary>
|
||||
public DockPaneStripGradient DocumentGradient
|
||||
{
|
||||
get { return m_DocumentGradient; }
|
||||
set { m_DocumentGradient = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the ToolWindow style DockPane strip and tab.
|
||||
/// </summary>
|
||||
public DockPaneStripToolWindowGradient ToolWindowGradient
|
||||
{
|
||||
get { return m_ToolWindowGradient; }
|
||||
set { m_ToolWindowGradient = value; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the DockPane ToolWindow strip and tab.
|
||||
/// </summary>
|
||||
[TypeConverter(typeof(DockPaneStripGradientConverter))]
|
||||
public class DockPaneStripToolWindowGradient : DockPaneStripGradient
|
||||
{
|
||||
private TabGradient m_activeCaptionGradient;
|
||||
private TabGradient m_inactiveCaptionGradient;
|
||||
|
||||
public DockPaneStripToolWindowGradient()
|
||||
{
|
||||
m_activeCaptionGradient = new TabGradient();
|
||||
m_inactiveCaptionGradient = new TabGradient();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the active ToolWindow caption.
|
||||
/// </summary>
|
||||
public TabGradient ActiveCaptionGradient
|
||||
{
|
||||
get { return m_activeCaptionGradient; }
|
||||
set { m_activeCaptionGradient = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the inactive ToolWindow caption.
|
||||
/// </summary>
|
||||
public TabGradient InactiveCaptionGradient
|
||||
{
|
||||
get { return m_inactiveCaptionGradient; }
|
||||
set { m_inactiveCaptionGradient = value; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the DockPane strip and tab.
|
||||
/// </summary>
|
||||
[TypeConverter(typeof(DockPaneStripGradientConverter))]
|
||||
public class DockPaneStripGradient
|
||||
{
|
||||
private DockPanelGradient m_dockStripGradient;
|
||||
private TabGradient m_activeTabGradient;
|
||||
private TabGradient m_inactiveTabGradient;
|
||||
|
||||
public DockPaneStripGradient()
|
||||
{
|
||||
m_dockStripGradient = new DockPanelGradient();
|
||||
m_activeTabGradient = new TabGradient();
|
||||
m_inactiveTabGradient = new TabGradient();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The gradient color skin for the DockStrip.
|
||||
/// </summary>
|
||||
public DockPanelGradient DockStripGradient
|
||||
{
|
||||
get { return m_dockStripGradient; }
|
||||
set { m_dockStripGradient = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the active DockPane tabs.
|
||||
/// </summary>
|
||||
public TabGradient ActiveTabGradient
|
||||
{
|
||||
get { return m_activeTabGradient; }
|
||||
set { m_activeTabGradient = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the inactive DockPane tabs.
|
||||
/// </summary>
|
||||
public TabGradient InactiveTabGradient
|
||||
{
|
||||
get { return m_inactiveTabGradient; }
|
||||
set { m_inactiveTabGradient = value; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The skin used to display the dock pane tab
|
||||
/// </summary>
|
||||
[TypeConverter(typeof(DockPaneTabGradientConverter))]
|
||||
public class TabGradient : DockPanelGradient
|
||||
{
|
||||
private Color m_textColor;
|
||||
|
||||
public TabGradient()
|
||||
{
|
||||
m_textColor = SystemColors.ControlText;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The text color.
|
||||
/// </summary>
|
||||
[DefaultValue(typeof(SystemColors), "ControlText")]
|
||||
public Color TextColor
|
||||
{
|
||||
get { return m_textColor; }
|
||||
set { m_textColor = value; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The gradient color skin.
|
||||
/// </summary>
|
||||
[TypeConverter(typeof(DockPanelGradientConverter))]
|
||||
public class DockPanelGradient
|
||||
{
|
||||
private Color m_startColor;
|
||||
private Color m_endColor;
|
||||
private LinearGradientMode m_linearGradientMode;
|
||||
|
||||
public DockPanelGradient()
|
||||
{
|
||||
m_startColor = SystemColors.Control;
|
||||
m_endColor = SystemColors.Control;
|
||||
m_linearGradientMode = LinearGradientMode.Horizontal;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The beginning gradient color.
|
||||
/// </summary>
|
||||
[DefaultValue(typeof(SystemColors), "Control")]
|
||||
public Color StartColor
|
||||
{
|
||||
get { return m_startColor; }
|
||||
set { m_startColor = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The ending gradient color.
|
||||
/// </summary>
|
||||
[DefaultValue(typeof(SystemColors), "Control")]
|
||||
public Color EndColor
|
||||
{
|
||||
get { return m_endColor; }
|
||||
set { m_endColor = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The gradient mode to display the colors.
|
||||
/// </summary>
|
||||
[DefaultValue(LinearGradientMode.Horizontal)]
|
||||
public LinearGradientMode LinearGradientMode
|
||||
{
|
||||
get { return m_linearGradientMode; }
|
||||
set { m_linearGradientMode = value; }
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Converters
|
||||
public class DockPanelSkinConverter : ExpandableObjectConverter
|
||||
{
|
||||
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(DockPanelSkin))
|
||||
return true;
|
||||
|
||||
return base.CanConvertTo(context, destinationType);
|
||||
}
|
||||
|
||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(String) && value is DockPanelSkin)
|
||||
{
|
||||
return "DockPanelSkin";
|
||||
}
|
||||
return base.ConvertTo(context, culture, value, destinationType);
|
||||
}
|
||||
}
|
||||
|
||||
public class DockPanelGradientConverter : ExpandableObjectConverter
|
||||
{
|
||||
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(DockPanelGradient))
|
||||
return true;
|
||||
|
||||
return base.CanConvertTo(context, destinationType);
|
||||
}
|
||||
|
||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(String) && value is DockPanelGradient)
|
||||
{
|
||||
return "DockPanelGradient";
|
||||
}
|
||||
return base.ConvertTo(context, culture, value, destinationType);
|
||||
}
|
||||
}
|
||||
|
||||
public class AutoHideStripConverter : ExpandableObjectConverter
|
||||
{
|
||||
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(AutoHideStripSkin))
|
||||
return true;
|
||||
|
||||
return base.CanConvertTo(context, destinationType);
|
||||
}
|
||||
|
||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(String) && value is AutoHideStripSkin)
|
||||
{
|
||||
return "AutoHideStripSkin";
|
||||
}
|
||||
return base.ConvertTo(context, culture, value, destinationType);
|
||||
}
|
||||
}
|
||||
|
||||
public class DockPaneStripConverter : ExpandableObjectConverter
|
||||
{
|
||||
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(DockPaneStripSkin))
|
||||
return true;
|
||||
|
||||
return base.CanConvertTo(context, destinationType);
|
||||
}
|
||||
|
||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(String) && value is DockPaneStripSkin)
|
||||
{
|
||||
return "DockPaneStripSkin";
|
||||
}
|
||||
return base.ConvertTo(context, culture, value, destinationType);
|
||||
}
|
||||
}
|
||||
|
||||
public class DockPaneStripGradientConverter : ExpandableObjectConverter
|
||||
{
|
||||
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(DockPaneStripGradient))
|
||||
return true;
|
||||
|
||||
return base.CanConvertTo(context, destinationType);
|
||||
}
|
||||
|
||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(String) && value is DockPaneStripGradient)
|
||||
{
|
||||
return "DockPaneStripGradient";
|
||||
}
|
||||
return base.ConvertTo(context, culture, value, destinationType);
|
||||
}
|
||||
}
|
||||
|
||||
public class DockPaneTabGradientConverter : ExpandableObjectConverter
|
||||
{
|
||||
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(TabGradient))
|
||||
return true;
|
||||
|
||||
return base.CanConvertTo(context, destinationType);
|
||||
}
|
||||
|
||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
|
||||
{
|
||||
if (destinationType == typeof(String) && value is TabGradient)
|
||||
{
|
||||
return "DockPaneTabGradient";
|
||||
}
|
||||
return base.ConvertTo(context, culture, value, destinationType);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue