-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConfigurationDialog.cs
More file actions
102 lines (84 loc) · 4.28 KB
/
ConfigurationDialog.cs
File metadata and controls
102 lines (84 loc) · 4.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Hotwire
{
public partial class ConfigurationDialog : Form
{
Regex numbersOnly = new Regex(@"^[0-9]*(\.[0-9]+)?$", RegexOptions.Compiled);
public ConfigurationDialog()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (Configuration == null)
Configuration = new Configuration();
textBoxLeftDistance.Text = Configuration.LeftDistance.ToString(CultureInfo.InvariantCulture);
textBoxRightDistance.Text = Configuration.RightDistance.ToString(CultureInfo.InvariantCulture);
textBoxFrontDistance.Text = Configuration.FrontDistance.ToString(CultureInfo.InvariantCulture);
textBoxBackDistance.Text = Configuration.BackDistance.ToString(CultureInfo.InvariantCulture);
textBoxSpoolDiameter.Text = Configuration.SpoolDiameter.ToString(CultureInfo.InvariantCulture);
textBoxOriginA.Text = Configuration.OriginA.ToString(CultureInfo.InvariantCulture);
textBoxOriginB.Text = Configuration.OriginB.ToString(CultureInfo.InvariantCulture);
textBoxOriginC.Text = Configuration.OriginC.ToString(CultureInfo.InvariantCulture);
textBoxOriginD.Text = Configuration.OriginD.ToString(CultureInfo.InvariantCulture);
textBoxXOffset.Text = Configuration.OriginOffsetX.ToString(CultureInfo.InvariantCulture);
textBoxYOffset.Text = Configuration.OriginOffsetY.ToString(CultureInfo.InvariantCulture);
textBoxStepsMotorA.Text = Configuration.StepsA.ToString(CultureInfo.InvariantCulture);
textBoxStepsMotorB.Text = Configuration.StepsB.ToString(CultureInfo.InvariantCulture);
textBoxStepsMotorC.Text = Configuration.StepsC.ToString(CultureInfo.InvariantCulture);
textBoxStepsMotorD.Text = Configuration.StepsD.ToString(CultureInfo.InvariantCulture);
checkBoxReverseA.Checked = Configuration.ReverseA;
checkBoxReverseB.Checked = Configuration.ReverseB;
checkBoxReverseC.Checked = Configuration.ReverseC;
checkBoxReverseD.Checked = Configuration.ReverseD;
}
private void textBoxNumberValidator(object sender, CancelEventArgs e)
{
e.Cancel = !numbersOnly.Match(textBoxLeftDistance.Text).Success;
}
private void buttonOk_Click(object sender, EventArgs e)
{
Configuration.LeftDistance = double.Parse(textBoxLeftDistance.Text, CultureInfo.InvariantCulture);
Configuration.RightDistance = double.Parse(textBoxRightDistance.Text, CultureInfo.InvariantCulture);
Configuration.FrontDistance = double.Parse(textBoxFrontDistance.Text, CultureInfo.InvariantCulture);
Configuration.BackDistance = double.Parse(textBoxBackDistance.Text, CultureInfo.InvariantCulture);
Configuration.SpoolDiameter = double.Parse(textBoxSpoolDiameter.Text, CultureInfo.InvariantCulture);
Configuration.OriginA = double.Parse(textBoxOriginA.Text, CultureInfo.InvariantCulture);
Configuration.OriginB = double.Parse(textBoxOriginB.Text, CultureInfo.InvariantCulture);
Configuration.OriginC = double.Parse(textBoxOriginC.Text, CultureInfo.InvariantCulture);
Configuration.OriginD = double.Parse(textBoxOriginD.Text, CultureInfo.InvariantCulture);
Configuration.OriginOffsetX = double.Parse(textBoxXOffset.Text, CultureInfo.InvariantCulture);
Configuration.OriginOffsetY = double.Parse(textBoxYOffset.Text, CultureInfo.InvariantCulture);
Configuration.StepsA = double.Parse(textBoxStepsMotorA.Text, CultureInfo.InvariantCulture);
Configuration.StepsB = double.Parse(textBoxStepsMotorB.Text, CultureInfo.InvariantCulture);
Configuration.StepsC = double.Parse(textBoxStepsMotorC.Text, CultureInfo.InvariantCulture);
Configuration.StepsD = double.Parse(textBoxStepsMotorD.Text, CultureInfo.InvariantCulture);
Configuration.ReverseA = checkBoxReverseA.Checked;
Configuration.ReverseB = checkBoxReverseB.Checked;
Configuration.ReverseC = checkBoxReverseC.Checked;
Configuration.ReverseD = checkBoxReverseD.Checked;
DialogResult = DialogResult.OK;
Close();
}
private void buttonCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
public Configuration Configuration
{
get; set;
}
}
}