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);
 			}
 		}