Mercurial > repos > IBDev-IBBoard.WarFoundry.GUI.GTK
view FrmEditArmy.cs @ 146:f3453f3e4591
Fixes #369: Clicking "Create" without unit selected causes errors
* Disable the button from the start
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 25 Nov 2011 20:37:59 +0000 |
parents | d4b726cec12c |
children |
line wrap: on
line source
// This file (FrmEditArmy.cs) is a part of the IBBoard.WarFoundry.GUI.GTK project and is copyright 2011 IBBoard // // 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. using System; using IBBoard.WarFoundry.API.Objects; using IBBoard.Commands; using IBBoard.WarFoundry.API.Commands; namespace IBBoard.WarFoundry.GUI.GTK { public partial class FrmEditArmy : IBBoard.GtkSharp.Translatable.TranslatableDialog { private Army army; private CommandStack stack; public FrmEditArmy(CommandStack cmdStack, Army toEdit) { stack = cmdStack; army = toEdit; this.Build(); txtArmyName.Text = army.Name; sbPointsValue.Value = army.MaxPoints; Translate(); } protected void OnButtonOkClicked (object sender, System.EventArgs e) { if (IsChanged()) { DoUpdate(); } Respond(Gtk.ResponseType.Ok); } private bool IsChanged() { string trimmedName = txtArmyName.Text.Trim(); return army.MaxPoints != sbPointsValue.Value || army.Name != trimmedName; } private void DoUpdate() { EditArmyCommand command = new EditArmyCommand(army); command.NewName = txtArmyName.Text; command.NewSize = (int)sbPointsValue.Value; stack.Execute(command); } protected void OnButtonCancelClicked (object sender, System.EventArgs e) { Respond(Gtk.ResponseType.Cancel); } } }