summaryrefslogtreecommitdiff
path: root/grapher/Models/Options/OptionBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'grapher/Models/Options/OptionBase.cs')
-rw-r--r--grapher/Models/Options/OptionBase.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/grapher/Models/Options/OptionBase.cs b/grapher/Models/Options/OptionBase.cs
new file mode 100644
index 0000000..5f6dca1
--- /dev/null
+++ b/grapher/Models/Options/OptionBase.cs
@@ -0,0 +1,33 @@
+namespace grapher.Models.Options
+{
+ public abstract class OptionBase : IOption
+ {
+ public abstract int Top { get; set; }
+
+ public abstract int Height { get; }
+
+ public abstract int Left { get; set; }
+
+ public abstract int Width { get; set; }
+
+ public int Beneath {
+ get
+ {
+ return Top + Height + Constants.OptionVerticalSeperation;
+ }
+ }
+
+ public abstract bool Visible { get; }
+
+ public abstract void Show(string Name);
+
+ public abstract void Hide();
+
+ public abstract void AlignActiveValues();
+
+ public virtual void SnapTo(IOption option)
+ {
+ Top = option.Beneath;
+ }
+ }
+}