Blame view
sources/RoboforkApp/View/EditNodeView.xaml.cs
8.31 KB
729be9a6d
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Text.RegularExpressions; |
99c770eb8
|
15 |
using System.Globalization; |
01c8c8f49
|
16 17 |
using System.Data; using RoboforkApp.DataModel; |
729be9a6d
|
18 19 20 |
namespace RoboforkApp { |
01c8c8f49
|
21 |
|
729be9a6d
|
22 23 24 25 26 |
/// <summary> /// Interaction logic for EditNode.xaml /// </summary> public partial class EditNodeWindow : Window { |
01c8c8f49
|
27 28 29 30 31 |
/// <summary> /// SourceDataView /// </summary> private DataView SourceDataView { get; set; } public DataTable ListModeDataTable = new DataTable(); |
b338e1ff5
|
32 33 34 35 36 37 |
public string txtMode; public string _txtMode { get { return txtMode; } set { txtMode = value; } } |
729be9a6d
|
38 39 40 |
public string txtMode1; public string _txtMode1 { |
b338e1ff5
|
41 |
get { return txtMode1; } |
6312cbd86
|
42 |
} |
729be9a6d
|
43 44 45 46 |
public string txtMode2; public string _txtMode2 { get { return txtMode2; } |
6312cbd86
|
47 |
} |
729be9a6d
|
48 49 50 51 52 53 54 55 56 57 |
public string txtMode3; public string _txtMode3 { get { return txtMode3; } } public bool ExitFlg = false; public bool _ExitFlg { get { return ExitFlg; } } |
6312cbd86
|
58 |
|
01c8c8f49
|
59 |
public List<ListNodeInfo> NodeInf_List |
6312cbd86
|
60 |
{ |
01c8c8f49
|
61 62 |
get { return NodeInf_Lst; } set { NodeInf_Lst = value; } |
6312cbd86
|
63 |
} |
01c8c8f49
|
64 65 66 67 68 69 |
//List<NodeInf> NodeInf_Lst = new List<NodeInf>(); public List<ListNodeInfo> NodeInf_Lst = new List<ListNodeInfo>(); public EditNodeWindow() |
6312cbd86
|
70 |
{ |
01c8c8f49
|
71 |
InitializeComponent(); |
6312cbd86
|
72 |
} |
6312cbd86
|
73 |
|
01c8c8f49
|
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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
private void Window_Loaded(object sender, RoutedEventArgs e) { Load_Form(); } public void Load_Form() { int rowSelected = 0; ListModeDataTable.Columns.Add("NO", typeof(int)); ListModeDataTable.Columns.Add("MODE", typeof(string)); ListModeDataTable.Columns.Add("SPEED", typeof(string)); ListModeDataTable.Columns.Add("ANGLE", typeof(string)); ListModeDataTable.Columns.Add("HIGHT", typeof(string)); ListModeDataTable.Columns.Add("MODESELECTED", typeof(double)); if (NodeInf_Lst.Count > 0) { for (int i = 0; i < NodeInf_Lst.Count; i++) { string strMode = NodeInf_Lst[i].Mode; string strSpeed = NodeInf_Lst[i].Speed.ToString(); string strAngle = NodeInf_Lst[i].Angle.ToString(); string strHeight = NodeInf_Lst[i].Height.ToString(); int intMode = NodeInf_Lst[i].ModeSelected; ListModeDataTable.Rows.Add(i + 1, NodeInf_Lst[i].Mode, strSpeed, strAngle, strHeight, intMode); } } for (int i = 0; i < ListModeDataTable.Rows.Count; i++) { if (ListModeDataTable.Rows[i]["MODESELECTED"].ToString() == "1") { rowSelected = i; } } //ListEditNodeData.SelectedIndex = rowSelected; SourceDataView = new DataView(ListModeDataTable); ListEditNodeData.ItemsSource = SourceDataView; cbMode.Focus(); cbMode.Text = ""; txtSpeed.Text = "0"; txtAngle.Text = "0"; txtHight.Text = "0"; } |
6312cbd86
|
119 |
|
729be9a6d
|
120 |
|
729be9a6d
|
121 122 123 124 125 126 127 |
private void btnEditNode_Click(object sender, RoutedEventArgs e) { string tag = ((Button)sender).Tag.ToString(); switch (tag) { case "ADDMODE": |
99c770eb8
|
128 129 130 131 132 |
if (!checkFloat(txtSpeed.Text) || !checkFloat(txtAngle.Text) || !checkFloat(txtHight.Text)) { MessageBox.Show("Please Check Again!"); break; } |
01c8c8f49
|
133 134 135 136 137 138 |
if ((cbMode.Text.Trim() == "") || (txtSpeed.Text.Trim() == "")) { MessageBox.Show("Please Check Again!"); break; } CreateMode(); |
729be9a6d
|
139 140 |
clearField(); break; |
01c8c8f49
|
141 142 143 |
case "DELETEMODE": DeleteMode(); break; |
729be9a6d
|
144 145 146 147 148 |
case "No": ExitFlg = true; this.Close(); break; case "Save": |
99c770eb8
|
149 150 151 152 153 |
if (!checkFloat(txtSpeed.Text) || !checkFloat(txtAngle.Text) || !checkFloat(txtHight.Text)) { MessageBox.Show("Please Check Again!"); break; } |
b338e1ff5
|
154 155 |
NewDoBeginSave(); MessageBox.Show("Data is saved"); |
729be9a6d
|
156 157 158 159 160 161 162 |
this.Close(); break; default: break; } } |
01c8c8f49
|
163 |
public void DeleteMode() |
b338e1ff5
|
164 |
{ |
01c8c8f49
|
165 166 167 168 |
int rowIndex = -1; rowIndex = ListEditNodeData.SelectedIndex; if (rowIndex < 0) |
b338e1ff5
|
169 |
{ |
01c8c8f49
|
170 |
rowIndex = ListModeDataTable.Rows.Count - 1; |
b338e1ff5
|
171 |
} |
01c8c8f49
|
172 |
if (rowIndex < 0) |
b338e1ff5
|
173 |
{ |
01c8c8f49
|
174 |
return; |
b338e1ff5
|
175 |
} |
01c8c8f49
|
176 177 178 179 180 |
ListModeDataTable.Rows[rowIndex].Delete(); ListModeDataTable.AcceptChanges(); for (int i = 0; i < ListModeDataTable.Rows.Count; i++) |
b338e1ff5
|
181 |
{ |
01c8c8f49
|
182 |
ListModeDataTable.Rows[i]["NO"] = i + 1; |
b338e1ff5
|
183 |
} |
b338e1ff5
|
184 |
|
01c8c8f49
|
185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
ListModeDataTable.AcceptChanges(); } public void CreateMode() { int count = ListModeDataTable.Rows.Count; ListModeDataTable.Rows.Add(count + 1, cbMode.Text, txtSpeed.Text, txtAngle.Text, txtHight.Text, 0); ListModeDataTable.AcceptChanges(); } public void NewDoBeginSave() { |
b864d9729
|
199 |
int rowSelected = -1; |
01c8c8f49
|
200 201 |
rowSelected = ListEditNodeData.SelectedIndex; |
b864d9729
|
202 203 204 205 |
if (rowSelected < 0) { rowSelected = 0; } |
01c8c8f49
|
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
NodeInf_Lst.Clear(); for (int i = 0; i < ListModeDataTable.Rows.Count; i++) { ListNodeInfo ni = new ListNodeInfo(); ni.Mode = ListModeDataTable.Rows[i]["MODE"].ToString(); if (ListModeDataTable.Rows[i]["SPEED"].ToString() != "") { ni.Speed = double.Parse((ListModeDataTable.Rows[i]["SPEED"].ToString())); } if (ListModeDataTable.Rows[i]["ANGLE"].ToString() != "") { ni.Angle = double.Parse((ListModeDataTable.Rows[i]["ANGLE"].ToString())); } if (ListModeDataTable.Rows[i]["HIGHT"].ToString() != "") { ni.Height = double.Parse((ListModeDataTable.Rows[i]["HIGHT"].ToString())); } if(i == rowSelected) { ni.ModeSelected = 1; } else { ni.ModeSelected = 0; } NodeInf_Lst.Add(ni); } |
b338e1ff5
|
234 |
|
6312cbd86
|
235 |
} |
b338e1ff5
|
236 |
|
99c770eb8
|
237 238 239 240 241 |
//Check input string is Float format public bool checkFloat(string st) { bool flg = false; Regex regex = new Regex(@"^[0-9]*(?:\.[0-9]*)?$"); |
b338e1ff5
|
242 |
|
99c770eb8
|
243 244 245 |
flg = regex.IsMatch(st); return flg; } |
729be9a6d
|
246 247 |
public void clearField() |
6312cbd86
|
248 |
{ |
729be9a6d
|
249 |
cbMode.Text = ""; |
01c8c8f49
|
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 |
txtSpeed.Text = "0"; txtAngle.Text = "0"; txtHight.Text = "0"; } private void txtSpeed_LostFocus(object sender, RoutedEventArgs e) { if(txtSpeed.Text.Trim() == "") { txtSpeed.Text = "0"; } } private void txtAngle_LostFocus(object sender, RoutedEventArgs e) { if (txtAngle.Text.Trim() == "") { txtAngle.Text = "0"; } } private void txtHight_LostFocus(object sender, RoutedEventArgs e) { if (txtHight.Text.Trim() == "") { txtHight.Text = "0"; } |
729be9a6d
|
277 278 279 280 |
} } } |