diff options
Diffstat (limited to 'grapher/Models/Options/TextOption.cs')
| -rw-r--r-- | grapher/Models/Options/TextOption.cs | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/grapher/Models/Options/TextOption.cs b/grapher/Models/Options/TextOption.cs new file mode 100644 index 0000000..1f8034d --- /dev/null +++ b/grapher/Models/Options/TextOption.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace grapher.Models.Options +{ + public class TextOption : OptionBase + { + #region Constants + + public const string LUTLayoutExpandedText = "This mode is for experts only. Format: x1,y1;x2,y2;...xn,yn;"; + public const string LUTLayoutShortenedText = "Experts only."; + + #endregion Constants + + #region Constructors + + public TextOption(Label label) + { + Label = label; + Label.AutoSize = true; + } + + #endregion Constructors + + #region Properties + + private Label Label { get; } + + private string ExpandedText { get; set; } + + private string ShortenedText { get; set; } + + public override bool Visible + { + get + { + return Label.Visible || ShouldShow; + } + } + + public override int Top + { + get + { + return Label.Top; + } + set + { + Label.Top = value; + } + } + + public override int Height + { + get + { + return Label.Height; + } + } + + public override int Width + { + get + { + return Label.Width; + } + set + { + Label.MaximumSize = new System.Drawing.Size(value, 0); + } + } + + public override int Left + { + get + { + return Label.Left; + } + set + { + Label.Left = value; + } + } + + private bool ShouldShow + { + get; set; + } + + public override void Hide() + { + Label.Hide(); + ShouldShow = false; + } + + public override void Show(string Name) + { + Label.Show(); + ShouldShow = true; + } + + public void Expand() + { + Label.Text = ExpandedText; + } + + public void Shorten() + { + Label.Text = ShortenedText; + } + + public void SetText(string expandedText, string shortenedText) + { + ExpandedText = expandedText; + ShortenedText = shortenedText; + } + + public override void AlignActiveValues() + { + // Nothing to do here + } + + #endregion Properties + } +} |