Mercurial > repos > IBBoard.WarFoundry.GUI.WinForms
comparison FrmNewUnitEquipment.cs @ 34:3ceb0efd261f
Re #118: Allow equipment amounts of "ratio" equipment to be define as absolute or ratio amounts
* Use new commands created in previous revision
Re #122: Make usage of percentage or ratio common
* Make sure all usage of percentages are correct
Re #117: Add percentage and number boxes to equipment item dialogs
* Fix some enable/disable inconsistencies for percentage amounts
* Fix problems where fixed limits weren't honoured by widgets
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Thu, 13 Aug 2009 21:16:21 +0000 |
parents | 7c366fe55635 |
children | 6ab7ddc038f9 |
comparison
equal
deleted
inserted
replaced
33:67c283ea77a7 | 34:3ceb0efd261f |
---|---|
7 using System.Collections; | 7 using System.Collections; |
8 using System.ComponentModel; | 8 using System.ComponentModel; |
9 using System.Windows.Forms; | 9 using System.Windows.Forms; |
10 using IBBoard; | 10 using IBBoard; |
11 using IBBoard.Commands; | 11 using IBBoard.Commands; |
12 using IBBoard.Lang; | |
12 using IBBoard.WarFoundry.API; | 13 using IBBoard.WarFoundry.API; |
13 using IBBoard.WarFoundry.API.Commands; | 14 using IBBoard.WarFoundry.API.Commands; |
14 using IBBoard.WarFoundry.API.Objects; | 15 using IBBoard.WarFoundry.API.Objects; |
15 | 16 |
16 namespace IBBoard.WarFoundry | 17 namespace IBBoard.WarFoundry |
190 { | 191 { |
191 UnitEquipmentItem equipItem = (UnitEquipmentItem)listItems.SelectedItem; | 192 UnitEquipmentItem equipItem = (UnitEquipmentItem)listItems.SelectedItem; |
192 | 193 |
193 if (cbEquipAll.Checked) | 194 if (cbEquipAll.Checked) |
194 { | 195 { |
195 commandStack.Execute(new SetUnitEquipmentAmountCommand(unit, equipItem, WarFoundryCore.INFINITY)); | 196 commandStack.Execute(new SetUnitEquipmentNumericAmountCommand(unit, equipItem, WarFoundryCore.INFINITY)); |
196 } | 197 } |
197 else | 198 else |
198 { | 199 { |
199 if (equipItem.IsRatioLimit) | 200 if (equipItem.IsRatioLimit) |
200 { | 201 { |
201 commandStack.Execute(new SetUnitEquipmentAmountCommand(unit, equipItem, (double)numEquipAmount.Value / 100.0)); | 202 commandStack.Execute(new SetUnitEquipmentRatioAmountCommand(unit, equipItem, (double)numEquipAmount.Value / 100.0)); |
202 } | 203 } |
203 else | 204 else |
204 { | 205 { |
205 commandStack.Execute(new SetUnitEquipmentAmountCommand(unit, equipItem, (double)numEquipAmount.Value)); | 206 commandStack.Execute(new SetUnitEquipmentNumericAmountCommand(unit, equipItem, (int)numEquipAmount.Value)); |
206 } | 207 } |
207 } | 208 } |
208 } | 209 } |
209 | 210 |
210 private void bttnCancel_Click(object sender, System.EventArgs e) | 211 private void bttnCancel_Click(object sender, System.EventArgs e) |
231 UnitEquipmentItem equipItem = (UnitEquipmentItem)listItems.SelectedItem; | 232 UnitEquipmentItem equipItem = (UnitEquipmentItem)listItems.SelectedItem; |
232 required = equipItem.IsRequired; | 233 required = equipItem.IsRequired; |
233 | 234 |
234 if (equipItem.IsRatioLimit) | 235 if (equipItem.IsRatioLimit) |
235 { | 236 { |
236 numEquipAmount.Minimum = (decimal)Math.Round(equipItem.MinNumber * 100.0, 2); | 237 numEquipAmount.Minimum = (decimal) equipItem.MinPercentage; |
237 numEquipAmount.Maximum = (decimal)Math.Round(equipItem.MaxNumber * 100.0, 2); | 238 numEquipAmount.Maximum = (decimal) equipItem.MaxPercentage; |
239 numEquipAmount.Enabled = true; | |
238 numEquipAmount.Value = numEquipAmount.Minimum; | 240 numEquipAmount.Value = numEquipAmount.Minimum; |
239 cbEquipAll.Enabled = false; | 241 cbEquipAll.Enabled = false; |
240 lblPercent.Visible = true; | 242 lblPercent.Visible = true; |
241 numEquipAmount.Width = 120; | 243 numEquipAmount.Width = 120; |
242 } | 244 } |
243 else | 245 else |
244 { | 246 { |
245 numEquipAmount.Minimum = (decimal)(equipItem.MinNumber != WarFoundryCore.INFINITY ? equipItem.MinNumber : unit.Size); | 247 numEquipAmount.Minimum = (decimal)(equipItem.MinNumber != WarFoundryCore.INFINITY ? Math.Min(equipItem.MinNumber, unit.Size) : unit.Size); |
246 numEquipAmount.Maximum = (decimal)(equipItem.MaxNumber != WarFoundryCore.INFINITY ? equipItem.MaxNumber : unit.Size); | 248 numEquipAmount.Maximum = (decimal)(equipItem.MaxNumber != WarFoundryCore.INFINITY ? Math.Min(equipItem.MaxNumber, unit.Size) : unit.Size); |
247 numEquipAmount.Value = numEquipAmount.Minimum; | 249 numEquipAmount.Value = numEquipAmount.Minimum; |
248 cbEquipAll.Enabled = equipItem.MinNumber != WarFoundryCore.INFINITY; | 250 numEquipAmount.Enabled = equipItem.MinNumber != WarFoundryCore.INFINITY; |
251 cbEquipAll.Enabled = equipItem.MinNumber != WarFoundryCore.INFINITY && equipItem.MaxNumber == WarFoundryCore.INFINITY; | |
249 cbEquipAll.Checked = equipItem.MinNumber == WarFoundryCore.INFINITY; | 252 cbEquipAll.Checked = equipItem.MinNumber == WarFoundryCore.INFINITY; |
253 lblPercent.Visible = false; | |
250 numEquipAmount.Width = 144; | 254 numEquipAmount.Width = 144; |
251 } | 255 } |
252 } | 256 } |
253 else | 257 else |
254 { | 258 { |