comparison FrmArmyTree.cs @ 222:4ada3252d1ea

Re #101: Make army names and sizes modifiable after creation * Fix up translations * Correct enabling of menu item * Add translation text * Update army names in tree and app title when edited
author IBBoard <dev@ibboard.co.uk>
date Mon, 29 Aug 2011 20:53:53 +0100
parents 5233147ca7e4
children 870877498db9
comparison
equal deleted inserted replaced
221:5233147ca7e4 222:4ada3252d1ea
52 UnitRemovedMethod = new ObjectRemoveDelegate(UnitRemoved); 52 UnitRemovedMethod = new ObjectRemoveDelegate(UnitRemoved);
53 UnitNameChangedMethod = new StringValChangedDelegate(UpdateUnitName); 53 UnitNameChangedMethod = new StringValChangedDelegate(UpdateUnitName);
54 ArmyNameChangedMethod = new StringValChangedDelegate(UpdateArmyName); 54 ArmyNameChangedMethod = new StringValChangedDelegate(UpdateArmyName);
55 TreeNameChangedMethod = new StringValChangedDelegate(FrmArmyTree_TreeNameChanged); 55 TreeNameChangedMethod = new StringValChangedDelegate(FrmArmyTree_TreeNameChanged);
56 nodes = new Dictionary<string, TreeNode>(); 56 nodes = new Dictionary<string, TreeNode>();
57 this.Name = "ArmyTree"; 57 this.Name = "ArmyTree";
58 miDeleteUnit.Name = "miDeleteUnit";
59 miEditUnit.Name = "miEditUnit";
60 miEditArmy.Name = "miEditArmy";
58 WarFoundryCore.ArmyChanged+= new ArmyChangedDelegate(FrmArmyTree_ArmyChanged); 61 WarFoundryCore.ArmyChanged+= new ArmyChangedDelegate(FrmArmyTree_ArmyChanged);
59 TranslateForm(); 62 TranslateForm();
60 Translation.TranslationChanged += new MethodInvoker(TranslateForm); 63 Translation.TranslationChanged += new MethodInvoker(TranslateForm);
61 } 64 }
62 65
71 74
72 foreach (IBBMenuItem mi in contextMenu.MenuItems) 75 foreach (IBBMenuItem mi in contextMenu.MenuItems)
73 { 76 {
74 ControlTranslator.TranslateComponent(mi); 77 ControlTranslator.TranslateComponent(mi);
75 } 78 }
79
76 foreach (TreeNode node in nodes.Values) 80 foreach (TreeNode node in nodes.Values)
77 { 81 {
78 node.Text = CreateNodeName((ICostedWarFoundryObject)node.Tag); 82 node.Text = CreateNodeName((ICostedWarFoundryObject)node.Tag);
79 } 83 }
80 } 84 }
289 293
290 public void FrmArmyTree_ArmyChanged(Army oldArmy, Army newArmy) 294 public void FrmArmyTree_ArmyChanged(Army oldArmy, Army newArmy)
291 { 295 {
292 if (oldArmy != null) 296 if (oldArmy != null)
293 { 297 {
298 oldArmy.NameChanged -= ArmyNameChangedMethod;
294 oldArmy.UnitAdded -= UnitAddedMethod; 299 oldArmy.UnitAdded -= UnitAddedMethod;
295 oldArmy.UnitRemoved -= UnitRemovedMethod; 300 oldArmy.UnitRemoved -= UnitRemovedMethod;
296 oldArmy.PointsValueChanged -= NodePointsValueChanged; 301 oldArmy.PointsValueChanged -= NodePointsValueChanged;
297 } 302 }
298 303
299 if (newArmy != null) 304 if (newArmy != null)
300 { 305 {
306 newArmy.NameChanged += ArmyNameChangedMethod;
301 newArmy.UnitAdded += UnitAddedMethod; 307 newArmy.UnitAdded += UnitAddedMethod;
302 newArmy.UnitRemoved += UnitRemovedMethod; 308 newArmy.UnitRemoved += UnitRemovedMethod;
303 newArmy.PointsValueChanged += NodePointsValueChanged; 309 newArmy.PointsValueChanged += NodePointsValueChanged;
304 } 310 }
305 311
442 448
443 private void UpdateArmyName(WarFoundryObject obj, string oldValue, string newValue) 449 private void UpdateArmyName(WarFoundryObject obj, string oldValue, string newValue)
444 { 450 {
445 if (obj is Army) 451 if (obj is Army)
446 { 452 {
447 Army army = (Army)obj; 453 SetNodeName((Army)obj);
448 TreeNode node = treeView.Nodes[0];
449
450 if (node!=null)
451 {
452 node.Text = army.Name;
453 }
454 } 454 }
455 } 455 }
456 456
457 private void FrmArmyTree_TreeNameChanged(WarFoundryObject obj, string oldValue, string newValue) 457 private void FrmArmyTree_TreeNameChanged(WarFoundryObject obj, string oldValue, string newValue)
458 { 458 {