using System; using System.ComponentModel; using System.Windows.Forms; using DevComponents.DotNetBar.Charts.Style; namespace DevComponents.DotNetBar.Charts { /// /// ChartAxisLable /// public class ChartAxisLable : ChartVisualElement { #region Private variables private States _States; private string _Text; private int _FixedHeight; #endregion #region Public properties #region FixedHeight /// /// Gets or sets the fixed Text height of the label (0 to auto-size) /// [DefaultValue(0), Category("Layout")] [Description("Indicates the fixed Text height of the label (0 to auto-size)")] public int FixedHeight { get { return (_FixedHeight); } set { if (value != _FixedHeight) { _FixedHeight = value; OnPropertyChangedEx("FixedHeight", VisualChangeType.Layout); } } } #endregion #region Text /// /// Gets or sets the label Text. /// [DefaultValue(null), Category("Appearance")] [Description("Indicates the label Text.")] public string Text { get { return (_Text); } set { _Text = value; OnPropertyChangedEx("Text", VisualChangeType.Layout); } } #endregion #endregion #region MeasureOverride protected override void MeasureOverride(ChartLayoutInfo layoutInfo) { throw new NotImplementedException(); } #endregion #region ArrangeOverride protected override void ArrangeOverride(ChartLayoutInfo layoutInfo) { throw new NotImplementedException(); } #endregion #region RenderOverride protected override void RenderOverride(ChartRenderInfo renderInfo) { throw new NotImplementedException(); } #endregion #region Mouse handling #region OnMouseEnter protected override bool OnMouseEnter(EventArgs e) { return (true); } #endregion #region OnMouseLeave protected override bool OnMouseLeave(EventArgs e) { return (true); } #endregion #region OnMouseMove protected override bool OnMouseMove(MouseEventArgs e) { ChartCursor = Cursors.Default; return (false); } #endregion #region OnMouseDown protected override bool OnMouseDown(MouseEventArgs e) { return (false); } #endregion #region OnMouseUp protected override bool OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); return (true); } #endregion #endregion #region Copy/CopyTo public override ChartVisualElement Copy() { ChartAxisLable copy = new ChartAxisLable(); CopyTo(copy); return (copy); } public override void CopyTo(ChartVisualElement copy) { ChartAxisLable c = copy as ChartAxisLable; if (c != null) { base.CopyTo(c); c.FixedHeight = FixedHeight; c.Text = Text; } } #endregion #region GetSerialData internal override SerialElementCollection GetSerialData(string serialName) { SerialElementCollection sec = new SerialElementCollection(); if (serialName != null) { if (serialName.Equals("") == true) serialName = "BaseChart"; sec.AddStartElement(serialName); } sec.AddValue("FixedHeight", FixedHeight, 0); sec.AddValue("Text", Text, null); 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 "FixedHeight": FixedHeight = int.Parse(se.StringValue); break; case "Text": Text = se.StringValue; break; default: base.ProcessValue(se); break; } } #endregion #endregion #region States [Flags] private enum States : uint { EnableTextMarkup = (1U << 0), } #region TestState private bool TestState(States state) { return ((_States & state) == state); } #endregion #region SetState private void SetState(States state, bool value) { if (value == true) _States |= state; else _States &= ~state; } #endregion #endregion } }