1209 lines
38 KiB
C#

using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;
namespace DevComponents.DotNetBar.Charts.Style
{
/// <summary>
/// Represents the visual style of a ChartSeries
/// </summary>
[ToolboxItem(false), DesignTimeVisible(false)]
[TypeConverter(typeof(VisualStylesConverter))]
public class ChartSeriesVisualStyle : BaseVisualStyle
{
#region Private variables
private ChartLineVisualStyle _LineStyle;
private ChartLineVisualStyle _SplineStyle;
private ChartCapLineVisualStyle _StepLineStyle;
private ChartBarVisualStyle _BarVisualStyle;
private ChartHiLoBarVisualStyle _HiLoBarVisualStyle;
private Background _EmptyAreaBackground;
private Background _LineAreaBackground;
private Background _SplineAreaBackground;
private Background _StepLineAreaBackground;
private ChartCapLineVisualStyle _StepLineAltStyle;
private ChartLineVisualStyle _EmptyStyle;
private PointMarkerVisualStyle _MarkerVisualStyle;
private PointMarkerVisualStyle _MarkerHighlightVisualStyle;
private PointMarkerVisualStyle _MarkerEmptyVisualStyle;
private ChartLineVisualStyle _ConvexHullLineStyle;
private Background _ConvexHullBackground;
private ChartSliceVisualStyle _SliceVisualStyle;
private Color _ItemColor = Color.Empty;
#endregion
#region Public properties
#region BarVisualStyle
/// <summary>
/// Gets or sets the visual style for series Bars.
/// </summary>
[Category("Style")]
[Description("Indicates the visual style for series Bars.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartBarVisualStyle BarVisualStyle
{
get
{
if (_BarVisualStyle == null)
{
_BarVisualStyle = new ChartBarVisualStyle();
UpdateChangeHandler(null, _BarVisualStyle);
}
return (_BarVisualStyle);
}
set
{
if (_BarVisualStyle != value)
{
ChartBarVisualStyle oldValue = _BarVisualStyle;
_BarVisualStyle = value;
OnStyleChanged("BarVisualStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region ConvexHullBackground
/// <summary>
/// Gets or sets the ConvexHull background.
/// </summary>
[Description("Indicates the the ConvexHull background.")]
public Background ConvexHullBackground
{
get
{
if (_ConvexHullBackground == null)
{
_ConvexHullBackground = Background.Empty;
UpdateChangeHandler(null, _ConvexHullBackground);
}
return (_ConvexHullBackground);
}
set
{
if (_ConvexHullBackground != value)
{
UpdateChangeHandler(_ConvexHullBackground, value);
_ConvexHullBackground = value;
OnPropertyChangedEx("ConvexHullBackground", VisualChangeType.Render);
}
}
}
/// <summary>
/// Gets whether property should be serialized.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private bool ShouldSerializeConvexHullBackground()
{
return (_ConvexHullBackground != null && _ConvexHullBackground.IsEmpty == false);
}
/// <summary>
/// Resets property to its default value.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private void ResetConvexHullBackground()
{
ConvexHullBackground = null;
}
#endregion
#region ConvexHullLineStyle
/// <summary>
/// Gets or sets the visual style for the ConvexHull Lines.
/// </summary>
[Category("Style")]
[Description("Indicates the visual style for the ConvexHull Lines.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartLineVisualStyle ConvexHullLineStyle
{
get
{
if (_ConvexHullLineStyle == null)
{
_ConvexHullLineStyle = new ChartLineVisualStyle();
UpdateChangeHandler(null, _ConvexHullLineStyle);
}
return (_ConvexHullLineStyle);
}
set
{
if (_ConvexHullLineStyle != value)
{
ChartLineVisualStyle oldValue = _ConvexHullLineStyle;
_ConvexHullLineStyle = value;
OnStyleChanged("ConvexHullLineStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region EmptyAreaBackground
/// <summary>
/// Gets or sets the Empty Area Background.
/// </summary>
[Description("Indicates the Empty Area Background.")]
public Background EmptyAreaBackground
{
get
{
if (_EmptyAreaBackground == null)
{
_EmptyAreaBackground = Background.Empty;
UpdateChangeHandler(null, _EmptyAreaBackground);
}
return (_EmptyAreaBackground);
}
set
{
if (_EmptyAreaBackground != value)
{
UpdateChangeHandler(_EmptyAreaBackground, value);
_EmptyAreaBackground = value;
OnPropertyChangedEx("EmptyAreaBackground", VisualChangeType.Render);
}
}
}
/// <summary>
/// Gets whether property should be serialized.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private bool ShouldSerializeEmptyAreaBackground()
{
return (_EmptyAreaBackground != null && _EmptyAreaBackground.IsEmpty == false);
}
/// <summary>
/// Resets property to its default value.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private void ResetEmptyAreaBackground()
{
_EmptyAreaBackground = null;
}
#endregion
#region EmptyStyle
/// <summary>
/// Gets or sets the visual styles for series EmptyValue Lines.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for series EmptyValue Lines.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartLineVisualStyle EmptyStyle
{
get
{
if (_EmptyStyle == null)
{
_EmptyStyle = new ChartLineVisualStyle();
UpdateChangeHandler(null, _EmptyStyle);
}
return (_EmptyStyle);
}
set
{
if (_EmptyStyle != value)
{
ChartLineVisualStyle oldValue = _EmptyStyle;
_EmptyStyle = value;
OnStyleChanged("EmptyLineStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region HiLoBarVisualStyle
/// <summary>
/// Gets or sets the visual style for series Hilo Bars.
/// </summary>
[Category("Style")]
[Description("Indicates the visual style for series Hilo Bars.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartHiLoBarVisualStyle HiLoBarVisualStyle
{
get
{
if (_HiLoBarVisualStyle == null)
{
_HiLoBarVisualStyle = new ChartHiLoBarVisualStyle();
UpdateChangeHandler(null, _HiLoBarVisualStyle);
}
return (_HiLoBarVisualStyle);
}
set
{
if (_HiLoBarVisualStyle != value)
{
ChartHiLoBarVisualStyle oldValue = _HiLoBarVisualStyle;
_HiLoBarVisualStyle = value;
OnStyleChanged("HiloBarVisualStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region ItemColor
/// <summary>
/// Gets or sets the default color to use for the item.
/// </summary>
[Description("Indicates the default color to use for the item")]
public Color ItemColor
{
get { return (_ItemColor); }
set
{
if (_ItemColor != value)
{
_ItemColor = value;
OnPropertyChangedEx("ItemColor", VisualChangeType.Render);
}
}
}
/// <summary>
/// Gets whether property should be serialized.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private bool ShouldSerializeItemColor()
{
return (_ItemColor.IsEmpty == false);
}
/// <summary>
/// Resets property to its default value.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private void ResetItemColor()
{
_ItemColor = Color.Empty;
}
#endregion
#region LineAreaBackground
/// <summary>
/// Gets or sets the Line Area Background (area under the series 'Line').
/// </summary>
[Description("Indicates the Line Area Background (area under the series 'Line').")]
public Background LineAreaBackground
{
get
{
if (_LineAreaBackground == null)
{
_LineAreaBackground = Background.Empty;
UpdateChangeHandler(null, _LineAreaBackground);
}
return (_LineAreaBackground);
}
set
{
if (_LineAreaBackground != value)
{
UpdateChangeHandler(_LineAreaBackground, value);
_LineAreaBackground = value;
OnPropertyChangedEx("LineAreaBackground", VisualChangeType.Render);
}
}
}
/// <summary>
/// Gets whether property should be serialized.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private bool ShouldSerializeLineAreaBackground()
{
return (_LineAreaBackground != null && _LineAreaBackground.IsEmpty == false);
}
/// <summary>
/// Resets property to its default value.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private void ResetLineAreaBackground()
{
LineAreaBackground = null;
}
#endregion
#region LineStyle
/// <summary>
/// Gets or sets the visual styles for series Lines.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for series Lines.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartLineVisualStyle LineStyle
{
get
{
if (_LineStyle == null)
{
_LineStyle = new ChartLineVisualStyle();
UpdateChangeHandler(null, _LineStyle);
}
return (_LineStyle);
}
set
{
if (_LineStyle != value)
{
ChartLineVisualStyle oldValue = _LineStyle;
_LineStyle = value;
OnStyleChanged("LineStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region MarkerEmptyVisualStyle
/// <summary>
/// Gets or sets the visual styles for the Empty PointMarker.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for the Empty PointMarker.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public PointMarkerVisualStyle MarkerEmptyVisualStyle
{
get
{
if (_MarkerEmptyVisualStyle == null)
{
_MarkerEmptyVisualStyle = new PointMarkerVisualStyle();
UpdateChangeHandler(null, _MarkerEmptyVisualStyle);
}
return (_MarkerEmptyVisualStyle);
}
set
{
if (_MarkerEmptyVisualStyle != value)
{
PointMarkerVisualStyle oldValue = _MarkerEmptyVisualStyle;
_MarkerEmptyVisualStyle = value;
OnStyleChanged("MarkerEmptyVisualStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region MarkerHighlightVisualStyle
/// <summary>
/// Gets or sets the visual styles for the PointMarker Highlight.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for the PointMarker Highlight.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public PointMarkerVisualStyle MarkerHighlightVisualStyle
{
get
{
if (_MarkerHighlightVisualStyle == null)
{
_MarkerHighlightVisualStyle = new PointMarkerVisualStyle();
UpdateChangeHandler(null, _MarkerHighlightVisualStyle);
}
return (_MarkerHighlightVisualStyle);
}
set
{
if (_MarkerHighlightVisualStyle != value)
{
PointMarkerVisualStyle oldValue = _MarkerHighlightVisualStyle;
_MarkerHighlightVisualStyle = value;
OnStyleChanged("MarkerHighlightVisualStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region MarkerVisualStyle
/// <summary>
/// Gets or sets the visual styles for the PointMarker.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for the PointMarker.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public PointMarkerVisualStyle MarkerVisualStyle
{
get
{
if (_MarkerVisualStyle == null)
{
_MarkerVisualStyle = new PointMarkerVisualStyle();
UpdateChangeHandler(null, _MarkerVisualStyle);
}
return (_MarkerVisualStyle);
}
set
{
if (_MarkerVisualStyle != value)
{
PointMarkerVisualStyle oldValue = _MarkerVisualStyle;
_MarkerVisualStyle = value;
OnStyleChanged("MarkerVisualStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region SliceVisualStyle
/// <summary>
/// Gets or sets the default visual style for series Pie Slices.
/// </summary>
[Category("Style")]
[Description("Indicates the default visual style for series Pie Slices.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartSliceVisualStyle SliceVisualStyle
{
get
{
if (_SliceVisualStyle == null)
{
_SliceVisualStyle = new ChartSliceVisualStyle();
UpdateChangeHandler(null, _SliceVisualStyle);
}
return (_SliceVisualStyle);
}
set
{
if (_SliceVisualStyle != value)
{
ChartSliceVisualStyle oldValue = _SliceVisualStyle;
_SliceVisualStyle = value;
OnStyleChanged("SliceVisualStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region SplineAreaBackground
/// <summary>
/// Gets or sets the Spline Area Background (area under the series 'Spline').
/// </summary>
[Description("Indicates the Spline Area Background (area under the series 'Spline').")]
public Background SplineAreaBackground
{
get
{
if (_SplineAreaBackground == null)
{
_SplineAreaBackground = Background.Empty;
UpdateChangeHandler(null, _SplineAreaBackground);
}
return (_SplineAreaBackground);
}
set
{
if (_SplineAreaBackground != value)
{
UpdateChangeHandler(_SplineAreaBackground, value);
_SplineAreaBackground = value;
OnPropertyChangedEx("SplineAreaBackground", VisualChangeType.Render);
}
}
}
/// <summary>
/// Gets whether property should be serialized.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private bool ShouldSerializeSplineAreaBackground()
{
return (_SplineAreaBackground != null && _SplineAreaBackground.IsEmpty == false);
}
/// <summary>
/// Resets property to its default value.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private void ResetSplineAreaBackground()
{
SplineAreaBackground = null;
}
#endregion
#region SplineStyle
/// <summary>
/// Gets or sets the visual styles for series Splines.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for series Splines.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartLineVisualStyle SplineStyle
{
get
{
if (_SplineStyle == null)
{
_SplineStyle = new ChartLineVisualStyle();
UpdateChangeHandler(null, _SplineStyle);
}
return (_SplineStyle);
}
set
{
if (_SplineStyle != value)
{
ChartLineVisualStyle oldValue = _SplineStyle;
_SplineStyle = value;
OnStyleChanged("SplineStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region StepLineAreaBackground
/// <summary>
/// Gets or sets the StepLine Area Background (area under the series 'StepLines').
/// </summary>
[Description("Indicates the StepLine Area Background (area under the series 'StepLines').")]
public Background StepLineAreaBackground
{
get
{
if (_StepLineAreaBackground == null)
{
_StepLineAreaBackground = Background.Empty;
UpdateChangeHandler(null, _StepLineAreaBackground);
}
return (_StepLineAreaBackground);
}
set
{
if (_StepLineAreaBackground != value)
{
UpdateChangeHandler(_StepLineAreaBackground, value);
_StepLineAreaBackground = value;
OnPropertyChangedEx("StepLineAreaBackground", VisualChangeType.Render);
}
}
}
/// <summary>
/// Gets whether property should be serialized.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private bool ShouldSerializeStepLineAreaBackground()
{
return (_StepLineAreaBackground != null && _StepLineAreaBackground.IsEmpty == false);
}
/// <summary>
/// Resets property to its default value.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
private void ResetStepLineAreaBackground()
{
StepLineAreaBackground = null;
}
#endregion
#region StepLineStyle
/// <summary>
/// Gets or sets the visual styles for series Step Lines.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for series Step Lines.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartCapLineVisualStyle StepLineStyle
{
get
{
if (_StepLineStyle == null)
{
_StepLineStyle = new ChartCapLineVisualStyle();
UpdateChangeHandler(null, _StepLineStyle);
}
return (_StepLineStyle);
}
set
{
if (_StepLineStyle != value)
{
ChartCapLineVisualStyle oldValue = _StepLineStyle;
_StepLineStyle = value;
OnStyleChanged("StepLineStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region StepLineAltStyle
/// <summary>
/// Gets or sets the visual styles for 'Alternate' series Step Lines.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for 'Alternate' series Step Lines.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ChartCapLineVisualStyle StepLineAltStyle
{
get
{
if (_StepLineAltStyle == null)
{
_StepLineAltStyle = new ChartCapLineVisualStyle();
UpdateChangeHandler(null, _StepLineAltStyle);
}
return (_StepLineAltStyle);
}
set
{
if (_StepLineAltStyle != value)
{
ChartCapLineVisualStyle oldValue = _StepLineAltStyle;
_StepLineAltStyle = value;
OnStyleChanged("StepLineAltStyle", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region IsEmpty
/// <summary>
/// Gets whether the style is logically Empty.
/// </summary>
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[Description("Gets whether the style is logically Empty.")]
public override bool IsEmpty
{
get
{
return ((_BarVisualStyle == null || _BarVisualStyle.IsEmpty) &&
(_ConvexHullBackground == null || _ConvexHullBackground.IsEmpty == true) &&
(_ConvexHullLineStyle == null || _ConvexHullLineStyle.IsEmpty) &&
(_EmptyAreaBackground == null || _EmptyAreaBackground.IsEmpty == true) &&
(_EmptyStyle == null || _EmptyStyle.IsEmpty) &&
(_HiLoBarVisualStyle == null || _HiLoBarVisualStyle.IsEmpty) &&
(_ItemColor.IsEmpty) &&
(_LineAreaBackground == null || _LineAreaBackground.IsEmpty == true) &&
(_LineStyle == null || _LineStyle.IsEmpty) &&
(_MarkerVisualStyle == null || _MarkerVisualStyle.IsEmpty) &&
(_MarkerHighlightVisualStyle == null || _MarkerHighlightVisualStyle.IsEmpty) &&
(_SliceVisualStyle == null || _SliceVisualStyle.IsEmpty) &&
(_SplineAreaBackground == null || _SplineAreaBackground.IsEmpty == true) &&
(_SplineStyle == null || _SplineStyle.IsEmpty) &&
(_StepLineAreaBackground == null || _StepLineAreaBackground.IsEmpty == true) &&
(_StepLineStyle == null || _StepLineStyle.IsEmpty) &&
(_StepLineAltStyle == null || _StepLineAltStyle.IsEmpty) &&
(base.IsEmpty == true));
}
}
#endregion
#endregion
#region ApplyStyle
/// <summary>
/// Applies the style to instance of this style.
/// </summary>
/// <param name="style">Style to apply.</param>
public void ApplyStyle(ChartSeriesVisualStyle style)
{
if (style != null)
{
base.ApplyStyle(style);
if (style._BarVisualStyle != null && style._BarVisualStyle.IsEmpty == false)
BarVisualStyle.ApplyStyle(style.BarVisualStyle);
if (style._ConvexHullBackground != null && style._ConvexHullBackground.IsEmpty == false)
ConvexHullBackground = style._ConvexHullBackground.Copy();
if (style._ConvexHullLineStyle != null && style.ConvexHullLineStyle.IsEmpty == false)
ConvexHullLineStyle.ApplyStyle(style.ConvexHullLineStyle);
if (style._EmptyAreaBackground != null && style._EmptyAreaBackground.IsEmpty == false)
EmptyAreaBackground = style._EmptyAreaBackground.Copy();
if (style._EmptyStyle != null && style.EmptyStyle.IsEmpty == false)
EmptyStyle.ApplyStyle(style.EmptyStyle);
if (style._HiLoBarVisualStyle != null && style._HiLoBarVisualStyle.IsEmpty == false)
HiLoBarVisualStyle.ApplyStyle(style.HiLoBarVisualStyle);
if (style.ItemColor.IsEmpty == false)
ItemColor = style.ItemColor;
if (style._LineAreaBackground != null && style._LineAreaBackground.IsEmpty == false)
LineAreaBackground = style._LineAreaBackground.Copy();
if (style._LineStyle != null && style.LineStyle.IsEmpty == false)
LineStyle.ApplyStyle(style.LineStyle);
if (style._MarkerEmptyVisualStyle != null && style.MarkerEmptyVisualStyle.IsEmpty == false)
MarkerEmptyVisualStyle.ApplyStyle(style.MarkerEmptyVisualStyle);
if (style._MarkerHighlightVisualStyle != null && style.MarkerHighlightVisualStyle.IsEmpty == false)
MarkerHighlightVisualStyle.ApplyStyle(style.MarkerHighlightVisualStyle);
if (style._MarkerVisualStyle != null && style.MarkerVisualStyle.IsEmpty == false)
MarkerVisualStyle.ApplyStyle(style.MarkerVisualStyle);
if (style._HiLoBarVisualStyle != null && style._HiLoBarVisualStyle.IsEmpty == false)
HiLoBarVisualStyle.ApplyStyle(style.HiLoBarVisualStyle);
if (style._SliceVisualStyle != null && style._SliceVisualStyle.IsEmpty == false)
SliceVisualStyle.ApplyStyle(style.SliceVisualStyle);
if (style._SplineAreaBackground != null && style._SplineAreaBackground.IsEmpty == false)
SplineAreaBackground = style._SplineAreaBackground.Copy();
if (style._SplineStyle != null && style.SplineStyle.IsEmpty == false)
SplineStyle.ApplyStyle(style.SplineStyle);
if (style._StepLineAreaBackground != null && style._StepLineAreaBackground.IsEmpty == false)
StepLineAreaBackground = style._StepLineAreaBackground.Copy();
if (style._StepLineStyle != null && style.StepLineStyle.IsEmpty == false)
StepLineStyle.ApplyStyle(style.StepLineStyle);
if (style._StepLineAltStyle != null && style.StepLineAltStyle.IsEmpty == false)
StepLineAltStyle.ApplyStyle(style.StepLineAltStyle);
}
}
#endregion
#region Copy
/// <summary>
/// Returns the copy of the style.
/// </summary>
/// <returns>Copy of the style.</returns>
public new ChartSeriesVisualStyle Copy()
{
ChartSeriesVisualStyle style = new ChartSeriesVisualStyle();
CopyTo(style);
return (style);
}
#endregion
#region CopyTo
/// <summary>
/// Returns the copy of the style.
/// </summary>
/// <returns>Copy of the style.</returns>
public void CopyTo(ChartSeriesVisualStyle style)
{
base.CopyTo(style);
style.BarVisualStyle = (_BarVisualStyle != null) ? _BarVisualStyle.Copy() : null;
style.ConvexHullBackground = (_ConvexHullBackground != null) ? _ConvexHullBackground.Copy() : null;
style.ConvexHullLineStyle = (_ConvexHullLineStyle != null) ? _ConvexHullLineStyle.Copy() : null;
style.EmptyAreaBackground = (_EmptyAreaBackground != null) ? _EmptyAreaBackground.Copy() : null;
style.EmptyStyle = (_EmptyStyle != null) ? _EmptyStyle.Copy() : null;
style.HiLoBarVisualStyle = (_HiLoBarVisualStyle != null) ? _HiLoBarVisualStyle.Copy() : null;
style.ItemColor = ItemColor;
style.LineAreaBackground = (_LineAreaBackground != null) ? _LineAreaBackground.Copy() : null;
style.LineStyle = (_LineStyle != null) ? _LineStyle.Copy() : null;
style.MarkerEmptyVisualStyle = (_MarkerEmptyVisualStyle != null) ? _MarkerEmptyVisualStyle.Copy() : null;
style.MarkerHighlightVisualStyle = (_MarkerHighlightVisualStyle != null) ? _MarkerHighlightVisualStyle.Copy() : null;
style.MarkerVisualStyle = (_MarkerVisualStyle != null) ? _MarkerVisualStyle.Copy() : null;
style.SliceVisualStyle = (_SliceVisualStyle != null) ? _SliceVisualStyle.Copy() : null;
style.SplineAreaBackground = (_SplineAreaBackground != null) ? _SplineAreaBackground.Copy() : null;
style.SplineStyle = (_SplineStyle != null) ? _SplineStyle.Copy() : null;
style.StepLineAltStyle = (_StepLineAltStyle != null) ? _StepLineAltStyle.Copy() : null;
style.StepLineAreaBackground = (_StepLineAreaBackground != null) ? _StepLineAreaBackground.Copy() : null;
style.StepLineStyle = (_StepLineStyle != null) ? _StepLineStyle.Copy() : null;
}
#endregion
#region GetSerialData
internal override SerialElementCollection GetSerialData(string serialName)
{
SerialElementCollection sec = new SerialElementCollection();
if (serialName != null)
{
if (serialName.Equals("") == true)
serialName = "ChartSeriesVisualStyle";
sec.AddStartElement(serialName);
}
if (_BarVisualStyle != null && _BarVisualStyle.IsEmpty == false)
sec.AddElement(_BarVisualStyle.GetSerialData("BarVisualStyle"));
if (_ConvexHullBackground != null && _ConvexHullBackground.IsEmpty == false)
sec.AddElement(_ConvexHullBackground.GetSerialData("ConvexHullBackground"));
if (_ConvexHullLineStyle != null && _ConvexHullLineStyle.IsEmpty == false)
sec.AddElement(_ConvexHullLineStyle.GetSerialData("ConvexHullLineStyle"));
if (_EmptyAreaBackground != null && _EmptyAreaBackground.IsEmpty == false)
sec.AddElement(_EmptyAreaBackground.GetSerialData("EmptyAreaBackground"));
if (_EmptyStyle != null && _EmptyStyle.IsEmpty == false)
sec.AddElement(_EmptyStyle.GetSerialData("EmptyStyle"));
sec.AddValue("ItemColor", ItemColor, Color.Empty);
if (_HiLoBarVisualStyle != null && _HiLoBarVisualStyle.IsEmpty == false)
sec.AddElement(_HiLoBarVisualStyle.GetSerialData("HiLoBarVisualStyle"));
if (_LineAreaBackground != null && _LineAreaBackground.IsEmpty == false)
sec.AddElement(_LineAreaBackground.GetSerialData("LineAreaBackground"));
if (_LineStyle != null && _LineStyle.IsEmpty == false)
sec.AddElement(_LineStyle.GetSerialData("LineStyle"));
if (_MarkerEmptyVisualStyle != null && _MarkerEmptyVisualStyle.IsEmpty == false)
sec.AddElement(_MarkerEmptyVisualStyle.GetSerialData("MarkerEmptyVisualStyle"));
if (_MarkerHighlightVisualStyle != null && _MarkerHighlightVisualStyle.IsEmpty == false)
sec.AddElement(_MarkerHighlightVisualStyle.GetSerialData("MarkerHighlightVisualStyle"));
if (_MarkerVisualStyle != null && _MarkerVisualStyle.IsEmpty == false)
sec.AddElement(_MarkerVisualStyle.GetSerialData("MarkerVisualStyle"));
if (_SplineAreaBackground != null && _SplineAreaBackground.IsEmpty == false)
sec.AddElement(_SplineAreaBackground.GetSerialData("SplineAreaBackground"));
if (_SplineStyle != null && _SplineStyle.IsEmpty == false)
sec.AddElement(_SplineStyle.GetSerialData("SplineStyle"));
if (_StepLineAreaBackground != null && _StepLineAreaBackground.IsEmpty == false)
sec.AddElement(_StepLineAreaBackground.GetSerialData("StepLineAreaBackground"));
if (_StepLineStyle != null && _StepLineStyle.IsEmpty == false)
sec.AddElement(_StepLineStyle.GetSerialData("StepLineStyle"));
if (_StepLineAltStyle != null && _StepLineAltStyle.IsEmpty == false)
sec.AddElement(_StepLineAltStyle.GetSerialData("StepLineAltStyle"));
sec.AddElement(base.GetSerialData(null));
if (serialName != null)
sec.AddEndElement(serialName);
return (sec);
}
#endregion
#region PutSerialData
#region ProcessValue
internal override void ProcessValue(SerialElement se)
{
switch (se.Name)
{
case "ItemColor":
ItemColor = se.GetValueColor();
break;
default:
base.ProcessValue(se);
break;
}
}
#endregion
#region ProcessCollection
internal override void ProcessCollection(SerialElement se)
{
SerialElementCollection sec = se.Sec;
switch (se.Name)
{
case "BarVisualStyle":
sec.PutSerialData(BarVisualStyle);
break;
case "ConvexHullBackground":
sec.PutSerialData(ConvexHullBackground);
break;
case "ConvexHullLineStyle":
sec.PutSerialData(ConvexHullLineStyle);
break;
case "EmptyAreaBackground":
sec.PutSerialData(EmptyAreaBackground);
break;
case "EmptyStyle":
sec.PutSerialData(EmptyStyle);
break;
case "HiLoBarVisualStyle":
sec.PutSerialData(HiLoBarVisualStyle);
break;
case "LineAreaBackground":
sec.PutSerialData(LineAreaBackground);
break;
case "LineStyle":
sec.PutSerialData(LineStyle);
break;
case "MarkerEmptyVisualStyle":
sec.PutSerialData(MarkerEmptyVisualStyle);
break;
case "MarkerHighlightVisualStyle":
sec.PutSerialData(MarkerHighlightVisualStyle);
break;
case "MarkerVisualStyle":
sec.PutSerialData(MarkerVisualStyle);
break;
case "SplineAreaBackground":
sec.PutSerialData(SplineAreaBackground);
break;
case "SplineStyle":
sec.PutSerialData(SplineStyle);
break;
case "StepLineAreaBackground":
sec.PutSerialData(StepLineAreaBackground);
break;
case "StepLineStyle":
sec.PutSerialData(StepLineStyle);
break;
case "StepLineAltStyle":
sec.PutSerialData(StepLineAltStyle);
break;
default:
base.ProcessCollection(se);
break;
}
}
#endregion
#endregion
#region IDisposable
/// <summary>
/// Dispose
/// </summary>
public override void Dispose()
{
BarVisualStyle = null;
ConvexHullBackground = null;
ConvexHullLineStyle = null;
EmptyAreaBackground = null;
EmptyStyle = null;
HiLoBarVisualStyle = null;
LineAreaBackground = null;
LineStyle = null;
MarkerEmptyVisualStyle = null;
MarkerHighlightVisualStyle = null;
MarkerVisualStyle = null;
SliceVisualStyle = null;
SplineAreaBackground = null;
SplineStyle = null;
StepLineAreaBackground = null;
StepLineStyle = null;
StepLineAreaBackground = null;
StepLineStyle = null;
StepLineAltStyle = null;
base.Dispose();
}
#endregion
}
}