| 1 |
using System; |
|---|
| 2 |
using System.Collections.Generic; |
|---|
| 3 |
using System.ComponentModel; |
|---|
| 4 |
using System.Data; |
|---|
| 5 |
using System.Drawing; |
|---|
| 6 |
using System.Text; |
|---|
| 7 |
using System.Windows.Forms; |
|---|
| 8 |
|
|---|
| 9 |
namespace Pybrary.Plot |
|---|
| 10 |
{ |
|---|
| 11 |
public partial class ManualNumericAxisForm : Form |
|---|
| 12 |
{ |
|---|
| 13 |
private NumericAxis axis; |
|---|
| 14 |
|
|---|
| 15 |
public ManualNumericAxisForm(NumericAxis axis) |
|---|
| 16 |
{ |
|---|
| 17 |
this.axis = axis; |
|---|
| 18 |
|
|---|
| 19 |
InitializeComponent(); |
|---|
| 20 |
|
|---|
| 21 |
minAutoButton.Checked = (axis.UserMinimum == null); |
|---|
| 22 |
minManualButton.Checked = !minAutoButton.Checked; |
|---|
| 23 |
maxAutoButton.Checked = (axis.UserMaximum == null); |
|---|
| 24 |
maxManualButton.Checked = !maxAutoButton.Checked; |
|---|
| 25 |
if (axis.UserMinimum.HasValue) |
|---|
| 26 |
minValueBox.Text = axis.FormatLabel(axis.UserMinimum.Value); |
|---|
| 27 |
if (axis.UserMaximum.HasValue) |
|---|
| 28 |
maxValueBox.Text = axis.FormatLabel(axis.UserMaximum.Value); |
|---|
| 29 |
UpdateEnabling(); |
|---|
| 30 |
} |
|---|
| 31 |
|
|---|
| 32 |
private void UpdateEnabling() |
|---|
| 33 |
{ |
|---|
| 34 |
minValueBox.Enabled = minManualButton.Checked; |
|---|
| 35 |
maxValueBox.Enabled = maxManualButton.Checked; |
|---|
| 36 |
} |
|---|
| 37 |
|
|---|
| 38 |
private void maxAutoButton_CheckedChanged(object sender, EventArgs e) |
|---|
| 39 |
{ |
|---|
| 40 |
UpdateEnabling(); |
|---|
| 41 |
} |
|---|
| 42 |
|
|---|
| 43 |
private void maxManualButton_CheckedChanged(object sender, EventArgs e) |
|---|
| 44 |
{ |
|---|
| 45 |
UpdateEnabling(); |
|---|
| 46 |
} |
|---|
| 47 |
|
|---|
| 48 |
private void minManualButton_CheckedChanged(object sender, EventArgs e) |
|---|
| 49 |
{ |
|---|
| 50 |
UpdateEnabling(); |
|---|
| 51 |
} |
|---|
| 52 |
|
|---|
| 53 |
private void minAutoButton_CheckedChanged(object sender, EventArgs e) |
|---|
| 54 |
{ |
|---|
| 55 |
UpdateEnabling(); |
|---|
| 56 |
} |
|---|
| 57 |
|
|---|
| 58 |
private void okButton_Click(object sender, EventArgs e) |
|---|
| 59 |
{ |
|---|
| 60 |
try |
|---|
| 61 |
{ |
|---|
| 62 |
if (minManualButton.Checked) |
|---|
| 63 |
axis.UserMinimum = Convert.ToDouble(minValueBox.Text); |
|---|
| 64 |
else |
|---|
| 65 |
axis.UserMinimum = null; |
|---|
| 66 |
|
|---|
| 67 |
if (maxManualButton.Checked) |
|---|
| 68 |
axis.UserMaximum = Convert.ToDouble(maxValueBox.Text); |
|---|
| 69 |
else |
|---|
| 70 |
axis.UserMaximum = null; |
|---|
| 71 |
|
|---|
| 72 |
if (axis.UserMaximum.HasValue && axis.UserMinimum.HasValue && axis.UserMinimum.Value > axis.UserMaximum.Value) |
|---|
| 73 |
{ |
|---|
| 74 |
// Probably entered max in min field, and vice versa. Auto-swap. |
|---|
| 75 |
double value = axis.UserMaximum.Value; |
|---|
| 76 |
axis.UserMaximum = axis.UserMinimum; |
|---|
| 77 |
axis.UserMinimum = value; |
|---|
| 78 |
} |
|---|
| 79 |
|
|---|
| 80 |
Dispose(); |
|---|
| 81 |
} |
|---|
| 82 |
catch (FormatException) |
|---|
| 83 |
{ |
|---|
| 84 |
MessageBox.Show(this, "You must enter number values.", "Parse Error", MessageBoxButtons.OK, MessageBoxIcon.Error); |
|---|
| 85 |
} |
|---|
| 86 |
} |
|---|
| 87 |
|
|---|
| 88 |
private void cancelButton_Click(object sender, EventArgs e) |
|---|
| 89 |
{ |
|---|
| 90 |
Dispose(); |
|---|
| 91 |
} |
|---|
| 92 |
} |
|---|
| 93 |
} |
|---|