Mercurial > repos > IBBoard.WarFoundry.GUI.WinForms
changeset 49:93b3d23147ba
Fixes #160: Army tree is visible when no army is available
* Show/hide Army Tree depending on whether we have an army or not
Also:
* Tidy up FrmArmyTree code to remove "ht" prefix on dictionaries and to fix some mistmatches of naming conventions
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 14 Sep 2009 20:43:52 +0000 |
parents | cf644b2c65e6 |
children | c972fb283675 |
files | FrmArmyTree.cs FrmMain.cs |
diffstat | 2 files changed, 23 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/FrmArmyTree.cs Sun Sep 13 19:03:37 2009 +0000 +++ b/FrmArmyTree.cs Mon Sep 14 20:43:52 2009 +0000 @@ -25,11 +25,11 @@ /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; - private Dictionary<string, TreeNode> htNodes; + private Dictionary<string, TreeNode> nodes; private System.Windows.Forms.ContextMenu contextMenu; private System.Windows.Forms.MenuItem miDelete; private System.Windows.Forms.MenuItem miEdit; - private Dictionary<string, FrmUnit> htUnitWindows; + private Dictionary<string, FrmUnit> unitWindows; private ObjectAddDelegate UnitAddedMethod; private ObjectRemoveDelegate UnitRemovedMethod; @@ -45,8 +45,8 @@ UnitNameChangedMethod = new StringValChangedDelegate(UpdateUnitName); ArmyNameChangedMethod = new StringValChangedDelegate(UpdateArmyName); TreeNameChangedMethod = new StringValChangedDelegate(FrmArmyTree_TreeNameChanged); - htNodes = new Dictionary<string, TreeNode>(); - htUnitWindows = new Dictionary<string, FrmUnit>(); + nodes = new Dictionary<string, TreeNode>(); + unitWindows = new Dictionary<string, FrmUnit>(); this.Name = "ArmyTree"; WarFoundryCore.ArmyChanged+= new ArmyChangedDelegate(FrmArmyTree_ArmyChanged); } @@ -137,16 +137,16 @@ private void ClearArmy() { - htNodes.Clear(); + nodes.Clear(); treeView.Nodes.Clear(); - FrmUnit[] unitForms = DictionaryUtils.ToArray(htUnitWindows); + FrmUnit[] unitForms = DictionaryUtils.ToArray(unitWindows); foreach (FrmUnit window in unitForms) { window.Close(); } - htUnitWindows.Clear(); + unitWindows.Clear(); } private void SetArmy(Army army) @@ -174,7 +174,7 @@ temp = new TreeNode(cats[i].Name, unitNodes); temp.Tag = cats[i]; catNodes[i] = temp; - htNodes[cats[i].ID] = temp; + nodes[cats[i].ID] = temp; } TreeNode root = new TreeNode(army.Name, catNodes); @@ -189,7 +189,7 @@ TreeNode temp = new TreeNode(unit.Name); temp.Tag = unit; unit.NameChanged+= UnitNameChangedMethod; - htNodes[unit.ID] = temp; + nodes[unit.ID] = temp; return temp; } @@ -225,7 +225,7 @@ { Unit unit = (Unit)obj; ArmyCategory cat = unit.Category; - TreeNode parent = htNodes[cat.ID]; + TreeNode parent = nodes[cat.ID]; TreeNode unitNode = createTreeNode(unit); parent.Nodes.Add(unitNode); parent.Expand(); //make sure it's expanded @@ -243,13 +243,13 @@ private void RemoveUnitFromTree(Unit unit) { - TreeNode unitNode = htNodes[unit.ID]; + TreeNode unitNode = nodes[unit.ID]; unit.NameChanged-= UnitNameChangedMethod; if (unitNode!=null) { unitNode.Remove(); - htNodes.Remove(unit.ID); + nodes.Remove(unit.ID); } } @@ -303,15 +303,15 @@ private void miEdit_Click(object sender, System.EventArgs e) { - editUnit(); + EditUnit(); } private void treeView_DoubleClick(object sender, System.EventArgs e) { - editUnit(); + EditUnit(); } - private void editUnit() + private void EditUnit() { TreeNode selected = treeView.SelectedNode; @@ -319,14 +319,14 @@ { Unit unit = (Unit)selected.Tag; - if (htUnitWindows.ContainsKey(unit.ID)) + if (unitWindows.ContainsKey(unit.ID)) { - ((FrmUnit)htUnitWindows[unit.ID]).Focus(); + unitWindows[unit.ID].Focus(); } else { FrmUnit unitForm = new FrmUnit(unit, commandStack); - htUnitWindows.Add(unit.ID, unitForm); + unitWindows.Add(unit.ID, unitForm); unitForm.MdiParent = this.MdiParent; unitForm.Closing+=new CancelEventHandler(unitForm_Closing); unitForm.Show(); @@ -339,7 +339,7 @@ if (obj is Unit) { Unit unit = (Unit)obj; - TreeNode node = htNodes[unit.ID]; + TreeNode node = nodes[unit.ID]; if (node!=null) { @@ -367,13 +367,13 @@ if (sender is FrmUnit) { FrmUnit unitForm = (FrmUnit)sender; - htUnitWindows.Remove(unitForm.Unit.ID); + unitWindows.Remove(unitForm.Unit.ID); } } private void FrmArmyTree_TreeNameChanged(WarFoundryObject obj, string oldValue, string newValue) { - TreeNode node = htNodes[obj.ID]; + TreeNode node = nodes[obj.ID]; if (node!=null) {
--- a/FrmMain.cs Sun Sep 13 19:03:37 2009 +0000 +++ b/FrmMain.cs Mon Sep 14 20:43:52 2009 +0000 @@ -142,7 +142,6 @@ armyTree = new FrmArmyTree(CommandStack); armyTree.MdiParent = this; - armyTree.Show(); armyTree.StartPosition = FormStartPosition.Manual; armyTree.Location = new Point(this.DisplayRectangle.Width - armyTree.Width - 10, 10); ControlTranslator.TranslateControl(armyTree); @@ -851,6 +850,7 @@ miCloseArmy.Enabled = false; miExportArmyAs.Enabled = false; DisableCategoryButtons(); + armyTree.Hide(); } else { @@ -862,6 +862,7 @@ miCloseArmy.Enabled = true; miExportArmyAs.Enabled = true; EnableCategoryButtons(); + armyTree.Show(); if (newArmy.Race.HasCategoryOverrides()) {