view FrmEditArmy.cs @ 243:55c94d438a4b

Re #58: Remove LogNotifier from API * Add logging moved from API
author IBBoard <dev@ibboard.co.uk>
date Sat, 17 Mar 2012 21:03:33 +0000
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();
		}
	}
}