Mercurial > repos > IBDev-IBBoard.WarFoundry.GUI.WinForms
diff FrmArmyTree.cs @ 226: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 |
line wrap: on
line diff
--- a/FrmArmyTree.cs Mon Aug 29 20:06:54 2011 +0100 +++ b/FrmArmyTree.cs Mon Aug 29 20:53:53 2011 +0100 @@ -54,7 +54,10 @@ ArmyNameChangedMethod = new StringValChangedDelegate(UpdateArmyName); TreeNameChangedMethod = new StringValChangedDelegate(FrmArmyTree_TreeNameChanged); nodes = new Dictionary<string, TreeNode>(); - this.Name = "ArmyTree"; + this.Name = "ArmyTree"; + miDeleteUnit.Name = "miDeleteUnit"; + miEditUnit.Name = "miEditUnit"; + miEditArmy.Name = "miEditArmy"; WarFoundryCore.ArmyChanged+= new ArmyChangedDelegate(FrmArmyTree_ArmyChanged); TranslateForm(); Translation.TranslationChanged += new MethodInvoker(TranslateForm); @@ -73,6 +76,7 @@ { ControlTranslator.TranslateComponent(mi); } + foreach (TreeNode node in nodes.Values) { node.Text = CreateNodeName((ICostedWarFoundryObject)node.Tag); @@ -291,6 +295,7 @@ { if (oldArmy != null) { + oldArmy.NameChanged -= ArmyNameChangedMethod; oldArmy.UnitAdded -= UnitAddedMethod; oldArmy.UnitRemoved -= UnitRemovedMethod; oldArmy.PointsValueChanged -= NodePointsValueChanged; @@ -298,6 +303,7 @@ if (newArmy != null) { + newArmy.NameChanged += ArmyNameChangedMethod; newArmy.UnitAdded += UnitAddedMethod; newArmy.UnitRemoved += UnitRemovedMethod; newArmy.PointsValueChanged += NodePointsValueChanged; @@ -444,13 +450,7 @@ { if (obj is Army) { - Army army = (Army)obj; - TreeNode node = treeView.Nodes[0]; - - if (node!=null) - { - node.Text = army.Name; - } + SetNodeName((Army)obj); } }