Mercurial > repos > IBBoard.WarFoundry.GUI.WinForms
comparison FrmArmyTree.cs @ 234:c06d0865ff27
Fixes #388: Add "Add unit" options to army tree
* Add button, context menu and double-click hooks for adding units
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 21 Jan 2012 11:36:23 +0000 |
parents | 870877498db9 |
children | 2c3474d652e1 |
comparison
equal
deleted
inserted
replaced
233:1ebbe78f89e7 | 234:c06d0865ff27 |
---|---|
261 } | 261 } |
262 else if (tagData is Army) | 262 else if (tagData is Army) |
263 { | 263 { |
264 EditArmy((Army)tagData); | 264 EditArmy((Army)tagData); |
265 } | 265 } |
266 } | 266 else if (tagData is ArmyCategory) |
267 | 267 { |
268 AddUnitFromCategory((ArmyCategory)tagData); | |
269 } | |
270 } | |
271 | |
268 private void UpdateUnitName(WarFoundryObject obj, string oldValue, string newValue) | 272 private void UpdateUnitName(WarFoundryObject obj, string oldValue, string newValue) |
269 { | 273 { |
270 if (obj is ICostedWarFoundryObject) | 274 if (obj is ICostedWarFoundryObject) |
271 { | 275 { |
272 SetNodeName(obj); | 276 SetNodeName(obj); |
292 } | 296 } |
293 | 297 |
294 private void treeView_AfterSelect(object sender, TreeViewEventArgs e) | 298 private void treeView_AfterSelect(object sender, TreeViewEventArgs e) |
295 { | 299 { |
296 TreeNode node = treeView.SelectedNode; | 300 TreeNode node = treeView.SelectedNode; |
297 | 301 bttnAdd.Enabled = (node != null && node.Tag is ArmyCategory); |
298 bttnDelete.Enabled = (node != null && node.Tag is Unit); | 302 bttnDelete.Enabled = (node != null && node.Tag is Unit); |
299 bttnEdit.Enabled = (node != null && (node.Tag is Unit || node.Tag is Army)); | 303 bttnEdit.Enabled = (node != null && (node.Tag is Unit || node.Tag is Army)); |
300 } | 304 } |
301 | 305 |
302 private void miEditArmy_Click(object sender, EventArgs e) | 306 private void miEditArmy_Click(object sender, EventArgs e) |
325 { | 329 { |
326 TreeNode node = treeView.SelectedNode; | 330 TreeNode node = treeView.SelectedNode; |
327 Object tag = (node != null) ? node.Tag : null; | 331 Object tag = (node != null) ? node.Tag : null; |
328 bool tagIsUnit = (tag is Unit); | 332 bool tagIsUnit = (tag is Unit); |
329 bool tagIsArmy = (tag is Army); | 333 bool tagIsArmy = (tag is Army); |
330 | 334 bool tagIsCategory = (tag is ArmyCategory); |
331 if (!tagIsUnit && !tagIsArmy) | 335 |
336 if (!tagIsUnit && !tagIsArmy && !tagIsCategory) | |
332 { | 337 { |
333 e.Cancel = true; | 338 e.Cancel = true; |
334 } | 339 } |
335 else | 340 else |
336 { | 341 { |
337 miDeleteUnit.Visible = tagIsUnit; | 342 miDeleteUnit.Visible = tagIsUnit; |
338 miEditUnit.Visible = tagIsUnit; | 343 miEditUnit.Visible = tagIsUnit; |
339 miEditArmy.Visible = tagIsArmy; | 344 miEditArmy.Visible = tagIsArmy; |
340 } | 345 miAddUnit.Visible = tagIsCategory; |
346 } | |
347 } | |
348 | |
349 private void miAddUnit_Click(object sender, EventArgs e) | |
350 { | |
351 AddUnit(); | |
352 } | |
353 | |
354 private void AddUnit() | |
355 { | |
356 ArmyCategory tagData = treeView.SelectedNode.Tag as ArmyCategory; | |
357 AddUnitFromCategory(tagData); | |
358 } | |
359 | |
360 private void AddUnitFromCategory(ArmyCategory tagData) | |
361 { | |
362 MdiParent.AddUnitFromCategory(tagData.Category); | |
363 } | |
364 | |
365 private void bttnAdd_Click(object sender, EventArgs e) | |
366 { | |
367 AddUnit(); | |
341 } | 368 } |
342 } | 369 } |
343 } | 370 } |