DotNet 4.8.1 build of DotNetBar
This commit is contained in:
@@ -0,0 +1,362 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using DevComponents.Charts.TextMarkup;
|
||||
using DevComponents.DotNetBar.Charts.Style;
|
||||
|
||||
namespace DevComponents.DotNetBar.Charts
|
||||
{
|
||||
/// <summary>
|
||||
/// ChartNote.
|
||||
/// </summary>
|
||||
public class ChartNote : ChartVisualElement
|
||||
{
|
||||
#region Private variables
|
||||
|
||||
private States _States;
|
||||
|
||||
private string _Text;
|
||||
private BodyElement _TextMarkup;
|
||||
private int _FixedHeight;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Public properties
|
||||
|
||||
#region EnableTextMarkup
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets whether text-markup support is enabled
|
||||
/// </summary>
|
||||
[DefaultValue(false), Category("Appearance")]
|
||||
[Description("Indicates whether text-markup support is enabled.")]
|
||||
public bool EnableTextMarkup
|
||||
{
|
||||
get { return (TestState(States.EnableTextMarkup)); }
|
||||
|
||||
set
|
||||
{
|
||||
if (EnableTextMarkup != value)
|
||||
{
|
||||
SetState(States.EnableTextMarkup, value);
|
||||
|
||||
MarkupTextChanged();
|
||||
|
||||
OnPropertyChangedEx("EnableTextMarkup", VisualChangeType.Layout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region MarkupTextChanged
|
||||
|
||||
private void MarkupTextChanged()
|
||||
{
|
||||
if (_TextMarkup != null)
|
||||
_TextMarkup.HyperLinkClick -= TextMarkupLinkClick;
|
||||
|
||||
_TextMarkup = null;
|
||||
|
||||
if (EnableTextMarkup == true)
|
||||
{
|
||||
if (MarkupParser.IsMarkup(_Text) == true)
|
||||
{
|
||||
_TextMarkup = MarkupParser.Parse(_Text);
|
||||
|
||||
if (_TextMarkup != null)
|
||||
_TextMarkup.HyperLinkClick += TextMarkupLinkClick;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region TextMarkupLinkClick
|
||||
|
||||
/// <summary>
|
||||
/// Occurs when a text markup link is clicked
|
||||
/// </summary>
|
||||
protected virtual void TextMarkupLinkClick(object sender, EventArgs e)
|
||||
{
|
||||
HyperLink link = sender as HyperLink;
|
||||
|
||||
if (link != null)
|
||||
ChartControl.DoChartTitleMarkupLinkClickEvent(this, link);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region PlainText
|
||||
|
||||
/// <summary>
|
||||
/// Gets text without text-markup (if text-markup is used in Text)
|
||||
/// </summary>
|
||||
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public string PlainText
|
||||
{
|
||||
get { return (_TextMarkup != null ? _TextMarkup.PlainText : _Text); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region FixedHeight
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the fixed Text height (0 to auto-size)
|
||||
/// </summary>
|
||||
[DefaultValue(0), Category("Layout")]
|
||||
[Description("Indicates the fixed Text height (0 to auto-size)")]
|
||||
public int FixedHeight
|
||||
{
|
||||
get { return (_FixedHeight); }
|
||||
|
||||
set
|
||||
{
|
||||
if (value != _FixedHeight)
|
||||
{
|
||||
_FixedHeight = value;
|
||||
|
||||
OnPropertyChangedEx("FixedHeight", VisualChangeType.Layout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Text
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the item Text.
|
||||
/// </summary>
|
||||
[DefaultValue(null), Category("Appearance")]
|
||||
[Description("Indicates the item Text.")]
|
||||
[Editor("DevComponents.DotNetBar.Design.TextMarkupUIEditor, DevComponents.DotNetBar.Design, Version=14.1.0.37, Culture=neutral, PublicKeyToken=90f470f34c89ccaf", typeof(System.Drawing.Design.UITypeEditor))]
|
||||
public string Text
|
||||
{
|
||||
get { return (_Text); }
|
||||
|
||||
set
|
||||
{
|
||||
_Text = value;
|
||||
|
||||
MarkupTextChanged();
|
||||
|
||||
OnPropertyChangedEx("Text", VisualChangeType.Layout);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Internal properties
|
||||
|
||||
#region TextMarkup
|
||||
|
||||
internal BodyElement TextMarkup
|
||||
{
|
||||
get { return (_TextMarkup); }
|
||||
}
|
||||
|
||||
#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()
|
||||
{
|
||||
ChartNote copy = new ChartNote();
|
||||
|
||||
CopyTo(copy);
|
||||
|
||||
return (copy);
|
||||
}
|
||||
|
||||
public override void CopyTo(ChartVisualElement copy)
|
||||
{
|
||||
ChartNote c = copy as ChartNote;
|
||||
|
||||
if (c != null)
|
||||
{
|
||||
base.CopyTo(c);
|
||||
|
||||
c.EnableTextMarkup = EnableTextMarkup;
|
||||
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 = "ChartNote";
|
||||
|
||||
sec.AddStartElement(serialName);
|
||||
}
|
||||
|
||||
sec.AddValue("EnableTextMarkup", EnableTextMarkup, false);
|
||||
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 "EnableTextMarkup":
|
||||
EnableTextMarkup = bool.Parse(se.StringValue);
|
||||
break;
|
||||
|
||||
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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user