changeset 229:870877498db9

Re #382: WinForms builds from Linux/Mono fail on Windows/.Net * Rebuild FrmArmyTree from scratch, in case old file hasn't migrated through the versions properly * Add edit and delete icons
author IBBoard <dev@ibboard.co.uk>
date Sat, 03 Dec 2011 14:48:40 +0000
parents 6691a8c6f976
children 5b8f0a6bf0b2
files FrmArmyTree.cs FrmArmyTree.resx IBBoard.WarFoundry.GUI.WinForms.csproj Properties/Resources.Designer.cs Properties/Resources.resx icons/edit-delete.png icons/gtk-edit.png
diffstat 7 files changed, 114 insertions(+), 279 deletions(-) [+]
line diff
     1.1 --- a/FrmArmyTree.cs	Sat Nov 26 14:50:44 2011 +0000
     1.2 +++ b/FrmArmyTree.cs	Sat Dec 03 14:48:40 2011 +0000
     1.3 @@ -1,48 +1,32 @@
     1.4 -// This file (FrmArmyTree.cs) is a part of the IBBoard.WarFoundry.GUI.WinForms project and is copyright 2009 IBBoard.
     1.5 -//
     1.6 -// The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
     1.7 -
     1.8 -using System;
     1.9 -using System.Drawing;
    1.10 +using System;
    1.11  using System.Collections.Generic;
    1.12  using System.ComponentModel;
    1.13 +using System.Data;
    1.14 +using System.Drawing;
    1.15 +using System.Text;
    1.16  using System.Windows.Forms;
    1.17  using IBBoard.Commands;
    1.18 +using IBBoard.WarFoundry.API.Objects;
    1.19 +using IBBoard.WarFoundry.API;
    1.20  using IBBoard.Lang;
    1.21  using IBBoard.Windows.Forms.I18N;
    1.22 +using IBBoard.WarFoundry.API.Commands;
    1.23  using IBBoard.Windows.Forms;
    1.24 -using IBBoard.WarFoundry.API;
    1.25 -using IBBoard.WarFoundry.API.Commands;
    1.26 -using IBBoard.WarFoundry.API.Objects;
    1.27  
    1.28  namespace IBBoard.WarFoundry.GUI.WinForms
    1.29  {
    1.30 -	/// <summary>
    1.31 -	/// Summary description for FrmArmyTree.
    1.32 -	/// </summary>
    1.33 -	public class FrmArmyTree : IBBoard.Windows.Forms.IBBForm
    1.34 +	public partial class FrmArmyTree : IBBoard.Windows.Forms.IBBForm
    1.35  	{
    1.36 -		private System.Windows.Forms.TreeView treeView;
    1.37 -		private IContainer components;
    1.38  		private Dictionary<string, TreeNode> nodes;
    1.39 -		private System.Windows.Forms.ContextMenu contextMenu;
    1.40 -		private IBBMenuItem miDeleteUnit;
    1.41 -		private IBBMenuItem miEditUnit;
    1.42 -		
    1.43  		private ObjectAddDelegate UnitAddedMethod;
    1.44  		private ObjectRemoveDelegate UnitRemovedMethod;
    1.45  		private StringValChangedDelegate UnitNameChangedMethod, ArmyNameChangedMethod, TreeNameChangedMethod;
    1.46 -		private ToolBar toolBar;
    1.47 -		private IBBToolBarButton bttnEdit;
    1.48 -		private IBBToolBarButton bttnDelete;
    1.49 -		private ImageList imageList;
    1.50 -		private IBBMenuItem miEditArmy;
    1.51  		private CommandStack commandStack;
    1.52 -        public GameSystem CurrentGameSystem
    1.53 -        {
    1.54 -            get { return WarFoundryCore.CurrentGameSystem; }
    1.55 -            set { WarFoundryCore.CurrentGameSystem = value; }
    1.56 -        }
    1.57 +		public GameSystem CurrentGameSystem
    1.58 +		{
    1.59 +			get { return WarFoundryCore.CurrentGameSystem; }
    1.60 +			set { WarFoundryCore.CurrentGameSystem = value; }
    1.61 +		}
    1.62  
    1.63  		public FrmArmyTree(CommandStack cmdStack)
    1.64  		{
    1.65 @@ -58,7 +42,7 @@
    1.66  			miDeleteUnit.Name = "miDeleteUnit";
    1.67  			miEditUnit.Name = "miEditUnit";
    1.68  			miEditArmy.Name = "miEditArmy";
    1.69 -			WarFoundryCore.ArmyChanged+= new ArmyChangedDelegate(FrmArmyTree_ArmyChanged);
    1.70 +			WarFoundryCore.ArmyChanged += new ArmyChangedDelegate(FrmArmyTree_ArmyChanged);
    1.71  			TranslateForm();
    1.72  			Translation.TranslationChanged += new MethodInvoker(TranslateForm);
    1.73  		}
    1.74 @@ -72,147 +56,16 @@
    1.75  				ControlTranslator.TranslateComponent(comp);
    1.76  			}
    1.77  
    1.78 -			foreach (IBBMenuItem mi in contextMenu.MenuItems)
    1.79 +			foreach (IBBToolStripMenuItem mi in contextMenuStrip.Items)
    1.80  			{
    1.81 -                ControlTranslator.TranslateComponent(mi);
    1.82 +				ControlTranslator.TranslateComponent(mi);
    1.83  			}
    1.84  
    1.85 -            foreach (TreeNode node in nodes.Values)
    1.86 -            {
    1.87 -                node.Text = CreateNodeName((ICostedWarFoundryObject)node.Tag);
    1.88 -            }
    1.89 +			foreach (TreeNode node in nodes.Values)
    1.90 +			{
    1.91 +				node.Text = CreateNodeName((ICostedWarFoundryObject)node.Tag);
    1.92 +			}
    1.93  		}
    1.94 -
    1.95 -		/// <summary>
    1.96 -		/// Clean up any resources being used.
    1.97 -		/// </summary>
    1.98 -		protected override void Dispose( bool disposing )
    1.99 -		{
   1.100 -			if( disposing )
   1.101 -			{
   1.102 -				if(components != null)
   1.103 -				{
   1.104 -					components.Dispose();
   1.105 -				}
   1.106 -			}
   1.107 -			base.Dispose( disposing );
   1.108 -			Translation.TranslationChanged -= new MethodInvoker(TranslateForm);
   1.109 -			WarFoundryCore.ArmyChanged -= new ArmyChangedDelegate(FrmArmyTree_ArmyChanged);
   1.110 -		}
   1.111 -
   1.112 -		#region Windows Form Designer generated code
   1.113 -		/// <summary>
   1.114 -		/// Required method for Designer support - do not modify
   1.115 -		/// the contents of this method with the code editor.
   1.116 -		/// </summary>
   1.117 -		private void InitializeComponent()
   1.118 -		{
   1.119 -			this.components = new System.ComponentModel.Container();
   1.120 -			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmArmyTree));
   1.121 -			this.contextMenu = new System.Windows.Forms.ContextMenu();
   1.122 -			this.miEditUnit = new IBBoard.Windows.Forms.IBBMenuItem();
   1.123 -			this.miDeleteUnit = new IBBoard.Windows.Forms.IBBMenuItem();
   1.124 -			this.imageList = new System.Windows.Forms.ImageList(this.components);
   1.125 -			this.toolBar = new System.Windows.Forms.ToolBar();
   1.126 -			this.bttnEdit = new IBBoard.Windows.Forms.IBBToolBarButton();
   1.127 -			this.bttnDelete = new IBBoard.Windows.Forms.IBBToolBarButton();
   1.128 -			this.treeView = new System.Windows.Forms.TreeView();
   1.129 -			this.miEditArmy = new IBBoard.Windows.Forms.IBBMenuItem();
   1.130 -			this.SuspendLayout();
   1.131 -			// 
   1.132 -			// contextMenu
   1.133 -			// 
   1.134 -			this.contextMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
   1.135 -            this.miEditArmy,
   1.136 -            this.miEditUnit,
   1.137 -            this.miDeleteUnit});
   1.138 -			this.contextMenu.Popup += new System.EventHandler(this.contextMenu_Popup);
   1.139 -			// 
   1.140 -			// miEditUnit
   1.141 -			// 
   1.142 -			this.miEditUnit.Index = 1;
   1.143 -			this.miEditUnit.Text = "&edit unit";
   1.144 -			this.miEditUnit.Click += new System.EventHandler(this.miEdit_Click);
   1.145 -			// 
   1.146 -			// miDeleteUnit
   1.147 -			// 
   1.148 -			this.miDeleteUnit.Index = 2;
   1.149 -			this.miDeleteUnit.Text = "&delete unit";
   1.150 -			this.miDeleteUnit.Click += new System.EventHandler(this.miDelete_Click);
   1.151 -			// 
   1.152 -			// imageList
   1.153 -			// 
   1.154 -			this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream")));
   1.155 -			this.imageList.TransparentColor = System.Drawing.Color.Transparent;
   1.156 -			this.imageList.Images.SetKeyName(0, "gtk-edit.png");
   1.157 -			this.imageList.Images.SetKeyName(1, "edit-delete.png");
   1.158 -			// 
   1.159 -			// toolBar
   1.160 -			// 
   1.161 -			this.toolBar.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
   1.162 -            this.bttnEdit,
   1.163 -            this.bttnDelete});
   1.164 -			this.toolBar.ButtonSize = new System.Drawing.Size(16, 16);
   1.165 -			this.toolBar.DropDownArrows = true;
   1.166 -			this.toolBar.ImageList = this.imageList;
   1.167 -			this.toolBar.Location = new System.Drawing.Point(0, 0);
   1.168 -			this.toolBar.Name = "toolBar";
   1.169 -			this.toolBar.ShowToolTips = true;
   1.170 -			this.toolBar.Size = new System.Drawing.Size(240, 28);
   1.171 -			this.toolBar.TabIndex = 3;
   1.172 -			this.toolBar.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar_ButtonClick);
   1.173 -			// 
   1.174 -			// bttnEdit
   1.175 -			// 
   1.176 -			this.bttnEdit.Enabled = false;
   1.177 -			this.bttnEdit.ImageIndex = 0;
   1.178 -			this.bttnEdit.Name = "bttnEdit";
   1.179 -			// 
   1.180 -			// bttnDelete
   1.181 -			// 
   1.182 -			this.bttnDelete.Enabled = false;
   1.183 -			this.bttnDelete.ImageIndex = 1;
   1.184 -			this.bttnDelete.Name = "bttnDelete";
   1.185 -			// 
   1.186 -			// treeView
   1.187 -			// 
   1.188 -			this.treeView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
   1.189 -						| System.Windows.Forms.AnchorStyles.Left)
   1.190 -						| System.Windows.Forms.AnchorStyles.Right)));
   1.191 -			this.treeView.ContextMenu = this.contextMenu;
   1.192 -			this.treeView.FullRowSelect = true;
   1.193 -			this.treeView.Location = new System.Drawing.Point(0, 28);
   1.194 -			this.treeView.Name = "treeView";
   1.195 -			this.treeView.Size = new System.Drawing.Size(240, 250);
   1.196 -			this.treeView.TabIndex = 0;
   1.197 -			this.treeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView_AfterSelect);
   1.198 -			this.treeView.DoubleClick += new System.EventHandler(this.treeView_DoubleClick);
   1.199 -			this.treeView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.treeView_MouseDown);
   1.200 -			// 
   1.201 -			// miEditArmy
   1.202 -			// 
   1.203 -			this.miEditArmy.Index = 0;
   1.204 -			this.miEditArmy.Text = "&edit army";
   1.205 -			this.miEditArmy.Click += new System.EventHandler(this.miEditArmy_Click);
   1.206 -			// 
   1.207 -			// FrmArmyTree
   1.208 -			// 
   1.209 -			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
   1.210 -			this.ClientSize = new System.Drawing.Size(240, 277);
   1.211 -			this.ControlBox = false;
   1.212 -			this.Controls.Add(this.toolBar);
   1.213 -			this.Controls.Add(this.treeView);
   1.214 -			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
   1.215 -			this.MaximizeBox = false;
   1.216 -			this.MinimizeBox = false;
   1.217 -			this.Name = "FrmArmyTree";
   1.218 -			this.Text = "FrmArmyTree";
   1.219 -			this.ResumeLayout(false);
   1.220 -			this.PerformLayout();
   1.221 -
   1.222 -		}
   1.223 -		#endregion
   1.224 -
   1.225  		private void ClearArmy()
   1.226  		{
   1.227  			nodes.Clear();
   1.228 @@ -257,10 +110,10 @@
   1.229  				root.ExpandAll();
   1.230  			}
   1.231  		}
   1.232 -		
   1.233 +
   1.234  		private string CreateNodeName(ICostedWarFoundryObject obj)
   1.235  		{
   1.236 -            return Translation.GetTranslation("treeNodeText", "{0} ({1} pts)", obj.Name, obj.Points, CurrentGameSystem.GetPointsAbbrev(obj.Points));
   1.237 +			return Translation.GetTranslation("treeNodeText", "{0} ({1} pts)", obj.Name, obj.Points, CurrentGameSystem.GetPointsAbbrev(obj.Points));
   1.238  		}
   1.239  
   1.240  		private void NodePointsValueChanged(WarFoundryObject obj, double oldValue, double newValue)
   1.241 @@ -285,7 +138,7 @@
   1.242  		{
   1.243  			TreeNode temp = new TreeNode(CreateNodeName(unit));
   1.244  			temp.Tag = unit;
   1.245 -			unit.NameChanged+= UnitNameChangedMethod;
   1.246 +			unit.NameChanged += UnitNameChangedMethod;
   1.247  			unit.PointsValueChanged += NodePointsValueChanged;
   1.248  			nodes[unit.ID] = temp;
   1.249  			return temp;
   1.250 @@ -327,7 +180,7 @@
   1.251  
   1.252  		public new FrmMain MdiParent
   1.253  		{
   1.254 -			get { return (FrmMain) base.MdiParent; }
   1.255 +			get { return (FrmMain)base.MdiParent; }
   1.256  			set { base.MdiParent = value; }
   1.257  		}
   1.258  
   1.259 @@ -343,48 +196,22 @@
   1.260  		private void RemoveUnitFromTree(Unit unit)
   1.261  		{
   1.262  			TreeNode unitNode = nodes[unit.ID];
   1.263 -			unit.NameChanged-= UnitNameChangedMethod;
   1.264 +			unit.NameChanged -= UnitNameChangedMethod;
   1.265  
   1.266 -			if (unitNode!=null)
   1.267 +			if (unitNode != null)
   1.268  			{
   1.269  				unitNode.Remove();
   1.270  				nodes.Remove(unit.ID);
   1.271  			}
   1.272  		}
   1.273  
   1.274 -
   1.275 -		private void contextMenu_Popup(object sender, System.EventArgs e)
   1.276 -		{
   1.277 -			TreeNode node = treeView.SelectedNode;
   1.278 -			Object tag = (node != null) ? node.Tag : null;
   1.279 -
   1.280 -			if (tag is Unit)
   1.281 -			{
   1.282 -				miDeleteUnit.Visible = true;
   1.283 -				miEditUnit.Visible = true;
   1.284 -				miEditArmy.Visible = false;
   1.285 -			}
   1.286 -			else if (tag is Army)
   1.287 -			{
   1.288 -				miDeleteUnit.Visible = false;
   1.289 -				miEditUnit.Visible = false;
   1.290 -				miEditArmy.Visible = true;
   1.291 -			}
   1.292 -			else
   1.293 -			{
   1.294 -				miDeleteUnit.Visible = false;
   1.295 -				miEditUnit.Visible = false;
   1.296 -				miEditArmy.Visible = false;
   1.297 -			}
   1.298 -		}
   1.299 -
   1.300  		private void treeView_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
   1.301  		{
   1.302  			if (e.Button == MouseButtons.Right)
   1.303  			{
   1.304  				TreeNode tn = treeView.GetNodeAt(e.X, e.Y);
   1.305  
   1.306 -				if (tn!=null)
   1.307 +				if (tn != null)
   1.308  				{
   1.309  					treeView.SelectedNode = tn;
   1.310  				}
   1.311 @@ -407,19 +234,19 @@
   1.312  
   1.313  			if (selected.Tag != null && selected.Tag is Unit)
   1.314  			{
   1.315 -				Unit unit = (Unit) selected.Tag;
   1.316 +				Unit unit = (Unit)selected.Tag;
   1.317  				commandStack.Execute(new RemoveUnitCommand(unit));
   1.318  			}
   1.319  		}
   1.320  
   1.321  		private void miEdit_Click(object sender, System.EventArgs e)
   1.322 -		{	
   1.323 +		{
   1.324  			EditTreeItem();
   1.325  		}
   1.326  
   1.327  		private void treeView_DoubleClick(object sender, System.EventArgs e)
   1.328  		{
   1.329 -			EditTreeItem();			
   1.330 +			EditTreeItem();
   1.331  		}
   1.332  
   1.333  		private void EditTreeItem()
   1.334 @@ -429,7 +256,7 @@
   1.335  
   1.336  			if (tagData is Unit)
   1.337  			{
   1.338 -				Unit unit = (Unit) tagData;
   1.339 +				Unit unit = (Unit)tagData;
   1.340  				MdiParent.OpenUnitDialog(unit);
   1.341  			}
   1.342  			else if (tagData is Army)
   1.343 @@ -458,24 +285,12 @@
   1.344  		{
   1.345  			TreeNode node = nodes[obj.ID];
   1.346  
   1.347 -			if (node!=null)
   1.348 +			if (node != null)
   1.349  			{
   1.350  				node.Text = obj.Name;
   1.351  			}
   1.352  		}
   1.353  
   1.354 -		private void toolBar_ButtonClick(object sender, ToolBarButtonClickEventArgs e)
   1.355 -		{
   1.356 -			if (e.Button == bttnDelete)
   1.357 -			{
   1.358 -				DeleteUnit();
   1.359 -			}
   1.360 -			else if (e.Button == bttnEdit)
   1.361 -			{
   1.362 -				EditTreeItem();
   1.363 -			}
   1.364 -		}
   1.365 -
   1.366  		private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
   1.367  		{
   1.368  			TreeNode node = treeView.SelectedNode;
   1.369 @@ -495,5 +310,34 @@
   1.370  			FrmEditArmy editForm = new FrmEditArmy(commandStack, army);
   1.371  			editForm.ShowDialog(this.ParentForm);
   1.372  		}
   1.373 +
   1.374 +		private void bttnEdit_Click(object sender, EventArgs e)
   1.375 +		{
   1.376 +			EditTreeItem();
   1.377 +		}
   1.378 +
   1.379 +		private void bttnDelete_Click(object sender, EventArgs e)
   1.380 +		{
   1.381 +			DeleteUnit();
   1.382 +		}
   1.383 +
   1.384 +		private void contextMenuStrip_Opening(object sender, CancelEventArgs e)
   1.385 +		{
   1.386 +			TreeNode node = treeView.SelectedNode;
   1.387 +			Object tag = (node != null) ? node.Tag : null;
   1.388 +			bool tagIsUnit = (tag is Unit);
   1.389 +			bool tagIsArmy = (tag is Army);
   1.390 +
   1.391 +			if (!tagIsUnit && !tagIsArmy)
   1.392 +			{
   1.393 +				e.Cancel = true;
   1.394 +			}
   1.395 +			else
   1.396 +			{
   1.397 +				miDeleteUnit.Visible = tagIsUnit;
   1.398 +				miEditUnit.Visible = tagIsUnit;
   1.399 +				miEditArmy.Visible = tagIsArmy;
   1.400 +			}
   1.401 +		}
   1.402  	}
   1.403  }
     2.1 --- a/FrmArmyTree.resx	Sat Nov 26 14:50:44 2011 +0000
     2.2 +++ b/FrmArmyTree.resx	Sat Dec 03 14:48:40 2011 +0000
     2.3 @@ -1,4 +1,4 @@
     2.4 -<?xml version="1.0" encoding="utf-8"?>
     2.5 +<?xml version="1.0" encoding="utf-8"?>
     2.6  <root>
     2.7    <!-- 
     2.8      Microsoft ResX Schema 
     2.9 @@ -117,49 +117,13 @@
    2.10    <resheader name="writer">
    2.11      <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    2.12    </resheader>
    2.13 -  <metadata name="contextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    2.14 +  <metadata name="toolStripContainer1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    2.15 +    <value>True</value>
    2.16 +  </metadata>
    2.17 +  <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    2.18 +    <value>116, 17</value>
    2.19 +  </metadata>
    2.20 +  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    2.21      <value>17, 17</value>
    2.22    </metadata>
    2.23 -  <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    2.24 -    <value>133, 17</value>
    2.25 -  </metadata>
    2.26 -  <data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
    2.27 -    <value>
    2.28 -        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
    2.29 -        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
    2.30 -        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABO
    2.31 -        BwAAAk1TRnQBSQFMAgEBAgEAAQQBAAEEAQABEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
    2.32 -        AwABEAMAAQEBAAEYBgABDEUAAagCVgGRAZQBkwGtAbABrwYAAZABlAGSAZ4BnwGeAZ8BjAGKBgABwQFE
    2.33 -        AUMBjgJjAa0BZAFjbAABpAFbAVkBhgGLAYkBhQGKAYgBhQGKAYgBhQGKAYgBhAGJAYcBgwGIAYYBggGH
    2.34 -        AYUBgwGIAYYBgwGIAYYBgwGIAYYBowFaAVkB0ggAAY0BjwGOA/oBlgGUAZMBogGDAYIBnAGSAZEBlgGa
    2.35 -        AZgB7ALhAaEBegF4AZsBngGdAZgBmwGaAYsBjgGNAfkC3gGgAmxsAAOBCf8D/gP3A+kD4gPlA+oD7wF/
    2.36 -        AYQBggHOCAABqAJWAYsBfwF+AfUC8gGZAZwBmwGrAa0BrAGLAXsBeAHdAc8BzgGoAnsBzQGxAbABmAGb
    2.37 -        AZoB6QLdAZwBigGJAboCPWwAA4ED/wPsA+0D7gMAAQIBWQGPAZYBqQGzA8IBygLLA+IBewF/AX0BzAsA
    2.38 -        AYoBgAF/Ac0BgQGAAYoBfAF5AcUCswGHAYABfQHLAbwBuwGgAY8BjgHCAqgBfAGAAX8B4QLXAY8BhgGF
    2.39 -        bwADgQP/BuwD7QECAVkBjwEmAUIBTAE2AVcBawECAVkBjwGvAcEBzAPvAX8BhAGCAc8LAAJ0AXMByAG5
    2.40 -        AbgBgQFzAXABogGRApACigGwAaIBoQGQAYUBhAGyAZ8BngF8AYABfwG6AaoBqQF5AXQBc28AA4ED/wbs
    2.41 -        Bu0BOQFbAXABigGrAcIBVQGFAaMBAgFZAY8BygHcAecBhAGJAYcB0gIAAdIIAAFqAW4BbQHMAskBagJk
    2.42 -        AasBqAGnAW0BbwFuAa4BrQGsAWwBbQFsAbEBrwGuAW8BcQFwAbICsAFtAW8Bbm8AA4ED/wPrBuwD7QEC
    2.43 -        AVkBjwHEAeUB7QFkAZ8ByAFXAYQBoAECAVkBjwFqAYABiQMAAdICAAGaATcBGAGHAUoBIAGHAUoBIAGH
    2.44 -        AUoBIAGHAUoBIAGHAUoBIAGHAUoBIAGHAUoBIAGHAUoBIAGHAUoBIAGHAUoBIAGHAUoBIAGHAUoBIAGH
    2.45 -        AUoBIAGHAUoBIAGaATcBGGYAA4ED/wbrBuwD7QECAVkBjwHFAeYB7QFpAaoBzwFWAYMBoAECAVkBjwGp
    2.46 -        ARIBHQMAAYcBSgEgAd0BuwGcAc8BnwFyAc8BnwFyAc8BnwFyAc8BnwFyAc8BnwFyAc8BnwFyAc8BnwFy
    2.47 -        Ac8BnwFyAc8BnwFyAc8BnwFyAc8BnwFyAc8BnwFyAd0BuwGcAYcBSgEgZgADgQP/BusJ7APtAQIBWQGP
    2.48 -        AccB6wHvAWoBrAHSAVcBhwGkAQIBWQGPAakBEgEdAYcBSgEgAd0BuwGcAd0BuwGcAd0BuwGcAd0BuwGc
    2.49 -        Ad0BuwGcAd0BuwGcAd0BuwGcAd0BuwGcAd0BuwGcAd0BuwGcAd0BuwGcAd0BuwGcAd0BuwGcAd0BuwGc
    2.50 -        AYcBSgEgZgADgQP/A+oG6wzsAQIBWQGPAccB6wHvAWoBrAHSAVYBgQGfAQIBWQGPAYcBSgEgAd0BuwGc
    2.51 -        AcoBigFYAcoBigFYAcoBigFYAcoBigFYAcoBigFYAcoBigFYAcoBigFYAcoBigFYAcoBigFYAcoBigFY
    2.52 -        AcoBigFYAcoBigFYAd0BuwGcAYcBSgEgZgADgQP/BuoG6wnsAe8C8AECAVkBjwHGAeoB7gFxAa0BzwEC
    2.53 -        AVkBjwGHAUoBIAHdAbsBnAGGAVIBLAGGAVEBKwGGAVEBKwGGAVEBKwGGAVEBKwGGAVEBKwGGAVIBLAGG
    2.54 -        AVIBLAGGAVIBLAGGAVIBLAGGAVIBLAGGAVIBLAHdAbsBnAGHAUoBIGYAA4ED/wPsBuoM6wHvAvAD/wEC
    2.55 -        AVkBjwECAVkBjwGIASABNAGHAUoBIAHdAbsBnAFqAVsBTgPJCZwSmwFqAVsBTgHdAbsBnAGHAUoBIGYA
    2.56 -        A4Ee/wGFAYoBiAYAAYcBSgEgAd0BuwGcAXcBfAF6A9kMvQm8A78DwAF3AXwBegHdAbsBnAGHAUoBIGYA
    2.57 -        AbECZR6BAaMBYAFfBgABrQElARABhwFKASABhQGKAYgD5wPXDNYG1QPaA9wBhQGKAYgBhwFKASABrQEl
    2.58 -        ARCWAAGFAYoBiAPxCesP6gPpAYUBigGInAABoAFuAW0BhQGKAYgBhQGKAYgBhQGKAYgBhQGKAYgBhQGK
    2.59 -        AYgBhQGKAYgBhQGKAYgBhQGKAYgBhQGKAYgBhQGKAYgBoAFuAW1mAAFCAU0BPgcAAT4DAAEoAwABQAMA
    2.60 -        ARADAAEBAQABAQUAAYAXAAP/AQAC/wGMAWMEAAHAAQEBgAEDBAABwAEBAYABAwQAAcABAQHAAQcEAAHA
    2.61 -        AQEBwAEHBAABwAEAAcABBwQAAcABAgYAAcABAQYAAcAHAAHABwABwAcAAcAHAAHAAQMGAAHAAQMGAAL/
    2.62 -        AcABAwQAAv8BwAEDBAAL
    2.63 -</value>
    2.64 -  </data>
    2.65  </root>
    2.66 \ No newline at end of file
     3.1 --- a/IBBoard.WarFoundry.GUI.WinForms.csproj	Sat Nov 26 14:50:44 2011 +0000
     3.2 +++ b/IBBoard.WarFoundry.GUI.WinForms.csproj	Sat Dec 03 14:48:40 2011 +0000
     3.3 @@ -114,13 +114,17 @@
     3.4    </ItemGroup>
     3.5    <ItemGroup>
     3.6      <Content Include="App.ico" />
     3.7 +    <Content Include="icons\dialog-warning.png" />
     3.8      <Content Include="icons\document-new.png" />
     3.9      <Content Include="icons\document-open.png" />
    3.10      <Content Include="icons\document-save.png" />
    3.11      <None Include="app.config" />
    3.12      <None Include="icons\edit-redo.png" />
    3.13      <None Include="icons\edit-undo.png" />
    3.14 +    <Content Include="icons\edit-delete.png" />
    3.15 +    <Content Include="icons\gtk-edit.png" />
    3.16      <Content Include="icons\list-add.png" />
    3.17 +    <Content Include="icons\logo-large.png" />
    3.18      <Content Include="icons\warning-sml.png" />
    3.19      <Content Include="libs\log4net.dll" />
    3.20      <Content Include="WarFoundryPref.xml">
    3.21 @@ -129,6 +133,12 @@
    3.22      <Compile Include="AssemblyInfo.cs">
    3.23        <SubType>Code</SubType>
    3.24      </Compile>
    3.25 +    <Compile Include="FrmArmyTree.cs">
    3.26 +      <SubType>Form</SubType>
    3.27 +    </Compile>
    3.28 +    <Compile Include="FrmArmyTree.Designer.cs">
    3.29 +      <DependentUpon>FrmArmyTree.cs</DependentUpon>
    3.30 +    </Compile>
    3.31      <Compile Include="FrmEditArmy.cs">
    3.32        <SubType>Form</SubType>
    3.33      </Compile>
    3.34 @@ -141,9 +151,6 @@
    3.35      <Compile Include="FrmAbout.Designer.cs">
    3.36        <DependentUpon>FrmAbout.cs</DependentUpon>
    3.37      </Compile>
    3.38 -    <Compile Include="FrmArmyTree.cs">
    3.39 -      <SubType>Form</SubType>
    3.40 -    </Compile>
    3.41      <Compile Include="FrmEditUnitEquipment.cs">
    3.42        <SubType>Form</SubType>
    3.43      </Compile>
    3.44 @@ -199,7 +206,6 @@
    3.45      </EmbeddedResource>
    3.46      <EmbeddedResource Include="FrmArmyTree.resx">
    3.47        <DependentUpon>FrmArmyTree.cs</DependentUpon>
    3.48 -      <SubType>Designer</SubType>
    3.49      </EmbeddedResource>
    3.50      <EmbeddedResource Include="FrmEditArmy.resx">
    3.51        <DependentUpon>FrmEditArmy.cs</DependentUpon>
     4.1 --- a/Properties/Resources.Designer.cs	Sat Nov 26 14:50:44 2011 +0000
     4.2 +++ b/Properties/Resources.Designer.cs	Sat Dec 03 14:48:40 2011 +0000
     4.3 @@ -1,7 +1,7 @@
     4.4  //------------------------------------------------------------------------------
     4.5  // <auto-generated>
     4.6  //     This code was generated by a tool.
     4.7 -//     Runtime Version:4.0.30319.235
     4.8 +//     Runtime Version:4.0.30319.239
     4.9  //
    4.10  //     Changes to this file may cause incorrect behavior and will be lost if
    4.11  //     the code is regenerated.
    4.12 @@ -81,6 +81,13 @@
    4.13              }
    4.14          }
    4.15          
    4.16 +        internal static System.Drawing.Bitmap edit_delete {
    4.17 +            get {
    4.18 +                object obj = ResourceManager.GetObject("edit-delete", resourceCulture);
    4.19 +                return ((System.Drawing.Bitmap)(obj));
    4.20 +            }
    4.21 +        }
    4.22 +        
    4.23          internal static System.Drawing.Bitmap edit_redo {
    4.24              get {
    4.25                  object obj = ResourceManager.GetObject("edit-redo", resourceCulture);
    4.26 @@ -95,6 +102,13 @@
    4.27              }
    4.28          }
    4.29          
    4.30 +        internal static System.Drawing.Bitmap gtk_edit {
    4.31 +            get {
    4.32 +                object obj = ResourceManager.GetObject("gtk-edit", resourceCulture);
    4.33 +                return ((System.Drawing.Bitmap)(obj));
    4.34 +            }
    4.35 +        }
    4.36 +        
    4.37          internal static System.Drawing.Bitmap list_add {
    4.38              get {
    4.39                  object obj = ResourceManager.GetObject("list-add", resourceCulture);
     5.1 --- a/Properties/Resources.resx	Sat Nov 26 14:50:44 2011 +0000
     5.2 +++ b/Properties/Resources.resx	Sat Dec 03 14:48:40 2011 +0000
     5.3 @@ -117,26 +117,33 @@
     5.4    <resheader name="writer">
     5.5      <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
     5.6    </resheader>
     5.7 -  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
     5.8 -  <data name="edit-redo" type="System.Resources.ResXFileRef, System.Windows.Forms">
     5.9 -    <value>..\icons\edit-redo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.10 -  </data>
    5.11 -  <data name="edit-undo" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.12 -    <value>..\icons\edit-undo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.13 -  </data>
    5.14 -  <data name="document-save" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.15 -    <value>..\icons\document-save.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.16 -  </data>
    5.17 -  <data name="document-new" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.18 -    <value>..\icons\document-new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.19 -  </data>
    5.20 +  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    5.21    <data name="document-open" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.22      <value>..\icons\document-open.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.23    </data>
    5.24    <data name="list-add" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.25      <value>..\icons\list-add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.26    </data>
    5.27 +  <data name="edit-undo" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.28 +    <value>..\icons\edit-undo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.29 +  </data>
    5.30 +  <data name="document-new" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.31 +    <value>..\icons\document-new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.32 +  </data>
    5.33 +  <data name="edit-redo" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.34 +    <value>..\icons\edit-redo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.35 +  </data>
    5.36 +  <data name="gtk-edit" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.37 +    <value>..\icons\gtk-edit.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.38 +  </data>
    5.39 +  <data name="document-save" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.40 +    <value>..\icons\document-save.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.41 +  </data>
    5.42    <data name="warning-sml" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.43      <value>..\icons\warning-sml.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.44    </data>
    5.45 +  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    5.46 +  <data name="edit-delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
    5.47 +    <value>..\icons\edit-delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    5.48 +  </data>
    5.49  </root>
    5.50 \ No newline at end of file
     6.1 Binary file icons/edit-delete.png has changed
     7.1 Binary file icons/gtk-edit.png has changed