summaryrefslogtreecommitdiff
path: root/grapher
diff options
context:
space:
mode:
Diffstat (limited to 'grapher')
-rw-r--r--grapher/CapOptions.cs29
-rw-r--r--grapher/FieldXY.cs54
-rw-r--r--grapher/Form1.cs5
-rw-r--r--grapher/OptionXY.cs6
4 files changed, 69 insertions, 25 deletions
diff --git a/grapher/CapOptions.cs b/grapher/CapOptions.cs
index 310a214..2ee7f6b 100644
--- a/grapher/CapOptions.cs
+++ b/grapher/CapOptions.cs
@@ -12,12 +12,14 @@ namespace grapher
public CapOptions(
ToolStripMenuItem sensitivityCapCheck,
ToolStripMenuItem velocityGainCapCheck,
- OptionXY capOptionFields)
+ OptionXY capOption,
+ OptionXY weightOption)
{
SensitivityCapCheck = sensitivityCapCheck;
VelocityGainCapCheck = velocityGainCapCheck;
- CapOptionsFields = capOptionFields;
+ CapOption = capOption;
+ WeightOption = weightOption;
SensitivityCapCheck.Click += new System.EventHandler(OnSensitivityCapCheckClick);
VelocityGainCapCheck.Click += new System.EventHandler(OnVelocityGainCapCheckClick);
@@ -32,14 +34,16 @@ namespace grapher
ToolStripMenuItem VelocityGainCapCheck { get; }
- OptionXY CapOptionsFields { get; }
+ OptionXY CapOption { get; }
+
+ OptionXY WeightOption { get; }
public double SensitivityCapX {
get
{
if (IsSensitivityGain)
{
- return CapOptionsFields.Fields.X;
+ return CapOption.Fields.X;
}
else
{
@@ -53,7 +57,7 @@ namespace grapher
{
if (IsSensitivityGain)
{
- return CapOptionsFields.Fields.Y;
+ return CapOption.Fields.Y;
}
else
{
@@ -71,7 +75,7 @@ namespace grapher
}
else
{
- return CapOptionsFields.Fields.X;
+ return CapOption.Fields.X;
}
}
}
@@ -115,16 +119,19 @@ namespace grapher
void EnableSensitivityCap()
{
IsSensitivityGain = true;
- CapOptionsFields.Fields.LockCheckBox.Enabled = true;
- CapOptionsFields.SetName("Sensitivity Cap");
+ CapOption.Fields.LockCheckBox.Enabled = true;
+ WeightOption.Fields.LockCheckBox.Enabled = true;
+ CapOption.SetName("Sensitivity Cap");
}
void EnableVelocityGainCap()
{
IsSensitivityGain = false;
- CapOptionsFields.Fields.LockCheckBox.Checked = true;
- CapOptionsFields.Fields.LockCheckBox.Enabled = false;
- CapOptionsFields.SetName("Velocity Gain Cap");
+ CapOption.Fields.LockCheckBox.Checked = true;
+ CapOption.Fields.LockCheckBox.Enabled = false;
+ WeightOption.Fields.LockCheckBox.Checked = true;
+ WeightOption.Fields.LockCheckBox.Enabled = false;
+ CapOption.SetName("Velocity Gain Cap");
}
}
}
diff --git a/grapher/FieldXY.cs b/grapher/FieldXY.cs
index 42232c8..7338962 100644
--- a/grapher/FieldXY.cs
+++ b/grapher/FieldXY.cs
@@ -15,7 +15,10 @@ namespace grapher
YField = new Field(yBox, containingForm, defaultData);
LockCheckBox = lockCheckBox;
LockCheckBox.CheckedChanged += new System.EventHandler(CheckChanged);
- SetLocked();
+ DefaultWidthX = XField.Box.Width;
+ DefaultWidthY = YField.Box.Width;
+ CombinedWidth = DefaultWidthX + DefaultWidthY + YField.Box.Left - (XField.Box.Left + DefaultWidthX);
+ SetCombined();
}
public double X
{
@@ -26,7 +29,7 @@ namespace grapher
{
get
{
- if (Locked)
+ if (Combined)
{
return X;
}
@@ -43,29 +46,41 @@ namespace grapher
public Field YField { get; }
- private bool Locked { get; set; }
+ private bool Combined { get; set; }
+
+ private int DefaultWidthX { get; }
+
+ private int DefaultWidthY { get; }
+
+ private int CombinedWidth { get; }
private void CheckChanged(object sender, EventArgs e)
{
if (LockCheckBox.CheckState == CheckState.Checked)
{
- SetLocked();
+ SetCombined();
}
else
{
- SetUnlocked();
+ SetSeparate();
}
}
- public void SetLocked()
+ public void SetCombined()
{
- Locked = true;
+ Combined = true;
YField.SetToUnavailable();
+ YField.Box.Hide();
+ XField.Box.Width = CombinedWidth;
}
- public void SetUnlocked()
+ public void SetSeparate()
{
- Locked = false;
+ Combined = false;
+
+ XField.Box.Width = DefaultWidthX;
+ YField.Box.Width = DefaultWidthY;
+
if (XField.State == Field.FieldState.Default)
{
YField.SetToDefault();
@@ -74,6 +89,27 @@ namespace grapher
{
YField.SetToEntered(XField.Data);
}
+
+ if (XField.Box.Visible)
+ {
+ YField.Box.Show();
+ }
+ }
+
+ public void Show()
+ {
+ XField.Box.Show();
+
+ if (!Combined)
+ {
+ YField.Box.Show();
+ }
+ }
+
+ public void Hide()
+ {
+ XField.Box.Hide();
+ YField.Box.Hide();
}
}
}
diff --git a/grapher/Form1.cs b/grapher/Form1.cs
index 03168f3..518ffc3 100644
--- a/grapher/Form1.cs
+++ b/grapher/Form1.cs
@@ -33,6 +33,7 @@ namespace grapher
public double exponent;
public double midpoint;
public double power_scale;
+ public double gain_cap;
public vec2d weight;
}
@@ -75,6 +76,7 @@ namespace grapher
args.acc_fn_args.acc_args.power_scale = 1;
args.acc_fn_args.acc_args.weight.x = 1;
args.acc_fn_args.acc_args.weight.y = 1;
+ args.acc_fn_args.acc_args.gain_cap = 0;
args.acc_fn_args.accel_mode = (int)accel_mode.natural;
args.acc_fn_args.time_min = 0.4;
args.acc_fn_args.cap.x = 0;
@@ -117,7 +119,8 @@ namespace grapher
var capOptions = new CapOptions(
sensitivityToolStripMenuItem,
velocityGainToolStripMenuItem,
- cap);
+ cap,
+ weight);
AccelGUI = new AccelGUI(
this,
diff --git a/grapher/OptionXY.cs b/grapher/OptionXY.cs
index 1fdf244..ca1559d 100644
--- a/grapher/OptionXY.cs
+++ b/grapher/OptionXY.cs
@@ -57,16 +57,14 @@ namespace grapher
public void Hide()
{
- Fields.XField.Box.Hide();
- Fields.YField.Box.Hide();
+ Fields.Hide();
Fields.LockCheckBox.Hide();
Label.Hide();
}
public void Show()
{
- Fields.XField.Box.Show();
- Fields.YField.Box.Show();
+ Fields.Show();
Fields.LockCheckBox.Show();
Label.Show();
}