annotate FrmEditArmy.cs @ 225:5233147ca7e4

Re #101: Make army names and sizes modifiable after creation * Add form for editing name and size * Add edit options from army tree * Add edit options from Edit menu
author IBBoard <dev@ibboard.co.uk>
date Mon, 29 Aug 2011 20:06:54 +0100
parents
children 4ada3252d1ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
225
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 using System;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 using System.Collections.Generic;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
3 using System.ComponentModel;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4 using System.Data;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using System.Drawing;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using System.Text;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7 using System.Windows.Forms;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8 using IBBoard.Commands;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 using IBBoard.WarFoundry.API.Commands;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 using IBBoard.WarFoundry.API.Objects;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 namespace IBBoard.WarFoundry.GUI.WinForms
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 public partial class FrmEditArmy : Form
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 private Army army;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 private CommandStack stack;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
18
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
19 public FrmEditArmy(CommandStack cmdStack, Army toEdit)
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 army = toEdit;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 stack = cmdStack;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23 InitializeComponent();
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 txtArmyName.Text = army.Name;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 armySize.Value = army.MaxPoints;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 }
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
27
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
28 private void bttnOkay_Click(object sender, EventArgs e)
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
29 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30 EditArmyCommand command = new EditArmyCommand(army);
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31 command.NewName = txtArmyName.Text;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 command.NewSize = (int)armySize.Value;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 stack.Execute(command);
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 DialogResult = DialogResult.OK;
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 Close();
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
36 }
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
38 private void bttnCancel_Click(object sender, EventArgs e)
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
39 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
40 Close();
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
41 }
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
42
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43 private void armySize_ValueChanged(object sender, EventArgs e)
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
44 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
45 SetOkayEnabled();
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
46 }
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
47
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
48 private void SetOkayEnabled()
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
49 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
50 string trimmedName = txtArmyName.Text.Trim();
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
51 bttnOkay.Enabled = ((army.MaxPoints != armySize.Value || army.Name != trimmedName) && trimmedName != "");
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
52 }
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
53
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
54 private void txtArmyName_TextChanged(object sender, EventArgs e)
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
55 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
56 SetOkayEnabled();
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
57 }
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
58
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
59 private void armySize_KeyUp(object sender, KeyEventArgs e)
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
60 {
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
61 SetOkayEnabled();
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
62 }
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
63 }
5233147ca7e4 Re #101: Make army names and sizes modifiable after creation
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
64 }