Blame view
sources/RoboforkApp/View/EditNodeView.xaml.cs
8.63 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 |
|
|
abaa8d900
|
59 |
public List<ListNodeInfo> NodeInf_Lst = new List<ListNodeInfo>(); |
|
01c8c8f49
|
60 |
public List<ListNodeInfo> NodeInf_List |
|
6312cbd86
|
61 |
{
|
|
01c8c8f49
|
62 63 |
get { return NodeInf_Lst; }
set { NodeInf_Lst = value; }
|
|
6312cbd86
|
64 |
} |
|
abaa8d900
|
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
public string NameNode
{
get;
set;
}
public string LAT
{
get;
set;
}
public string LOC
{
get;
set;
}
|
|
01c8c8f49
|
82 |
|
|
01c8c8f49
|
83 84 |
public EditNodeWindow()
|
|
6312cbd86
|
85 |
{
|
|
01c8c8f49
|
86 |
InitializeComponent(); |
|
6312cbd86
|
87 |
} |
|
6312cbd86
|
88 |
|
|
01c8c8f49
|
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 119 120 121 122 123 124 125 126 |
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;
|
|
abaa8d900
|
127 128 129 130 |
txtNameNode.Text = NameNode;
txtNameNode.Focus();
txtLAT.Content= LAT;
txtLOC.Content = LOC;
|
|
01c8c8f49
|
131 132 133 134 |
cbMode.Text = "";
txtSpeed.Text = "0";
txtAngle.Text = "0";
txtHight.Text = "0";
|
|
01c8c8f49
|
135 |
} |
|
6312cbd86
|
136 |
|
|
729be9a6d
|
137 |
|
|
729be9a6d
|
138 139 140 141 142 143 144 |
private void btnEditNode_Click(object sender, RoutedEventArgs e)
{
string tag = ((Button)sender).Tag.ToString();
switch (tag)
{
case "ADDMODE":
|
|
99c770eb8
|
145 146 147 148 149 |
if (!checkFloat(txtSpeed.Text) || !checkFloat(txtAngle.Text) || !checkFloat(txtHight.Text))
{
MessageBox.Show("Please Check Again!");
break;
}
|
|
01c8c8f49
|
150 151 152 153 154 155 |
if ((cbMode.Text.Trim() == "") || (txtSpeed.Text.Trim() == ""))
{
MessageBox.Show("Please Check Again!");
break;
}
CreateMode();
|
|
729be9a6d
|
156 157 |
clearField();
break;
|
|
01c8c8f49
|
158 159 160 |
case "DELETEMODE":
DeleteMode();
break;
|
|
729be9a6d
|
161 162 163 164 165 |
case "No":
ExitFlg = true;
this.Close();
break;
case "Save":
|
|
99c770eb8
|
166 167 168 169 170 |
if (!checkFloat(txtSpeed.Text) || !checkFloat(txtAngle.Text) || !checkFloat(txtHight.Text))
{
MessageBox.Show("Please Check Again!");
break;
}
|
|
b338e1ff5
|
171 172 |
NewDoBeginSave();
MessageBox.Show("Data is saved");
|
|
729be9a6d
|
173 174 175 176 177 178 179 |
this.Close();
break;
default:
break;
}
}
|
|
01c8c8f49
|
180 |
public void DeleteMode() |
|
b338e1ff5
|
181 |
{
|
|
01c8c8f49
|
182 183 184 185 |
int rowIndex = -1;
rowIndex = ListEditNodeData.SelectedIndex;
if (rowIndex < 0)
|
|
b338e1ff5
|
186 |
{
|
|
01c8c8f49
|
187 |
rowIndex = ListModeDataTable.Rows.Count - 1; |
|
b338e1ff5
|
188 |
} |
|
01c8c8f49
|
189 |
if (rowIndex < 0) |
|
b338e1ff5
|
190 |
{
|
|
01c8c8f49
|
191 |
return; |
|
b338e1ff5
|
192 |
} |
|
01c8c8f49
|
193 194 195 196 197 |
ListModeDataTable.Rows[rowIndex].Delete();
ListModeDataTable.AcceptChanges();
for (int i = 0; i < ListModeDataTable.Rows.Count; i++)
|
|
b338e1ff5
|
198 |
{
|
|
01c8c8f49
|
199 |
ListModeDataTable.Rows[i]["NO"] = i + 1; |
|
b338e1ff5
|
200 |
} |
|
b338e1ff5
|
201 |
|
|
01c8c8f49
|
202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
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
|
216 |
int rowSelected = -1; |
|
01c8c8f49
|
217 218 |
rowSelected = ListEditNodeData.SelectedIndex;
|
|
b864d9729
|
219 220 221 222 |
if (rowSelected < 0)
{
rowSelected = 0;
}
|
|
01c8c8f49
|
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 |
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);
}
|
|
abaa8d900
|
251 |
NameNode = txtNameNode.Text; |
|
b338e1ff5
|
252 |
|
|
6312cbd86
|
253 |
} |
|
b338e1ff5
|
254 |
|
|
99c770eb8
|
255 256 257 258 259 |
//Check input string is Float format
public bool checkFloat(string st)
{
bool flg = false;
Regex regex = new Regex(@"^[0-9]*(?:\.[0-9]*)?$");
|
|
b338e1ff5
|
260 |
|
|
99c770eb8
|
261 262 263 |
flg = regex.IsMatch(st);
return flg;
}
|
|
729be9a6d
|
264 265 |
public void clearField()
|
|
6312cbd86
|
266 |
{
|
|
729be9a6d
|
267 |
cbMode.Text = ""; |
|
01c8c8f49
|
268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 |
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
|
295 296 297 298 |
}
}
}
|