Mercurial > repos > IBBoard.WarFoundry.GUI.WinForms
view FrmEditArmy.cs @ 246:b57a7cf844f8
Fixes #426: Changing unit size doesn't trigger all validation
* Hook validation in to army composition changed event
* Make sure we're ignoring old armies and listening to the new one
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 01 Sep 2012 16:12:48 +0100 |
parents | 4ada3252d1ea |
children |
line wrap: on
line source
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using IBBoard.Commands; using IBBoard.WarFoundry.API.Commands; using IBBoard.WarFoundry.API.Objects; using IBBoard.Windows.Forms; using IBBoard.Windows.Forms.I18N; namespace IBBoard.WarFoundry.GUI.WinForms { public partial class FrmEditArmy : IBBForm { private Army army; private CommandStack stack; public FrmEditArmy(CommandStack cmdStack, Army toEdit) { army = toEdit; stack = cmdStack; InitializeComponent(); txtArmyName.Text = army.Name; armySize.Value = army.MaxPoints; ControlTranslator.TranslateControl(this); } private void bttnOkay_Click(object sender, EventArgs e) { EditArmyCommand command = new EditArmyCommand(army); command.NewName = txtArmyName.Text; command.NewSize = (int)armySize.Value; stack.Execute(command); DialogResult = DialogResult.OK; Close(); } private void bttnCancel_Click(object sender, EventArgs e) { Close(); } private void armySize_ValueChanged(object sender, EventArgs e) { SetOkayEnabled(); } private void SetOkayEnabled() { string trimmedName = txtArmyName.Text.Trim(); bttnOkay.Enabled = ((army.MaxPoints != armySize.Value || army.Name != trimmedName) && trimmedName != ""); } private void txtArmyName_TextChanged(object sender, EventArgs e) { SetOkayEnabled(); } private void armySize_KeyUp(object sender, KeyEventArgs e) { SetOkayEnabled(); } } }