comparison FrmEditUnitEquipment.cs @ 98:c7afc7824f50

Fixes #218: "Amount too high" warning can result in negative items * Restrict min/max values to a minimum of "0" to stop negatives * Ignore all events from widgets in EquimentAmountControl until we've finished setting it up for the new equipment item * Fire value modified events if the value has been limited * Remove disabling of OK button so that "Edit" dialog enables OK if amount has been limited
author IBBoard <dev@ibboard.co.uk>
date Sat, 21 Nov 2009 15:33:00 +0000
parents 0bb9f40d44eb
children 3e78af88ceb3
comparison
equal deleted inserted replaced
97:e356134d73c4 98:c7afc7824f50
41 InitializeComponent(); 41 InitializeComponent();
42 ControlTranslator.TranslateControl(this); 42 ControlTranslator.TranslateControl(this);
43 this.Text = Translation.GetTranslation("FrmEditUnitEquipment", "edit {0} for {1}", equipItem.Name, unit.Name); 43 this.Text = Translation.GetTranslation("FrmEditUnitEquipment", "edit {0} for {1}", equipItem.Name, unit.Name);
44 equipmentAmount.SetUnit(unit); 44 equipmentAmount.SetUnit(unit);
45 equipmentAmount.SetUnitEquipmentItem(equipItem); 45 equipmentAmount.SetUnitEquipmentItem(equipItem);
46 bttnOkay.Enabled = false;
47 } 46 }
48 47
49 /// <summary> 48 /// <summary>
50 /// Clean up any resources being used. 49 /// Clean up any resources being used.
51 /// </summary> 50 /// </summary>
185 private void bttnCancel_Click(object sender, System.EventArgs e) 184 private void bttnCancel_Click(object sender, System.EventArgs e)
186 { 185 {
187 this.Close(); 186 this.Close();
188 } 187 }
189 188
190 private void setOkayButton() 189 private void SetOkayButton()
191 { 190 {
192 double equipAmount = equipmentAmount.EquipmentAmount; 191 double equipAmount = equipmentAmount.EquipmentAmount;
193 bttnOkay.Enabled = equipAmount > 0 || equipAmount == WarFoundryCore.INFINITY || !equipItem.IsRequired; 192 bttnOkay.Enabled = equipAmount > 0 || !equipItem.IsRequired;
194 } 193 }
195 194
196 private void equipmentAmount_ValueChanged(object sender, EventArgs e) 195 private void equipmentAmount_ValueChanged(object sender, EventArgs e)
197 { 196 {
198 setOkayButton(); 197 SetOkayButton();
199 } 198 }
200 } 199 }
201 } 200 }