diff options
| -rw-r--r-- | grapher/Form1.Designer.cs | 139 | ||||
| -rw-r--r-- | grapher/Form1.cs | 12 | ||||
| -rw-r--r-- | grapher/Layouts/ClassicLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/DefaultLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/JumpLayout.cs | 4 | ||||
| -rw-r--r-- | grapher/Layouts/LUTLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/LayoutBase.cs | 16 | ||||
| -rw-r--r-- | grapher/Layouts/LinearLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/MotivityLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/NaturalLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/OffLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/PowerLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/UnsupportedLayout.cs | 2 | ||||
| -rw-r--r-- | grapher/Models/AccelGUIFactory.cs | 52 | ||||
| -rw-r--r-- | grapher/Models/Options/AccelTypeOptions.cs | 19 |
15 files changed, 241 insertions, 19 deletions
diff --git a/grapher/Form1.Designer.cs b/grapher/Form1.Designer.cs index 4625bca..ac66650 100644 --- a/grapher/Form1.Designer.cs +++ b/grapher/Form1.Designer.cs @@ -182,6 +182,8 @@ namespace grapher this.OptionSetXTitle = new System.Windows.Forms.Label(); this.constantThreeLabelY = new System.Windows.Forms.Label(); this.limitLabelY = new System.Windows.Forms.Label(); + this.inputJumpLabelY = new System.Windows.Forms.Label(); + this.outputJumpLabelY = new System.Windows.Forms.Label(); this.inputOffsetLabelY = new System.Windows.Forms.Label(); this.outputOffsetLabelY = new System.Windows.Forms.Label(); this.inCapLabelYClassic = new System.Windows.Forms.Label(); @@ -189,17 +191,23 @@ namespace grapher this.ByComponentXYLock = new System.Windows.Forms.CheckBox(); this.MidpointActiveYLabel = new System.Windows.Forms.Label(); this.LimitActiveYLabel = new System.Windows.Forms.Label(); + this.InputJumpActiveYLabel = new System.Windows.Forms.Label(); + this.OutputJumpActiveYLabel = new System.Windows.Forms.Label(); this.InputOffsetActiveYLabel = new System.Windows.Forms.Label(); this.OutputOffsetActiveYLabel = new System.Windows.Forms.Label(); this.AccelerationActiveLabelY = new System.Windows.Forms.Label(); this.accelTypeDropY = new System.Windows.Forms.ComboBox(); this.midpointBoxY = new System.Windows.Forms.TextBox(); this.limitBoxY = new System.Windows.Forms.TextBox(); + this.inputJumpBoxY = new System.Windows.Forms.TextBox(); + this.outputJumpBoxY = new System.Windows.Forms.TextBox(); this.inputOffsetBoxY = new System.Windows.Forms.TextBox(); this.outputOffsetBoxY = new System.Windows.Forms.TextBox(); this.accelerationBoxY = new System.Windows.Forms.TextBox(); this.MidpointActiveXLabel = new System.Windows.Forms.Label(); this.LimitActiveXLabel = new System.Windows.Forms.Label(); + this.InputJumpActiveXLabel = new System.Windows.Forms.Label(); + this.OutputJumpActiveXLabel = new System.Windows.Forms.Label(); this.InputOffsetActiveXLabel = new System.Windows.Forms.Label(); this.OutputOffsetActiveXLabel = new System.Windows.Forms.Label(); this.InCapActiveYLabelClassic = new System.Windows.Forms.Label(); @@ -216,6 +224,10 @@ namespace grapher this.inCapBoxYClassic = new System.Windows.Forms.TextBox(); this.VertHorzRatioBox = new System.Windows.Forms.TextBox(); this.writeButton = new System.Windows.Forms.Button(); + this.inputJumpLabelX = new System.Windows.Forms.Label(); + this.outputJumpLabelX = new System.Windows.Forms.Label(); + this.inputJumpBoxX = new System.Windows.Forms.TextBox(); + this.outputJumpBoxX = new System.Windows.Forms.TextBox(); this.inputOffsetLabelX = new System.Windows.Forms.Label(); this.outputOffsetLabelX = new System.Windows.Forms.Label(); this.inputOffsetBoxX = new System.Windows.Forms.TextBox(); @@ -361,6 +373,8 @@ namespace grapher this.optionsPanel.Controls.Add(this.OptionSetXTitle); this.optionsPanel.Controls.Add(this.constantThreeLabelY); this.optionsPanel.Controls.Add(this.limitLabelY); + this.optionsPanel.Controls.Add(this.inputJumpLabelY); + this.optionsPanel.Controls.Add(this.outputJumpLabelY); this.optionsPanel.Controls.Add(this.inputOffsetLabelY); this.optionsPanel.Controls.Add(this.outputOffsetLabelY); this.optionsPanel.Controls.Add(this.inCapLabelYClassic); @@ -368,17 +382,23 @@ namespace grapher this.optionsPanel.Controls.Add(this.ByComponentXYLock); this.optionsPanel.Controls.Add(this.MidpointActiveYLabel); this.optionsPanel.Controls.Add(this.LimitActiveYLabel); + this.optionsPanel.Controls.Add(this.InputJumpActiveYLabel); + this.optionsPanel.Controls.Add(this.OutputJumpActiveYLabel); this.optionsPanel.Controls.Add(this.InputOffsetActiveYLabel); this.optionsPanel.Controls.Add(this.OutputOffsetActiveYLabel); this.optionsPanel.Controls.Add(this.AccelerationActiveLabelY); this.optionsPanel.Controls.Add(this.accelTypeDropY); this.optionsPanel.Controls.Add(this.midpointBoxY); this.optionsPanel.Controls.Add(this.limitBoxY); + this.optionsPanel.Controls.Add(this.inputJumpBoxY); + this.optionsPanel.Controls.Add(this.outputJumpBoxY); this.optionsPanel.Controls.Add(this.inputOffsetBoxY); this.optionsPanel.Controls.Add(this.outputOffsetBoxY); this.optionsPanel.Controls.Add(this.accelerationBoxY); this.optionsPanel.Controls.Add(this.MidpointActiveXLabel); this.optionsPanel.Controls.Add(this.LimitActiveXLabel); + this.optionsPanel.Controls.Add(this.InputJumpActiveXLabel); + this.optionsPanel.Controls.Add(this.OutputJumpActiveXLabel); this.optionsPanel.Controls.Add(this.InputOffsetActiveXLabel); this.optionsPanel.Controls.Add(this.OutputOffsetActiveXLabel); this.optionsPanel.Controls.Add(this.InCapActiveYLabelClassic); @@ -395,6 +415,10 @@ namespace grapher this.optionsPanel.Controls.Add(this.inCapBoxYClassic); this.optionsPanel.Controls.Add(this.VertHorzRatioBox); this.optionsPanel.Controls.Add(this.writeButton); + this.optionsPanel.Controls.Add(this.inputJumpLabelX); + this.optionsPanel.Controls.Add(this.outputJumpLabelX); + this.optionsPanel.Controls.Add(this.inputJumpBoxX); + this.optionsPanel.Controls.Add(this.outputJumpBoxX); this.optionsPanel.Controls.Add(this.inputOffsetLabelX); this.optionsPanel.Controls.Add(this.outputOffsetLabelX); this.optionsPanel.Controls.Add(this.inputOffsetBoxX); @@ -1393,9 +1417,22 @@ namespace grapher this.limitLabelY.Size = new System.Drawing.Size(28, 13); this.limitLabelY.TabIndex = 136; this.limitLabelY.Text = "Limit"; - // - // offsetLabelY - // + + this.inputJumpLabelY.AutoSize = true; + this.inputJumpLabelY.Location = new System.Drawing.Point(263, 248); + this.inputJumpLabelY.Name = "inputJumpLabelY"; + this.inputJumpLabelY.Size = new System.Drawing.Size(35, 13); + this.inputJumpLabelY.TabIndex = 135; + this.inputJumpLabelY.Text = "Input"; + + this.outputJumpLabelY.AutoSize = true; + this.outputJumpLabelY.Location = new System.Drawing.Point(263, 248); + this.outputJumpLabelY.Name = "outputJumpLabelY"; + this.outputJumpLabelY.Size = new System.Drawing.Size(35, 13); + this.outputJumpLabelY.TabIndex = 135; + this.outputJumpLabelY.Text = "Output"; + + this.inputOffsetLabelY.AutoSize = true; this.inputOffsetLabelY.Location = new System.Drawing.Point(263, 248); this.inputOffsetLabelY.Name = "inputOffsetLabelY"; @@ -1456,9 +1493,21 @@ namespace grapher this.LimitActiveYLabel.Size = new System.Drawing.Size(13, 13); this.LimitActiveYLabel.TabIndex = 130; this.LimitActiveYLabel.Text = "0"; - // - // OffsetActiveYLabel - // + + this.InputJumpActiveYLabel.AutoSize = true; + this.InputJumpActiveYLabel.Location = new System.Drawing.Point(414, 248); + this.InputJumpActiveYLabel.Name = "InputJumpActiveYLabel"; + this.InputJumpActiveYLabel.Size = new System.Drawing.Size(13, 13); + this.InputJumpActiveYLabel.TabIndex = 129; + this.InputJumpActiveYLabel.Text = "0"; + + this.OutputJumpActiveYLabel.AutoSize = true; + this.OutputJumpActiveYLabel.Location = new System.Drawing.Point(414, 248); + this.OutputJumpActiveYLabel.Name = "OutputJumpActiveYLabel"; + this.OutputJumpActiveYLabel.Size = new System.Drawing.Size(13, 13); + this.OutputJumpActiveYLabel.TabIndex = 129; + this.OutputJumpActiveYLabel.Text = "0"; + this.InputOffsetActiveYLabel.AutoSize = true; this.InputOffsetActiveYLabel.Location = new System.Drawing.Point(414, 248); this.InputOffsetActiveYLabel.Name = "InputOffsetActiveYLabel"; @@ -1504,9 +1553,17 @@ namespace grapher this.limitBoxY.Name = "limitBoxY"; this.limitBoxY.Size = new System.Drawing.Size(76, 20); this.limitBoxY.TabIndex = 108; - // - // offsetBoxY - // + + this.inputJumpBoxY.Location = new System.Drawing.Point(332, 245); + this.inputJumpBoxY.Name = "inputJumpBoxY"; + this.inputJumpBoxY.Size = new System.Drawing.Size(76, 20); + this.inputJumpBoxY.TabIndex = 106; + + this.outputJumpBoxY.Location = new System.Drawing.Point(332, 245); + this.outputJumpBoxY.Name = "outputJumpBoxY"; + this.outputJumpBoxY.Size = new System.Drawing.Size(76, 20); + this.outputJumpBoxY.TabIndex = 106; + this.inputOffsetBoxY.Location = new System.Drawing.Point(332, 245); this.inputOffsetBoxY.Name = "inputOffsetBoxY"; this.inputOffsetBoxY.Size = new System.Drawing.Size(76, 20); @@ -1541,9 +1598,21 @@ namespace grapher this.LimitActiveXLabel.Size = new System.Drawing.Size(13, 13); this.LimitActiveXLabel.TabIndex = 126; this.LimitActiveXLabel.Text = "0"; - // - // OffsetActiveXLabel - // + + this.InputJumpActiveXLabel.AutoSize = true; + this.InputJumpActiveXLabel.Location = new System.Drawing.Point(197, 248); + this.InputJumpActiveXLabel.Name = "InputJumpActiveXLabel"; + this.InputJumpActiveXLabel.Size = new System.Drawing.Size(13, 13); + this.InputJumpActiveXLabel.TabIndex = 125; + this.InputJumpActiveXLabel.Text = "0"; + + this.OutputJumpActiveXLabel.AutoSize = true; + this.OutputJumpActiveXLabel.Location = new System.Drawing.Point(197, 248); + this.OutputJumpActiveXLabel.Name = "OutputJumpActiveXLabel"; + this.OutputJumpActiveXLabel.Size = new System.Drawing.Size(13, 13); + this.OutputJumpActiveXLabel.TabIndex = 125; + this.OutputJumpActiveXLabel.Text = "0"; + this.InputOffsetActiveXLabel.AutoSize = true; this.InputOffsetActiveXLabel.Location = new System.Drawing.Point(197, 248); this.InputOffsetActiveXLabel.Name = "InputOffsetActiveXLabel"; @@ -1682,9 +1751,33 @@ namespace grapher this.writeButton.TabIndex = 111; this.writeButton.Text = "Apply"; this.writeButton.UseVisualStyleBackColor = true; - // - // offsetLabelX - // + + this.inputJumpLabelX.AutoSize = true; + this.inputJumpLabelX.Location = new System.Drawing.Point(37, 248); + this.inputJumpLabelX.Name = "inputJumpLabelX"; + this.inputJumpLabelX.Size = new System.Drawing.Size(35, 13); + this.inputJumpLabelX.TabIndex = 107; + this.inputJumpLabelX.Text = "Input Jump"; + this.inputJumpLabelX.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + + this.outputJumpLabelX.AutoSize = true; + this.outputJumpLabelX.Location = new System.Drawing.Point(37, 248); + this.outputJumpLabelX.Name = "outputJumpLabelX"; + this.outputJumpLabelX.Size = new System.Drawing.Size(35, 13); + this.outputJumpLabelX.TabIndex = 107; + this.outputJumpLabelX.Text = "Output Jump"; + this.outputJumpLabelX.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + + this.inputJumpBoxX.Location = new System.Drawing.Point(106, 245); + this.inputJumpBoxX.Name = "inputJumpBoxX"; + this.inputJumpBoxX.Size = new System.Drawing.Size(76, 20); + this.inputJumpBoxX.TabIndex = 92; + + this.outputJumpBoxX.Location = new System.Drawing.Point(106, 245); + this.outputJumpBoxX.Name = "outputJumpBoxX"; + this.outputJumpBoxX.Size = new System.Drawing.Size(76, 20); + this.outputJumpBoxX.TabIndex = 92; + this.inputOffsetLabelX.AutoSize = true; this.inputOffsetLabelX.Location = new System.Drawing.Point(37, 248); this.inputOffsetLabelX.Name = "inputOffsetLabelX"; @@ -1700,9 +1793,7 @@ namespace grapher this.outputOffsetLabelX.TabIndex = 107; this.outputOffsetLabelX.Text = "Output Offset"; this.outputOffsetLabelX.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // offsetBoxX - // + this.inputOffsetBoxX.Location = new System.Drawing.Point(106, 245); this.inputOffsetBoxX.Name = "inputOffsetBoxX"; this.inputOffsetBoxX.Size = new System.Drawing.Size(76, 20); @@ -2238,6 +2329,8 @@ namespace grapher private System.Windows.Forms.Label OptionSetXTitle; private System.Windows.Forms.Label constantThreeLabelY; private System.Windows.Forms.Label limitLabelY; + private System.Windows.Forms.Label inputJumpLabelY; + private System.Windows.Forms.Label outputJumpLabelY; private System.Windows.Forms.Label inputOffsetLabelY; private System.Windows.Forms.Label outputOffsetLabelY; private System.Windows.Forms.Label inCapLabelYClassic; @@ -2245,17 +2338,23 @@ namespace grapher private System.Windows.Forms.CheckBox ByComponentXYLock; private System.Windows.Forms.Label MidpointActiveYLabel; private System.Windows.Forms.Label LimitActiveYLabel; + private System.Windows.Forms.Label InputJumpActiveYLabel; + private System.Windows.Forms.Label OutputJumpActiveYLabel; private System.Windows.Forms.Label InputOffsetActiveYLabel; private System.Windows.Forms.Label OutputOffsetActiveYLabel; private System.Windows.Forms.Label AccelerationActiveLabelY; private System.Windows.Forms.ComboBox accelTypeDropY; private System.Windows.Forms.TextBox midpointBoxY; private System.Windows.Forms.TextBox limitBoxY; + private System.Windows.Forms.TextBox inputJumpBoxY; + private System.Windows.Forms.TextBox outputJumpBoxY; private System.Windows.Forms.TextBox inputOffsetBoxY; private System.Windows.Forms.TextBox outputOffsetBoxY; private System.Windows.Forms.TextBox accelerationBoxY; private System.Windows.Forms.Label MidpointActiveXLabel; private System.Windows.Forms.Label LimitActiveXLabel; + private System.Windows.Forms.Label InputJumpActiveXLabel; + private System.Windows.Forms.Label OutputJumpActiveXLabel; private System.Windows.Forms.Label InputOffsetActiveXLabel; private System.Windows.Forms.Label OutputOffsetActiveXLabel; private System.Windows.Forms.Label InCapActiveYLabelClassic; @@ -2276,6 +2375,10 @@ namespace grapher private System.Windows.Forms.Label outputOffsetLabelX; private System.Windows.Forms.TextBox inputOffsetBoxX; private System.Windows.Forms.TextBox outputOffsetBoxX; + private System.Windows.Forms.Label inputJumpLabelX; + private System.Windows.Forms.Label outputJumpLabelX; + private System.Windows.Forms.TextBox inputJumpBoxX; + private System.Windows.Forms.TextBox outputJumpBoxX; private System.Windows.Forms.Label constantThreeLabelX; private System.Windows.Forms.TextBox midpointBoxX; private System.Windows.Forms.Label limitLabelX; diff --git a/grapher/Form1.cs b/grapher/Form1.cs index 00483d5..b36d511 100644 --- a/grapher/Form1.cs +++ b/grapher/Form1.cs @@ -82,6 +82,10 @@ namespace grapher inCapBoxYPower, outCapBoxXPower, outCapBoxYPower, + inputJumpBoxX, + inputJumpBoxY, + outputJumpBoxX, + outputJumpBoxY, inputOffsetBoxX, inputOffsetBoxY, outputOffsetBoxX, @@ -136,6 +140,10 @@ namespace grapher outCapLabelYPower, CapTypeLabelXPower, CapTypeLabelYPower, + inputJumpLabelX, + inputJumpLabelY, + outputJumpLabelX, + outputJumpLabelY, inputOffsetLabelX, inputOffsetLabelY, outputOffsetLabelX, @@ -177,6 +185,10 @@ namespace grapher OutCapActiveYLabelPower, CapTypeActiveXLabelPower, CapTypeActiveYLabelPower, + InputJumpActiveXLabel, + InputJumpActiveYLabel, + OutputJumpActiveXLabel, + OutputJumpActiveYLabel, InputOffsetActiveXLabel, InputOffsetActiveYLabel, OutputOffsetActiveXLabel, diff --git a/grapher/Layouts/ClassicLayout.cs b/grapher/Layouts/ClassicLayout.cs index 4f82e8a..cb09fba 100644 --- a/grapher/Layouts/ClassicLayout.cs +++ b/grapher/Layouts/ClassicLayout.cs @@ -25,6 +25,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(false, string.Empty); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } } } diff --git a/grapher/Layouts/DefaultLayout.cs b/grapher/Layouts/DefaultLayout.cs index f44de01..357c36f 100644 --- a/grapher/Layouts/DefaultLayout.cs +++ b/grapher/Layouts/DefaultLayout.cs @@ -26,6 +26,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(false, string.Empty); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } } } diff --git a/grapher/Layouts/JumpLayout.cs b/grapher/Layouts/JumpLayout.cs index 9554175..453a2c7 100644 --- a/grapher/Layouts/JumpLayout.cs +++ b/grapher/Layouts/JumpLayout.cs @@ -17,7 +17,7 @@ namespace grapher.Layouts DecayRateLayout = new OptionLayout(false, string.Empty); GrowthRateLayout = new OptionLayout(false, string.Empty); SmoothLayout = new OptionLayout(true, Smooth); - InputOffsetLayout = new OptionLayout(true, InputOffset); + InputOffsetLayout = new OptionLayout(false, InputOffset); LimitLayout = new OptionLayout(false, Limit); PowerClassicLayout = new OptionLayout(false, string.Empty); ExponentLayout = new OptionLayout(false, string.Empty); @@ -26,6 +26,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(false, string.Empty); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(true, Input); + OutputJumpLayout = new OptionLayout(true, Output); } } } diff --git a/grapher/Layouts/LUTLayout.cs b/grapher/Layouts/LUTLayout.cs index 88f8280..8aa0dd5 100644 --- a/grapher/Layouts/LUTLayout.cs +++ b/grapher/Layouts/LUTLayout.cs @@ -34,6 +34,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(true, string.Empty); LutPanelLayout = new OptionLayout(true, string.Empty); LutApplyOptionsLayout = new OptionLayout(true, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } public override string ActiveName => LUTActiveName; diff --git a/grapher/Layouts/LayoutBase.cs b/grapher/Layouts/LayoutBase.cs index 1dced61..e53b37e 100644 --- a/grapher/Layouts/LayoutBase.cs +++ b/grapher/Layouts/LayoutBase.cs @@ -19,6 +19,8 @@ namespace grapher.Layouts public const string Weight = "Weight"; public const string Smooth = "Smooth"; public const string Gain = "Gain"; + public const string Input = "Input"; + public const string Output = "Output"; public LayoutBase() { @@ -27,10 +29,12 @@ namespace grapher.Layouts SmoothLayout = new OptionLayout(false, string.Empty); ClassicCapLayout = new OptionLayout(false, string.Empty); PowerCapLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); InputOffsetLayout = new OptionLayout(false, string.Empty); LimitLayout = new OptionLayout(false, string.Empty); PowerClassicLayout = new OptionLayout(false, string.Empty); ExponentLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); OutputOffsetLayout = new OptionLayout(false, string.Empty); MidpointLayout = new OptionLayout(false, string.Empty); LutTextLayout = new OptionLayout(false, string.Empty); @@ -59,6 +63,8 @@ namespace grapher.Layouts protected OptionLayout PowerCapLayout { get; set; } + protected OptionLayout InputJumpLayout { get; set; } + protected OptionLayout InputOffsetLayout { get; set; } protected OptionLayout LimitLayout { get; set; } @@ -67,6 +73,8 @@ namespace grapher.Layouts protected OptionLayout ExponentLayout { get; set; } + protected OptionLayout OutputJumpLayout { get; set; } + protected OptionLayout OutputOffsetLayout { get; set; } protected OptionLayout MidpointLayout { get; set; } @@ -91,10 +99,12 @@ namespace grapher.Layouts IOption decayRateOption, IOption growthRateOption, IOption smoothOption, + IOption inputJumpOption, IOption inputOffsetOption, IOption limitOption, IOption powerClassicOption, IOption expOption, + IOption outputJumpOption, IOption outputOffsetOption, IOption midpointOption, IOption lutTextOption, @@ -112,10 +122,12 @@ namespace grapher.Layouts (DecayRateLayout, decayRateOption), (GrowthRateLayout, growthRateOption), (SmoothLayout, smoothOption), + (InputJumpLayout, inputJumpOption), (InputOffsetLayout, inputOffsetOption), (LimitLayout, limitOption), (PowerClassicLayout, powerClassicOption), (ExponentLayout, expOption), + (OutputJumpLayout, outputJumpOption), (OutputOffsetLayout, outputOffsetOption), (MidpointLayout, midpointOption), (LutTextLayout, lutTextOption), @@ -147,10 +159,12 @@ namespace grapher.Layouts IOption decayRateOption, IOption growthRateOption, IOption smoothOption, + IOption inputJumpOption, IOption inputOffsetOption, IOption limitOption, IOption powerClassicOption, IOption expOption, + IOption outputJumpOption, IOption outputOffsetOption, IOption midpointOption, IOption lutTextOption, @@ -163,10 +177,12 @@ namespace grapher.Layouts decayRateOption, growthRateOption, smoothOption, + inputJumpOption, inputOffsetOption, limitOption, powerClassicOption, expOption, + outputJumpOption, outputOffsetOption, midpointOption, lutTextOption, diff --git a/grapher/Layouts/LinearLayout.cs b/grapher/Layouts/LinearLayout.cs index 279f0a9..ebace66 100644 --- a/grapher/Layouts/LinearLayout.cs +++ b/grapher/Layouts/LinearLayout.cs @@ -27,6 +27,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(false, string.Empty); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } } } diff --git a/grapher/Layouts/MotivityLayout.cs b/grapher/Layouts/MotivityLayout.cs index 15394d2..d4fd99c 100644 --- a/grapher/Layouts/MotivityLayout.cs +++ b/grapher/Layouts/MotivityLayout.cs @@ -31,6 +31,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(false, string.Empty); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } } } diff --git a/grapher/Layouts/NaturalLayout.cs b/grapher/Layouts/NaturalLayout.cs index d182d6d..03f2f82 100644 --- a/grapher/Layouts/NaturalLayout.cs +++ b/grapher/Layouts/NaturalLayout.cs @@ -26,6 +26,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(false, string.Empty); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } } } diff --git a/grapher/Layouts/OffLayout.cs b/grapher/Layouts/OffLayout.cs index 630ea16..482f87a 100644 --- a/grapher/Layouts/OffLayout.cs +++ b/grapher/Layouts/OffLayout.cs @@ -26,6 +26,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(false, string.Empty); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } } } diff --git a/grapher/Layouts/PowerLayout.cs b/grapher/Layouts/PowerLayout.cs index e34e6a5..fb88ab0 100644 --- a/grapher/Layouts/PowerLayout.cs +++ b/grapher/Layouts/PowerLayout.cs @@ -24,6 +24,8 @@ LutTextLayout = new OptionLayout(false, string.Empty); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } } } diff --git a/grapher/Layouts/UnsupportedLayout.cs b/grapher/Layouts/UnsupportedLayout.cs index 3aa88aa..a2d7ab5 100644 --- a/grapher/Layouts/UnsupportedLayout.cs +++ b/grapher/Layouts/UnsupportedLayout.cs @@ -31,6 +31,8 @@ namespace grapher.Layouts LutTextLayout = new OptionLayout(true, LUTLayoutText); LutPanelLayout = new OptionLayout(false, string.Empty); LutApplyOptionsLayout = new OptionLayout(false, string.Empty); + InputJumpLayout = new OptionLayout(false, string.Empty); + OutputJumpLayout = new OptionLayout(false, string.Empty); } } }
\ No newline at end of file diff --git a/grapher/Models/AccelGUIFactory.cs b/grapher/Models/AccelGUIFactory.cs index bb65541..e7ae672 100644 --- a/grapher/Models/AccelGUIFactory.cs +++ b/grapher/Models/AccelGUIFactory.cs @@ -54,6 +54,10 @@ namespace grapher.Models TextBox inCapBoxYPower, TextBox outCapBoxXPower, TextBox outCapBoxYPower, + TextBox inputJumpBoxX, + TextBox inputJumpBoxY, + TextBox outputJumpBoxX, + TextBox outputJumpBoxY, TextBox inputOffsetBoxX, TextBox inputOffsetBoxY, TextBox outputOffsetBoxX, @@ -108,6 +112,10 @@ namespace grapher.Models Label outCapLabelYPower, Label capTypeLabelXPower, Label capTypeLabelYPower, + Label inputJumpLabelX, + Label inputJumpLabelY, + Label outputJumpLabelX, + Label outputJumpLabelY, Label inputOffsetLabelX, Label inputOffsetLabelY, Label outputOffsetLabelX, @@ -149,6 +157,10 @@ namespace grapher.Models Label outCapActiveYLabelPower, Label capTypeActiveXLabelPower, Label capTypeActiveYLabelPower, + Label inputJumpActiveLabelX, + Label inputJumpActiveLabelY, + Label outputJumpActiveLabelX, + Label outputJumpActiveLabelY, Label inputOffsetActiveLabelX, Label inputOffsetActiveLabelY, Label outputOffsetActiveLabelX, @@ -247,6 +259,42 @@ namespace grapher.Models var directionalityLeft = directionalityPanel.Left; + var inputJumpX = new Option( + inputJumpBoxX, + form, + 0, + inputJumpLabelX, + 0, + new ActiveValueLabel(inputJumpActiveLabelX, activeValueTitleX), + "Jump"); + + var inputJumpY = new Option( + inputJumpBoxY, + form, + 0, + inputJumpLabelY, + optionSetYLeft, + new ActiveValueLabel(inputJumpActiveLabelY, activeValueTitleY), + "Jump"); + + var outputJumpX = new Option( + outputJumpBoxX, + form, + 0, + outputJumpLabelX, + 0, + new ActiveValueLabel(outputJumpActiveLabelX, activeValueTitleX), + "Jump"); + + var outputJumpY = new Option( + outputJumpBoxY, + form, + 0, + outputJumpLabelY, + optionSetYLeft, + new ActiveValueLabel(outputJumpActiveLabelY, activeValueTitleY), + "Jump"); + var inputOffsetX = new Option( inputOffsetBoxX, form, @@ -556,10 +604,12 @@ namespace grapher.Models gainSwitchOptionX, classicCapOptionsX, powerCapOptionsX, + outputJumpX, outputOffsetX, decayRateX, growthRateX, smoothX, + inputJumpX, inputOffsetX, limitX, powerClassicX, @@ -579,10 +629,12 @@ namespace grapher.Models gainSwitchOptionY, classicCapOptionsY, powerCapOptionsY, + outputJumpY, outputOffsetY, decayRateY, growthRateY, smoothY, + inputJumpY, inputOffsetY, limitY, powerClassicY, diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs index f079542..359b6b8 100644 --- a/grapher/Models/Options/AccelTypeOptions.cs +++ b/grapher/Models/Options/AccelTypeOptions.cs @@ -29,10 +29,12 @@ namespace grapher CheckBoxOption gainSwitch, CapOptions classicCap, CapOptions powerCap, + Option outputJump, Option outputOffset, Option decayRate, Option growthRate, Option smooth, + Option inputJump, Option inputOffset, Option limit, Option powerClassic, @@ -67,10 +69,12 @@ namespace grapher Smooth = smooth; ClassicCap = classicCap; PowerCap = powerCap; + InputJump = inputJump; InputOffset = inputOffset; Limit = limit; PowerClassic = powerClassic; Exponent = exponent; + OutputJump = outputJump; OutputOffset = outputOffset; Midpoint = midpoint; WriteButton = writeButton; @@ -114,6 +118,10 @@ namespace grapher public CapOptions PowerCap { get; } + public Option InputJump { get; } + + public Option OutputJump { get; } + public Option InputOffset { get; } public Option OutputOffset { get; } @@ -229,6 +237,8 @@ namespace grapher PowerCap.Hide(); OutputOffset.Hide(); InputOffset.Hide(); + InputJump.Hide(); + OutputJump.Hide(); Limit.Hide(); PowerClassic.Hide(); Exponent.Hide(); @@ -265,6 +275,8 @@ namespace grapher args.cap.x, args.cap.y, args.capMode); + InputJump.SetActiveValue(args.cap.x); + OutputJump.SetActiveValue(args.cap.y); OutputOffset.SetActiveValue(args.outputOffset); InputOffset.SetActiveValue(args.inputOffset); DecayRate.SetActiveValue(args.decayRate); @@ -329,6 +341,8 @@ namespace grapher args.cap.y = PowerCap.Out.Field.Data; args.capMode = PowerCap.CapTypeOptions.GetSelectedCapMode(); } + if (InputJump.Visible) args.cap.x = InputJump.Field.Data; + if (OutputJump.Visible) args.cap.y = OutputJump.Field.Data; if (Limit.Visible) { if (args.mode == AccelMode.motivity) @@ -344,6 +358,7 @@ namespace grapher if (Exponent.Visible) args.exponentPower = Exponent.Field.Data; if (InputOffset.Visible) args.inputOffset = InputOffset.Field.Data; if (OutputOffset.Visible) args.outputOffset = OutputOffset.Field.Data; + if (Midpoint.Visible) args.midpoint = Midpoint.Field.Data; if (LutPanel.Visible) { @@ -372,6 +387,8 @@ namespace grapher PowerCap.AlignActiveValues(); OutputOffset.AlignActiveValues(); InputOffset.AlignActiveValues(); + OutputJump.AlignActiveValues(); + InputJump.AlignActiveValues(); Limit.AlignActiveValues(); PowerClassic.AlignActiveValues(); Exponent.AlignActiveValues(); @@ -408,10 +425,12 @@ namespace grapher DecayRate, GrowthRate, Smooth, + InputJump, InputOffset, Limit, PowerClassic, Exponent, + OutputJump, OutputOffset, Midpoint, LutText, |