changeset 47:2f2e46cd4171

Fixes #148: "Replace equipment" dialog still uses old widgets * Update dialog to use new widget Also: * Rename some methods to match naming conventions
author IBBoard <dev@ibboard.co.uk>
date Sun, 13 Sep 2009 18:51:39 +0000
parents 1576f669b3eb
children cf644b2c65e6
files FrmReplaceUnitEquipment.cs FrmReplaceUnitEquipment.resx
diffstat 2 files changed, 83 insertions(+), 217 deletions(-) [+]
line diff
     1.1 --- a/FrmReplaceUnitEquipment.cs	Sun Sep 13 17:33:36 2009 +0000
     1.2 +++ b/FrmReplaceUnitEquipment.cs	Sun Sep 13 18:51:39 2009 +0000
     1.3 @@ -21,17 +21,13 @@
     1.4  	{
     1.5  		private Unit unit;
     1.6  		private UnitEquipmentItem oldItem;
     1.7 -		private bool required;
     1.8  		private CommandStack commandStack;
     1.9 -
    1.10 -		private System.Windows.Forms.NumericUpDown numEquipAmount;
    1.11 -		private System.Windows.Forms.Label lblPercent;
    1.12  		private System.Windows.Forms.Label lblAmount;
    1.13  		private System.Windows.Forms.Button bttnCancel;
    1.14  		private System.Windows.Forms.Button bttnOkay;
    1.15 -		private System.Windows.Forms.CheckBox cbEquipAll;
    1.16  		private System.Windows.Forms.Label lblItem;
    1.17  		private System.Windows.Forms.ListBox listItems;
    1.18 +		private IBBoard.WarFoundry.GUI.WinForms.UI.EquipmentAmountControl equipmentAmount;
    1.19  		/// <summary>
    1.20  		/// Required designer variable.
    1.21  		/// </summary>
    1.22 @@ -46,6 +42,7 @@
    1.23  			this.Text = "Replace " + item.EquipmentItem.Name + " with new equipment";
    1.24  			object[] items = Arrays.Subtract(unit.UnitType.GetEquipmentItemsByExclusionGroup(item.MutexGroup), unit.GetEquipment());
    1.25  			listItems.Items.AddRange(items);
    1.26 +			equipmentAmount.SetUnit(unit);
    1.27  		}
    1.28  
    1.29  		/// <summary>
    1.30 @@ -70,35 +67,14 @@
    1.31  		/// </summary>
    1.32  		private void InitializeComponent()
    1.33  		{
    1.34 -			this.numEquipAmount = new System.Windows.Forms.NumericUpDown();
    1.35 -			this.lblPercent = new System.Windows.Forms.Label();
    1.36  			this.lblAmount = new System.Windows.Forms.Label();
    1.37  			this.bttnCancel = new System.Windows.Forms.Button();
    1.38  			this.bttnOkay = new System.Windows.Forms.Button();
    1.39 -			this.cbEquipAll = new System.Windows.Forms.CheckBox();
    1.40  			this.lblItem = new System.Windows.Forms.Label();
    1.41  			this.listItems = new System.Windows.Forms.ListBox();
    1.42 -			((System.ComponentModel.ISupportInitialize)(this.numEquipAmount)).BeginInit();
    1.43 +			this.equipmentAmount = new IBBoard.WarFoundry.GUI.WinForms.UI.EquipmentAmountControl();
    1.44  			this.SuspendLayout();
    1.45  			// 
    1.46 -			// numEquipAmount
    1.47 -			// 
    1.48 -			this.numEquipAmount.Enabled = false;
    1.49 -			this.numEquipAmount.Location = new System.Drawing.Point(88, 80);
    1.50 -			this.numEquipAmount.Name = "numEquipAmount";
    1.51 -			this.numEquipAmount.Size = new System.Drawing.Size(144, 20);
    1.52 -			this.numEquipAmount.TabIndex = 0;
    1.53 -			this.numEquipAmount.ValueChanged += new System.EventHandler(this.numEquipAmount_ValueChanged);
    1.54 -			// 
    1.55 -			// lblPercent
    1.56 -			// 
    1.57 -			this.lblPercent.Location = new System.Drawing.Point(208, 80);
    1.58 -			this.lblPercent.Name = "lblPercent";
    1.59 -			this.lblPercent.Size = new System.Drawing.Size(16, 16);
    1.60 -			this.lblPercent.TabIndex = 1;
    1.61 -			this.lblPercent.Text = "%";
    1.62 -			this.lblPercent.Visible = false;
    1.63 -			// 
    1.64  			// lblAmount
    1.65  			// 
    1.66  			this.lblAmount.Location = new System.Drawing.Point(8, 80);
    1.67 @@ -112,8 +88,9 @@
    1.68  			// 
    1.69  			this.bttnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
    1.70  			this.bttnCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
    1.71 -			this.bttnCancel.Location = new System.Drawing.Point(160, 136);
    1.72 +			this.bttnCancel.Location = new System.Drawing.Point(159, 184);
    1.73  			this.bttnCancel.Name = "bttnCancel";
    1.74 +			this.bttnCancel.Size = new System.Drawing.Size(75, 23);
    1.75  			this.bttnCancel.TabIndex = 3;
    1.76  			this.bttnCancel.Text = "cancel";
    1.77  			this.bttnCancel.Click += new System.EventHandler(this.bttnCancel_Click);
    1.78 @@ -122,22 +99,13 @@
    1.79  			// 
    1.80  			this.bttnOkay.Enabled = false;
    1.81  			this.bttnOkay.FlatStyle = System.Windows.Forms.FlatStyle.System;
    1.82 -			this.bttnOkay.Location = new System.Drawing.Point(8, 136);
    1.83 +			this.bttnOkay.Location = new System.Drawing.Point(11, 184);
    1.84  			this.bttnOkay.Name = "bttnOkay";
    1.85 +			this.bttnOkay.Size = new System.Drawing.Size(75, 23);
    1.86  			this.bttnOkay.TabIndex = 4;
    1.87  			this.bttnOkay.Text = "okay";
    1.88  			this.bttnOkay.Click += new System.EventHandler(this.bttnOkay_Click);
    1.89  			// 
    1.90 -			// cbEquipAll
    1.91 -			// 
    1.92 -			this.cbEquipAll.Enabled = false;
    1.93 -			this.cbEquipAll.FlatStyle = System.Windows.Forms.FlatStyle.System;
    1.94 -			this.cbEquipAll.Location = new System.Drawing.Point(88, 104);
    1.95 -			this.cbEquipAll.Name = "cbEquipAll";
    1.96 -			this.cbEquipAll.TabIndex = 5;
    1.97 -			this.cbEquipAll.Text = "equip all";
    1.98 -			this.cbEquipAll.CheckedChanged += new System.EventHandler(this.cbEquipAll_CheckedChanged);
    1.99 -			// 
   1.100  			// lblItem
   1.101  			// 
   1.102  			this.lblItem.Location = new System.Drawing.Point(0, 8);
   1.103 @@ -149,33 +117,35 @@
   1.104  			// 
   1.105  			// listItems
   1.106  			// 
   1.107 -			this.listItems.Location = new System.Drawing.Point(88, 8);
   1.108 +			this.listItems.Location = new System.Drawing.Point(86, 8);
   1.109  			this.listItems.Name = "listItems";
   1.110  			this.listItems.Size = new System.Drawing.Size(144, 69);
   1.111  			this.listItems.TabIndex = 7;
   1.112  			this.listItems.SelectedIndexChanged += new System.EventHandler(this.listItems_SelectedIndexChanged);
   1.113  			// 
   1.114 +			// equipmentAmount
   1.115 +			// 
   1.116 +			this.equipmentAmount.Location = new System.Drawing.Point(86, 83);
   1.117 +			this.equipmentAmount.Name = "equipmentAmount";
   1.118 +			this.equipmentAmount.Size = new System.Drawing.Size(155, 77);
   1.119 +			this.equipmentAmount.TabIndex = 8;
   1.120 +			// 
   1.121  			// FrmReplaceUnitEquipment
   1.122  			// 
   1.123 -			this.AcceptButton = this.bttnOkay;
   1.124  			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
   1.125 -			this.CancelButton = this.bttnCancel;
   1.126 -			this.ClientSize = new System.Drawing.Size(240, 164);
   1.127 +			this.ClientSize = new System.Drawing.Size(246, 219);
   1.128  			this.ControlBox = false;
   1.129 +			this.Controls.Add(this.equipmentAmount);
   1.130  			this.Controls.Add(this.listItems);
   1.131  			this.Controls.Add(this.lblItem);
   1.132 -			this.Controls.Add(this.cbEquipAll);
   1.133  			this.Controls.Add(this.bttnOkay);
   1.134  			this.Controls.Add(this.bttnCancel);
   1.135  			this.Controls.Add(this.lblAmount);
   1.136 -			this.Controls.Add(this.numEquipAmount);
   1.137 -			this.Controls.Add(this.lblPercent);
   1.138  			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
   1.139  			this.Name = "FrmReplaceUnitEquipment";
   1.140  			this.ShowInTaskbar = false;
   1.141  			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
   1.142  			this.Text = "FrmEditUnitEquipment";
   1.143 -			((System.ComponentModel.ISupportInitialize)(this.numEquipAmount)).EndInit();
   1.144  			this.ResumeLayout(false);
   1.145  
   1.146  		}
   1.147 @@ -183,27 +153,45 @@
   1.148  
   1.149  		private void bttnOkay_Click(object sender, System.EventArgs e)
   1.150  		{
   1.151 -			setValue();
   1.152 +			SetValue();
   1.153  			this.Close();
   1.154  		}
   1.155  
   1.156 -		private void setValue()
   1.157 +		private void SetValue()
   1.158  		{
   1.159  			UnitEquipmentItem equipItem = (UnitEquipmentItem)listItems.SelectedItem;
   1.160 +			bool setValue = true;
   1.161 +			double amount = equipmentAmount.EquipmentAmount;
   1.162  
   1.163 -			if (cbEquipAll.Checked)
   1.164 +			if (amount == 0)
   1.165  			{
   1.166 -                commandStack.Execute(new ReplaceUnitEquipmentWithNumericAmountItemCommand(unit, oldItem, equipItem, WarFoundryCore.INFINITY));
   1.167 -			}
   1.168 -			else
   1.169 -			{
   1.170 -                if (equipItem.IsRatioLimit)
   1.171 +				if (equipItem.IsRequired)
   1.172  				{
   1.173 -                    commandStack.Execute(new ReplaceUnitEquipmentWithRatioAmountItemCommand(unit, oldItem, equipItem, (double)numEquipAmount.Value));
   1.174 +					MessageBox.Show(this, "This item is required and cannot be removed. It must have a quantity of at least one or be replaced by an alternative.", "Required item", MessageBoxButtons.OK, MessageBoxIcon.Warning);
   1.175 +					setValue = false;
   1.176  				}
   1.177  				else
   1.178  				{
   1.179 -					commandStack.Execute(new ReplaceUnitEquipmentWithNumericAmountItemCommand(unit, oldItem, equipItem, (int)numEquipAmount.Value));
   1.180 +					DialogResult dr = MessageBox.Show(this, "This will remove the item from the unit. Continue?", "Confirm remove", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
   1.181 +
   1.182 +					if (dr != DialogResult.Yes)
   1.183 +					{
   1.184 +						setValue = false;
   1.185 +					}
   1.186 +				}
   1.187 +			}
   1.188 +
   1.189 +			double oldAmount = unit.GetEquipmentAmount(equipItem);
   1.190 +
   1.191 +			if (setValue && oldAmount != amount)
   1.192 +			{
   1.193 +				if (equipmentAmount.IsRatioEquipmentAmount)
   1.194 +				{
   1.195 +					commandStack.Execute(new ReplaceUnitEquipmentWithRatioAmountItemCommand(unit, oldItem, equipItem, amount));
   1.196 +				}
   1.197 +				else
   1.198 +				{
   1.199 +					commandStack.Execute(new ReplaceUnitEquipmentWithNumericAmountItemCommand(unit, oldItem, equipItem, (int)amount));
   1.200  				}
   1.201  			}
   1.202  		}
   1.203 @@ -213,61 +201,21 @@
   1.204  			this.Close();
   1.205  		}
   1.206  
   1.207 -		private void cbEquipAll_CheckedChanged(object sender, System.EventArgs e)
   1.208 +		private void listItems_SelectedIndexChanged(object sender, System.EventArgs e)
   1.209  		{
   1.210 -			numEquipAmount.Enabled = ((UnitEquipmentItem)listItems.SelectedItem).MinNumber != WarFoundryCore.INFINITY && !cbEquipAll.Checked;
   1.211 -			setOkayButton();
   1.212 +			equipmentAmount.SetUnitEquipmentItem((UnitEquipmentItem)listItems.SelectedItem);
   1.213 +			SetOkayButton();
   1.214  		}
   1.215  
   1.216 -		private void listItems_SelectedIndexChanged(object sender, System.EventArgs e)
   1.217 +		private void SetOkayButton()
   1.218  		{
   1.219 -			refreshNumber();
   1.220 -			setOkayButton();
   1.221 -		}
   1.222 -
   1.223 -		private void refreshNumber()
   1.224 -		{
   1.225 -			if (listItems.SelectedIndex > -1)
   1.226 -			{
   1.227 -				UnitEquipmentItem equipItem = (UnitEquipmentItem)listItems.SelectedItem;
   1.228 -				required = equipItem.IsRequired;
   1.229 -
   1.230 -                if (equipItem.IsRatioLimit)
   1.231 -				{
   1.232 -                    numEquipAmount.Minimum = (decimal)Math.Round(equipItem.MinNumber * 100.0, 2);
   1.233 -                    numEquipAmount.Maximum = (decimal)Math.Round(equipItem.MaxNumber * 100.0, 2);
   1.234 -					numEquipAmount.Value = numEquipAmount.Minimum;
   1.235 -					cbEquipAll.Enabled = false;
   1.236 -					lblPercent.Visible = true;
   1.237 -					numEquipAmount.Width = 120;
   1.238 -				}
   1.239 -				else
   1.240 -				{
   1.241 -                    numEquipAmount.Minimum = (decimal)(equipItem.MinNumber != WarFoundryCore.INFINITY ? equipItem.MinNumber : unit.Size);
   1.242 -                    numEquipAmount.Maximum = (decimal)(equipItem.MaxNumber != WarFoundryCore.INFINITY ? equipItem.MaxNumber : unit.Size);
   1.243 -					numEquipAmount.Value = numEquipAmount.Minimum;
   1.244 -                    cbEquipAll.Enabled = (equipItem.MaxNumber == WarFoundryCore.INFINITY && equipItem.MinNumber != WarFoundryCore.INFINITY);
   1.245 -                    cbEquipAll.Checked = equipItem.MinNumber == WarFoundryCore.INFINITY;
   1.246 -					numEquipAmount.Width = 144;
   1.247 -				}
   1.248 -			}
   1.249 -			else
   1.250 -			{
   1.251 -				numEquipAmount.Minimum = 0;
   1.252 -				numEquipAmount.Value = 0;
   1.253 -				numEquipAmount.Enabled = false;
   1.254 -				cbEquipAll.Enabled = false;
   1.255 -			}
   1.256 -		}
   1.257 -
   1.258 -		private void setOkayButton()
   1.259 -		{
   1.260 -			bttnOkay.Enabled = listItems.SelectedIndex > -1 && (cbEquipAll.Checked || (numEquipAmount.Enabled && numEquipAmount.Value > 0));
   1.261 +			double equipAmount = equipmentAmount.EquipmentAmount;
   1.262 +			bttnOkay.Enabled = equipAmount > 0 || equipAmount == WarFoundryCore.INFINITY || !((UnitEquipmentItem)listItems.SelectedItem).IsRequired;
   1.263  		}
   1.264  
   1.265  		private void numEquipAmount_ValueChanged(object sender, System.EventArgs e)
   1.266  		{			
   1.267 -			setOkayButton();
   1.268 +			SetOkayButton();
   1.269  		}
   1.270  	}
   1.271  }
     2.1 --- a/FrmReplaceUnitEquipment.resx	Sun Sep 13 17:33:36 2009 +0000
     2.2 +++ b/FrmReplaceUnitEquipment.resx	Sun Sep 13 18:51:39 2009 +0000
     2.3 @@ -3,7 +3,7 @@
     2.4    <!-- 
     2.5      Microsoft ResX Schema 
     2.6      
     2.7 -    Version 1.3
     2.8 +    Version 2.0
     2.9      
    2.10      The primary goals of this format is to allow a simple XML format 
    2.11      that is mostly human readable. The generation and parsing of the 
    2.12 @@ -14,16 +14,17 @@
    2.13      
    2.14      ... ado.net/XML headers & schema ...
    2.15      <resheader name="resmimetype">text/microsoft-resx</resheader>
    2.16 -    <resheader name="version">1.3</resheader>
    2.17 +    <resheader name="version">2.0</resheader>
    2.18      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    2.19      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    2.20 -    <data name="Name1">this is my long string</data>
    2.21 +    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    2.22      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    2.23      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
    2.24 -        [base64 mime encoded serialized .NET Framework object]
    2.25 +        <value>[base64 mime encoded serialized .NET Framework object]</value>
    2.26      </data>
    2.27      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    2.28 -        [base64 mime encoded string representing a byte array form of the .NET Framework object]
    2.29 +        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
    2.30 +        <comment>This is a comment</comment>
    2.31      </data>
    2.32                  
    2.33      There are any number of "resheader" rows that contain simple 
    2.34 @@ -35,7 +36,7 @@
    2.35      Classes that don't support this are serialized and stored with the 
    2.36      mimetype set.
    2.37      
    2.38 -    The mimetype is used forserialized objects, and tells the 
    2.39 +    The mimetype is used for serialized objects, and tells the 
    2.40      ResXResourceReader how to depersist the object. This is currently not 
    2.41      extensible. For a given mimetype the value must be set accordingly:
    2.42      
    2.43 @@ -45,7 +46,7 @@
    2.44      
    2.45      mimetype: application/x-microsoft.net.object.binary.base64
    2.46      value   : The object must be serialized with 
    2.47 -            : System.Serialization.Formatters.Binary.BinaryFormatter
    2.48 +            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
    2.49              : and then encoded with base64 encoding.
    2.50      
    2.51      mimetype: application/x-microsoft.net.object.soap.base64
    2.52 @@ -59,18 +60,37 @@
    2.53              : and then encoded with base64 encoding.
    2.54      -->
    2.55    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    2.56 +    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    2.57      <xsd:element name="root" msdata:IsDataSet="true">
    2.58        <xsd:complexType>
    2.59          <xsd:choice maxOccurs="unbounded">
    2.60 +          <xsd:element name="metadata">
    2.61 +            <xsd:complexType>
    2.62 +              <xsd:sequence>
    2.63 +                <xsd:element name="value" type="xsd:string" minOccurs="0" />
    2.64 +              </xsd:sequence>
    2.65 +              <xsd:attribute name="name" use="required" type="xsd:string" />
    2.66 +              <xsd:attribute name="type" type="xsd:string" />
    2.67 +              <xsd:attribute name="mimetype" type="xsd:string" />
    2.68 +              <xsd:attribute ref="xml:space" />
    2.69 +            </xsd:complexType>
    2.70 +          </xsd:element>
    2.71 +          <xsd:element name="assembly">
    2.72 +            <xsd:complexType>
    2.73 +              <xsd:attribute name="alias" type="xsd:string" />
    2.74 +              <xsd:attribute name="name" type="xsd:string" />
    2.75 +            </xsd:complexType>
    2.76 +          </xsd:element>
    2.77            <xsd:element name="data">
    2.78              <xsd:complexType>
    2.79                <xsd:sequence>
    2.80                  <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
    2.81                  <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
    2.82                </xsd:sequence>
    2.83 -              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
    2.84 +              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
    2.85                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
    2.86                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
    2.87 +              <xsd:attribute ref="xml:space" />
    2.88              </xsd:complexType>
    2.89            </xsd:element>
    2.90            <xsd:element name="resheader">
    2.91 @@ -89,114 +109,12 @@
    2.92      <value>text/microsoft-resx</value>
    2.93    </resheader>
    2.94    <resheader name="version">
    2.95 -    <value>1.3</value>
    2.96 +    <value>2.0</value>
    2.97    </resheader>
    2.98    <resheader name="reader">
    2.99 -    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   2.100 +    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   2.101    </resheader>
   2.102    <resheader name="writer">
   2.103 -    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   2.104 +    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   2.105    </resheader>
   2.106 -  <data name="numEquipAmount.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.107 -    <value>False</value>
   2.108 -  </data>
   2.109 -  <data name="numEquipAmount.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.110 -    <value>Private</value>
   2.111 -  </data>
   2.112 -  <data name="numEquipAmount.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.113 -    <value>Private</value>
   2.114 -  </data>
   2.115 -  <data name="lblPercent.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.116 -    <value>False</value>
   2.117 -  </data>
   2.118 -  <data name="lblPercent.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.119 -    <value>Private</value>
   2.120 -  </data>
   2.121 -  <data name="lblPercent.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.122 -    <value>Private</value>
   2.123 -  </data>
   2.124 -  <data name="lblAmount.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.125 -    <value>False</value>
   2.126 -  </data>
   2.127 -  <data name="lblAmount.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.128 -    <value>Private</value>
   2.129 -  </data>
   2.130 -  <data name="lblAmount.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.131 -    <value>Private</value>
   2.132 -  </data>
   2.133 -  <data name="bttnCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.134 -    <value>False</value>
   2.135 -  </data>
   2.136 -  <data name="bttnCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.137 -    <value>Private</value>
   2.138 -  </data>
   2.139 -  <data name="bttnCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.140 -    <value>Private</value>
   2.141 -  </data>
   2.142 -  <data name="bttnOkay.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.143 -    <value>False</value>
   2.144 -  </data>
   2.145 -  <data name="bttnOkay.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.146 -    <value>Private</value>
   2.147 -  </data>
   2.148 -  <data name="bttnOkay.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.149 -    <value>Private</value>
   2.150 -  </data>
   2.151 -  <data name="cbEquipAll.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.152 -    <value>False</value>
   2.153 -  </data>
   2.154 -  <data name="cbEquipAll.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.155 -    <value>Private</value>
   2.156 -  </data>
   2.157 -  <data name="cbEquipAll.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.158 -    <value>Private</value>
   2.159 -  </data>
   2.160 -  <data name="lblItem.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.161 -    <value>False</value>
   2.162 -  </data>
   2.163 -  <data name="lblItem.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.164 -    <value>Private</value>
   2.165 -  </data>
   2.166 -  <data name="lblItem.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.167 -    <value>Private</value>
   2.168 -  </data>
   2.169 -  <data name="listItems.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.170 -    <value>Private</value>
   2.171 -  </data>
   2.172 -  <data name="listItems.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.173 -    <value>False</value>
   2.174 -  </data>
   2.175 -  <data name="listItems.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.176 -    <value>Private</value>
   2.177 -  </data>
   2.178 -  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.179 -    <value>False</value>
   2.180 -  </data>
   2.181 -  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.182 -    <value>(Default)</value>
   2.183 -  </data>
   2.184 -  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.185 -    <value>False</value>
   2.186 -  </data>
   2.187 -  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.188 -    <value>False</value>
   2.189 -  </data>
   2.190 -  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
   2.191 -    <value>8, 8</value>
   2.192 -  </data>
   2.193 -  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.194 -    <value>True</value>
   2.195 -  </data>
   2.196 -  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.197 -    <value>80</value>
   2.198 -  </data>
   2.199 -  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.200 -    <value>True</value>
   2.201 -  </data>
   2.202 -  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   2.203 -    <value>Private</value>
   2.204 -  </data>
   2.205 -  <data name="$this.Name">
   2.206 -    <value>FrmReplaceUnitEquipment</value>
   2.207 -  </data>
   2.208  </root>
   2.209 \ No newline at end of file