annotate FrmMain.cs @ 66:68d4f7499212

Re #176: Bug when saving recently edited army * Make save button available whether army has previously been saved or not (partly for usability and partly to try to trigger bug) Bug seems to occur when opening an army as the first action, adding a unit and saving it, but not when creating a new army as the first action, then loading an old army as the second action, then adding a unit and saving it
author IBBoard <dev@ibboard.co.uk>
date Sat, 26 Sep 2009 09:51:53 +0000
parents c4181adba7df
children 75cf9b6608f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1 // This file (FrmMain.cs) is a part of the IBBoard.WarFoundry.GUI.WinForms project and is copyright 2007, 2008, 2009 IBBoard.
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
2 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
3 // 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.
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
4
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
5 using System;
61
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
6 using System.Collections.Generic;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
7 using System.Drawing;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
8 using System.Drawing.Drawing2D;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
9 using System.ComponentModel;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
10 using System.Windows.Forms;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
11 using System.Data;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
12 using System.IO;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
13 using System.Threading;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
14 using log4net;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
15 using IBBoard;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
16 using IBBoard.CustomMath;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
17 using IBBoard.Commands;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
18 using IBBoard.IO;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
19 using IBBoard.Lang;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
20 using IBBoard.Windows.Forms;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
21 using IBBoard.Windows.Forms.I18N;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
22 using IBBoard.Xml;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
23 using IBBoard.WarFoundry.API;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
24 using IBBoard.WarFoundry.API.Commands;
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
25 using IBBoard.WarFoundry.API.Exporters;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
26 using IBBoard.WarFoundry.API.Objects;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
27 using IBBoard.WarFoundry.API.Savers;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
28 using IBBoard.WarFoundry.API.Factories;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
29 using IBBoard.WarFoundry.API.Factories.Xml;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
30
40
740350673006 Re #117: Add percentage and number boxes to equipment item dialogs
IBBoard <dev@ibboard.co.uk>
parents: 39
diff changeset
31 namespace IBBoard.WarFoundry.GUI.WinForms
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
32 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
33 /// <summary>
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
34 /// Summary description for Form1.
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
35 /// </summary>
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
36 public class FrmMain : System.Windows.Forms.Form
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
37 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
38 private static readonly string AppTitle = "WarFoundry";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
39 const string DefaultDataDir = "data";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
40
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
41 private Preferences preferences;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
42 protected readonly ILog logger = LogManager.GetLogger(typeof(FrmMain));
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
43
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
44 private CommandStack commandStack;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
45 private ToolBarButton[] categoryButtons;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
46
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
47 public ObjectAddDelegate UnitAddedMethod;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
48 public ObjectRemoveDelegate UnitRemovedMethod;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
49 public DoubleValChangedDelegate PointsValueChangedMethod;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
50 //public FailedUnitRequirementDelegate FailedUnitRequirementMethod;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
51
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
52 private FrmArmyTree armyTree;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
53 private string loadedFilePath;
61
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
54 private Dictionary<string, FrmUnit> unitWindows;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
55
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
56 private System.ComponentModel.IContainer components;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
57 private System.Windows.Forms.ToolBar toolBar;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
58 private IBBoard.Windows.Forms.IBBToolBarButton bttnNewArmy;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
59 private System.Windows.Forms.ImageList buttonIcons;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
60 private IBBoard.Windows.Forms.IBBToolBarButton bttnSaveArmy;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
61 private System.Windows.Forms.OpenFileDialog openArmyDialog;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
62 private System.Windows.Forms.SaveFileDialog saveArmyDialog;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
63 private IBBoard.Windows.Forms.IBBToolBarButton bttnOpenArmy;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
64 private IBBoard.Windows.Forms.IBBToolBarButton bttnSep1;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
65 private IBBoard.Windows.Forms.IBBToolBarButton bttnUndo;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
66 private IBBoard.Windows.Forms.IBBToolBarButton bttnRedo;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
67 private System.Windows.Forms.MainMenu mainMenu;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
68 private IBBoard.Windows.Forms.IBBMenuItem menuFile;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
69 private IBBoard.Windows.Forms.IBBMenuItem miNewArmy;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
70 private IBBoard.Windows.Forms.IBBMenuItem miOpenArmy;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
71 private IBBoard.Windows.Forms.IBBMenuItem miCloseArmy;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
72 private IBBoard.Windows.Forms.IBBMenuItem miSaveArmy;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
73 private IBBoard.Windows.Forms.IBBMenuItem miSaveArmyAs;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
74 private System.Windows.Forms.MenuItem miSep2;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
75 private IBBoard.Windows.Forms.IBBMenuItem miReloadFiles;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
76 private System.Windows.Forms.MenuItem miSep3;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
77 private IBBoard.Windows.Forms.IBBMenuItem miExit;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
78 private IBBoard.Windows.Forms.IBBMenuItem menuEdit;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
79 private IBBoard.Windows.Forms.IBBMenuItem miUndo;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
80 private IBBoard.Windows.Forms.IBBMenuItem miRedo;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
81 private IBBoard.Windows.Forms.IBBMenuItem menuHelp;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
82 private IBBoard.Windows.Forms.IBBMenuItem miAbout;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
83 private IBBoard.Windows.Forms.ColorableStatusBarPanel sbMainPanel;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
84 private IBBoard.Windows.Forms.ColorableStatusBarPanel sbErrorPanel;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
85 private IBBoard.Windows.Forms.ColorableStatusBarPanel sbPointsPanel;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
86 private System.Windows.Forms.ContextMenu undoMenu;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
87 private System.Windows.Forms.ContextMenu redoMenu;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
88 private IBBoard.Windows.Forms.ColorableStatusBar statusBar;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
89 private System.Windows.Forms.Timer statusBarTimer;
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
90 private MenuItem miExportArmyAs;
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
91 private MenuItem miExportArmyAsBasicHTML;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
92 private System.Windows.Forms.Panel pnlRight;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
93
63
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
94 /// <summary>
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
95 /// The main entry point for the application.
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
96 /// </summary>
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
97 [STAThread]
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
98 static void Main(string[] args)
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
99 {
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
100 try
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
101 {
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
102 Application.EnableVisualStyles();
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
103 Application.Run(new FrmMain(args));
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
104 }
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
105 catch (Exception ex)
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
106 {
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
107 LogManager.GetLogger(typeof(FrmMain)).Fatal(ex);
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
108 MessageBox.Show(null, "A major, unexpected and fatal error ocurred while starting the application: \r\n\r\n" + ex.Message + "\r\n\r\n" + ex.StackTrace, "Fatal error", MessageBoxButtons.OK, MessageBoxIcon.Error);
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
109 }
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
110 }
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
111
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
112 public FrmMain(string[] args)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
113 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
114 this.Closing+=new CancelEventHandler(FrmMain_Closing);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
115 CommandStack.CommandStackUpdated += new MethodInvoker(commandStack_CommandStackUpdated);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
116
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
117 InitializeComponent();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
118
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
119 Preferences = new Preferences("WarFoundry");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
120 try
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
121 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
122 Translation.InitialiseTranslations(Constants.ExecutablePath, Preferences["language"].ToString());
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
123 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
124 catch (TranslationLoadException ex)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
125 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
126 logger.Error(ex);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
127 MessageBox.Show(this, "Translation loading failed for language " + Preferences["language"].ToString(), "Translation failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
128 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
129
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
130 //pnlRight.Left = ClientSize.Width - pnlRight.Width - 2;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
131 //pnlRight.Top = toolBar.Height + 5;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
132 //pnlRight.Height = ClientRectangle.Bottom - statusBar.Height - pnlRight.Top - 3;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
133
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
134 foreach (Control ctrl in Controls)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
135 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
136 ControlTranslator.TranslateControl(ctrl);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
137 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
138
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
139 foreach(Component comp in components.Components)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
140 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
141 ControlTranslator.TranslateComponent(comp);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
142 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
143
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
144 foreach (IBBMenuItem mi in Menu.MenuItems)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
145 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
146 ControlTranslator.TranslateComponent(mi);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
147 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
148
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
149 ControlTranslator.TranslateComponent(openArmyDialog);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
150 ControlTranslator.TranslateComponent(saveArmyDialog);
61
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
151 unitWindows = new Dictionary<string, FrmUnit>();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
152
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
153 WarFoundryCore.GameSystemChanged+= new GameSystemChangedDelegate(FrmMain_GameSystemChanged);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
154 WarFoundryCore.ArmyChanged += new ArmyChangedDelegate(FrmMain_ArmyChanged);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
155 UnitAddedMethod = new ObjectAddDelegate(FrmMain_UnitAddedMethod);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
156 UnitRemovedMethod = new ObjectRemoveDelegate(FrmMain_UnitRemovedMethod);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
157 PointsValueChangedMethod = new DoubleValChangedDelegate(FrmMain_PointsValueChangedMethod);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
158 //FailedUnitRequirementMethod = new FailedUnitRequirementDelegate(FrmMain_FailedUnitRequirement);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
159
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
160 sbErrorPanel.Color = Color.Red;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
161
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
162 armyTree = new FrmArmyTree(CommandStack);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
163 armyTree.MdiParent = this;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
164 armyTree.StartPosition = FormStartPosition.Manual;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
165 armyTree.Location = new Point(this.DisplayRectangle.Width - armyTree.Width - 10, 10);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
166 ControlTranslator.TranslateControl(armyTree);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
167
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
168 // hack to load default files
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
169 WarFoundryLoader.GetDefault().AddLoadDirectory(new DirectoryInfo(Constants.ExecutablePath + Constants.DirectoryString + DefaultDataDir));
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
170 WarFoundryLoader.GetDefault().RegisterFactory(WarFoundryXmlFactory.GetFactory());
63
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
171 WarFoundryLoader.GetDefault().FileLoadingFinished += FileLoadingFinished;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
172 WarFoundrySaver.SetFileSaver(new WarFoundryXmlSaver());
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
173 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
174
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
175 public static string DataPath
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
176 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
177 get { return Constants.ExecutablePath+Constants.DirectoryChar+"data"; }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
178 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
179
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
180 public static String ArmiesPath
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
181 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
182 get { return Constants.UserDataPath+Constants.DirectoryChar+"armies"; }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
183 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
184
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
185 public Preferences Preferences
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
186 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
187 get { return preferences; }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
188 set { preferences = value; }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
189 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
190
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
191 public CommandStack CommandStack
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
192 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
193 get
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
194 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
195 if (commandStack == null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
196 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
197 commandStack = new CommandStack();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
198 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
199
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
200 return commandStack;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
201 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
202 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
203
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
204 /// <summary>
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
205 /// Clean up any resources being used.
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
206 /// </summary>
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
207 protected override void Dispose( bool disposing )
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
208 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
209 if( disposing )
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
210 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
211 if (components != null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
212 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
213 components.Dispose();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
214 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
215 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
216 base.Dispose( disposing );
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
217 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
218
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
219 #region Windows Form Designer generated code
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
220 /// <summary>
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
221 /// Required method for Designer support - do not modify
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
222 /// the contents of this method with the code editor.
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
223 /// </summary>
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
224 private void InitializeComponent()
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
225 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
226 this.components = new System.ComponentModel.Container();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
227 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
228 this.statusBar = new IBBoard.Windows.Forms.ColorableStatusBar();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
229 this.sbMainPanel = new IBBoard.Windows.Forms.ColorableStatusBarPanel();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
230 this.sbErrorPanel = new IBBoard.Windows.Forms.ColorableStatusBarPanel();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
231 this.sbPointsPanel = new IBBoard.Windows.Forms.ColorableStatusBarPanel();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
232 this.toolBar = new System.Windows.Forms.ToolBar();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
233 this.bttnNewArmy = new IBBoard.Windows.Forms.IBBToolBarButton();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
234 this.bttnOpenArmy = new IBBoard.Windows.Forms.IBBToolBarButton();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
235 this.bttnSaveArmy = new IBBoard.Windows.Forms.IBBToolBarButton();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
236 this.bttnSep1 = new IBBoard.Windows.Forms.IBBToolBarButton();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
237 this.bttnUndo = new IBBoard.Windows.Forms.IBBToolBarButton();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
238 this.undoMenu = new System.Windows.Forms.ContextMenu();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
239 this.bttnRedo = new IBBoard.Windows.Forms.IBBToolBarButton();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
240 this.redoMenu = new System.Windows.Forms.ContextMenu();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
241 this.buttonIcons = new System.Windows.Forms.ImageList(this.components);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
242 this.mainMenu = new System.Windows.Forms.MainMenu(this.components);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
243 this.menuFile = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
244 this.miNewArmy = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
245 this.miOpenArmy = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
246 this.miSaveArmy = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
247 this.miSaveArmyAs = new IBBoard.Windows.Forms.IBBMenuItem();
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
248 this.miExportArmyAs = new System.Windows.Forms.MenuItem();
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
249 this.miExportArmyAsBasicHTML = new System.Windows.Forms.MenuItem();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
250 this.miCloseArmy = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
251 this.miSep2 = new System.Windows.Forms.MenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
252 this.miReloadFiles = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
253 this.miSep3 = new System.Windows.Forms.MenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
254 this.miExit = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
255 this.menuEdit = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
256 this.miUndo = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
257 this.miRedo = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
258 this.menuHelp = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
259 this.miAbout = new IBBoard.Windows.Forms.IBBMenuItem();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
260 this.openArmyDialog = new System.Windows.Forms.OpenFileDialog();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
261 this.saveArmyDialog = new System.Windows.Forms.SaveFileDialog();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
262 this.pnlRight = new System.Windows.Forms.Panel();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
263 this.statusBarTimer = new System.Windows.Forms.Timer(this.components);
46
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
264 ((System.ComponentModel.ISupportInitialize) (this.sbMainPanel)).BeginInit();
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
265 ((System.ComponentModel.ISupportInitialize) (this.sbErrorPanel)).BeginInit();
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
266 ((System.ComponentModel.ISupportInitialize) (this.sbPointsPanel)).BeginInit();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
267 this.SuspendLayout();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
268 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
269 // statusBar
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
270 //
59
039b02006a8a * Set toolbar style back to "flat" to fix ugly undo/redo buttons
IBBoard <dev@ibboard.co.uk>
parents: 54
diff changeset
271 this.statusBar.Location = new System.Drawing.Point(0, 546);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
272 this.statusBar.Name = "statusBar";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
273 this.statusBar.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
274 this.sbMainPanel,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
275 this.sbErrorPanel,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
276 this.sbPointsPanel});
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
277 this.statusBar.ShowPanels = true;
59
039b02006a8a * Set toolbar style back to "flat" to fix ugly undo/redo buttons
IBBoard <dev@ibboard.co.uk>
parents: 54
diff changeset
278 this.statusBar.Size = new System.Drawing.Size(790, 22);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
279 this.statusBar.TabIndex = 1;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
280 this.statusBar.PanelClick += new System.Windows.Forms.StatusBarPanelClickEventHandler(this.statusBar_PanelClick);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
281 this.statusBar.DrawItem += new System.Windows.Forms.StatusBarDrawItemEventHandler(this.statusBar_DrawItem);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
282 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
283 // sbMainPanel
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
284 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
285 this.sbMainPanel.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
286 this.sbMainPanel.Color = System.Drawing.SystemColors.WindowText;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
287 this.sbMainPanel.Name = "sbMainPanel";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
288 this.sbMainPanel.Style = System.Windows.Forms.StatusBarPanelStyle.OwnerDraw;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
289 this.sbMainPanel.Width = 475;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
290 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
291 // sbErrorPanel
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
292 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
293 this.sbErrorPanel.Color = System.Drawing.SystemColors.WindowText;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
294 this.sbErrorPanel.Name = "sbErrorPanel";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
295 this.sbErrorPanel.Style = System.Windows.Forms.StatusBarPanelStyle.OwnerDraw;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
296 this.sbErrorPanel.Width = 150;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
297 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
298 // sbPointsPanel
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
299 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
300 this.sbPointsPanel.Color = System.Drawing.SystemColors.WindowText;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
301 this.sbPointsPanel.Name = "sbPointsPanel";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
302 this.sbPointsPanel.Style = System.Windows.Forms.StatusBarPanelStyle.OwnerDraw;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
303 this.sbPointsPanel.ToolTipText = "Current Points Total";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
304 this.sbPointsPanel.Width = 150;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
305 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
306 // toolBar
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
307 //
59
039b02006a8a * Set toolbar style back to "flat" to fix ugly undo/redo buttons
IBBoard <dev@ibboard.co.uk>
parents: 54
diff changeset
308 this.toolBar.Appearance = System.Windows.Forms.ToolBarAppearance.Flat;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
309 this.toolBar.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
310 this.bttnNewArmy,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
311 this.bttnOpenArmy,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
312 this.bttnSaveArmy,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
313 this.bttnSep1,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
314 this.bttnUndo,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
315 this.bttnRedo});
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
316 this.toolBar.ButtonSize = new System.Drawing.Size(16, 16);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
317 this.toolBar.DropDownArrows = true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
318 this.toolBar.ImageList = this.buttonIcons;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
319 this.toolBar.Location = new System.Drawing.Point(0, 0);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
320 this.toolBar.Name = "toolBar";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
321 this.toolBar.ShowToolTips = true;
59
039b02006a8a * Set toolbar style back to "flat" to fix ugly undo/redo buttons
IBBoard <dev@ibboard.co.uk>
parents: 54
diff changeset
322 this.toolBar.Size = new System.Drawing.Size(790, 28);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
323 this.toolBar.TabIndex = 2;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
324 this.toolBar.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar_ButtonClick);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
325 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
326 // bttnNewArmy
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
327 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
328 this.bttnNewArmy.ImageIndex = 0;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
329 this.bttnNewArmy.Name = "bttnNewArmy";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
330 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
331 // bttnOpenArmy
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
332 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
333 this.bttnOpenArmy.ImageIndex = 2;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
334 this.bttnOpenArmy.Name = "bttnOpenArmy";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
335 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
336 // bttnSaveArmy
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
337 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
338 this.bttnSaveArmy.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
339 this.bttnSaveArmy.ImageIndex = 1;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
340 this.bttnSaveArmy.Name = "bttnSaveArmy";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
341 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
342 // bttnSep1
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
343 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
344 this.bttnSep1.Name = "";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
345 this.bttnSep1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
346 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
347 // bttnUndo
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
348 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
349 this.bttnUndo.DropDownMenu = this.undoMenu;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
350 this.bttnUndo.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
351 this.bttnUndo.ImageIndex = 3;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
352 this.bttnUndo.Name = "bttnUndo";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
353 this.bttnUndo.Style = System.Windows.Forms.ToolBarButtonStyle.DropDownButton;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
354 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
355 // bttnRedo
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
356 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
357 this.bttnRedo.DropDownMenu = this.redoMenu;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
358 this.bttnRedo.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
359 this.bttnRedo.ImageIndex = 4;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
360 this.bttnRedo.Name = "bttnRedo";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
361 this.bttnRedo.Style = System.Windows.Forms.ToolBarButtonStyle.DropDownButton;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
362 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
363 // buttonIcons
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
364 //
46
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
365 this.buttonIcons.ImageStream = ((System.Windows.Forms.ImageListStreamer) (resources.GetObject("buttonIcons.ImageStream")));
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
366 this.buttonIcons.TransparentColor = System.Drawing.Color.Transparent;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
367 this.buttonIcons.Images.SetKeyName(0, "");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
368 this.buttonIcons.Images.SetKeyName(1, "");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
369 this.buttonIcons.Images.SetKeyName(2, "");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
370 this.buttonIcons.Images.SetKeyName(3, "");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
371 this.buttonIcons.Images.SetKeyName(4, "");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
372 this.buttonIcons.Images.SetKeyName(5, "");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
373 this.buttonIcons.Images.SetKeyName(6, "");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
374 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
375 // mainMenu
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
376 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
377 this.mainMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
378 this.menuFile,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
379 this.menuEdit,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
380 this.menuHelp});
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
381 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
382 // menuFile
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
383 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
384 this.menuFile.Index = 0;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
385 this.menuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
386 this.miNewArmy,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
387 this.miOpenArmy,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
388 this.miSaveArmy,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
389 this.miSaveArmyAs,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
390 this.miExportArmyAs,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
391 this.miCloseArmy,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
392 this.miSep2,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
393 this.miReloadFiles,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
394 this.miSep3,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
395 this.miExit});
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
396 this.menuFile.Text = "&file";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
397 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
398 // miNewArmy
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
399 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
400 this.miNewArmy.Index = 0;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
401 this.miNewArmy.Text = "&new army";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
402 this.miNewArmy.Click += new System.EventHandler(this.miNewArmy_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
403 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
404 // miOpenArmy
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
405 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
406 this.miOpenArmy.Index = 1;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
407 this.miOpenArmy.Text = "&open army";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
408 this.miOpenArmy.Click += new System.EventHandler(this.miOpenArmy_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
409 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
410 // miSaveArmy
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
411 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
412 this.miSaveArmy.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
413 this.miSaveArmy.Index = 2;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
414 this.miSaveArmy.Text = "&save army";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
415 this.miSaveArmy.Click += new System.EventHandler(this.miSaveArmy_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
416 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
417 // miSaveArmyAs
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
418 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
419 this.miSaveArmyAs.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
420 this.miSaveArmyAs.Index = 3;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
421 this.miSaveArmyAs.Text = "save army &as...";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
422 this.miSaveArmyAs.Click += new System.EventHandler(this.miSaveArmyAs_Click);
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
423 //
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
424 // miExportArmyAs
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
425 //
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
426 this.miExportArmyAs.Enabled = false;
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
427 this.miExportArmyAs.Index = 4;
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
428 this.miExportArmyAs.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
429 this.miExportArmyAsBasicHTML});
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
430 this.miExportArmyAs.Text = "export army as...";
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
431 //
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
432 // miExportArmyAsBasicHTML
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
433 //
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
434 this.miExportArmyAsBasicHTML.Index = 0;
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
435 this.miExportArmyAsBasicHTML.Text = "Basic HTML";
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
436 this.miExportArmyAsBasicHTML.Click += new System.EventHandler(this.miExportArmyAsBasicHTML_Click);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
437 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
438 // miCloseArmy
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
439 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
440 this.miCloseArmy.Enabled = false;
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
441 this.miCloseArmy.Index = 5;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
442 this.miCloseArmy.Text = "&close army";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
443 this.miCloseArmy.Click += new System.EventHandler(this.miCloseArmy_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
444 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
445 // miSep2
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
446 //
54
d6ff354a5d84 Re #166: Move game system changing to part of army creation
IBBoard <dev@ibboard.co.uk>
parents: 49
diff changeset
447 this.miSep2.Index = 6;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
448 this.miSep2.Text = "-";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
449 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
450 // miReloadFiles
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
451 //
54
d6ff354a5d84 Re #166: Move game system changing to part of army creation
IBBoard <dev@ibboard.co.uk>
parents: 49
diff changeset
452 this.miReloadFiles.Index = 7;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
453 this.miReloadFiles.Text = "&reload files";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
454 this.miReloadFiles.Click += new System.EventHandler(this.miReloadFiles_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
455 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
456 // miSep3
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
457 //
54
d6ff354a5d84 Re #166: Move game system changing to part of army creation
IBBoard <dev@ibboard.co.uk>
parents: 49
diff changeset
458 this.miSep3.Index = 8;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
459 this.miSep3.Text = "-";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
460 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
461 // miExit
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
462 //
54
d6ff354a5d84 Re #166: Move game system changing to part of army creation
IBBoard <dev@ibboard.co.uk>
parents: 49
diff changeset
463 this.miExit.Index = 9;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
464 this.miExit.Text = "e&xit";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
465 this.miExit.Click += new System.EventHandler(this.miExit_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
466 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
467 // menuEdit
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
468 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
469 this.menuEdit.Index = 1;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
470 this.menuEdit.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
471 this.miUndo,
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
472 this.miRedo});
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
473 this.menuEdit.Text = "&edit";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
474 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
475 // miUndo
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
476 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
477 this.miUndo.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
478 this.miUndo.Index = 0;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
479 this.miUndo.Text = "&undo";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
480 this.miUndo.Click += new System.EventHandler(this.miUndo_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
481 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
482 // miRedo
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
483 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
484 this.miRedo.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
485 this.miRedo.Index = 1;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
486 this.miRedo.Text = "&redo";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
487 this.miRedo.Click += new System.EventHandler(this.miRedo_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
488 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
489 // menuHelp
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
490 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
491 this.menuHelp.Index = 2;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
492 this.menuHelp.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
46
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
493 this.miAbout});
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
494 this.menuHelp.Text = "&help";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
495 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
496 // miAbout
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
497 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
498 this.miAbout.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
499 this.miAbout.Index = 0;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
500 this.miAbout.Text = "&about";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
501 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
502 // saveArmyDialog
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
503 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
504 this.saveArmyDialog.Title = "Translatable:saveArmyDialog";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
505 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
506 // pnlRight
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
507 //
46
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
508 this.pnlRight.Anchor = ((System.Windows.Forms.AnchorStyles) (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
509 | System.Windows.Forms.AnchorStyles.Right)));
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
510 this.pnlRight.BackColor = System.Drawing.SystemColors.AppWorkspace;
59
039b02006a8a * Set toolbar style back to "flat" to fix ugly undo/redo buttons
IBBoard <dev@ibboard.co.uk>
parents: 54
diff changeset
511 this.pnlRight.Location = new System.Drawing.Point(724, 30);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
512 this.pnlRight.Name = "pnlRight";
59
039b02006a8a * Set toolbar style back to "flat" to fix ugly undo/redo buttons
IBBoard <dev@ibboard.co.uk>
parents: 54
diff changeset
513 this.pnlRight.Size = new System.Drawing.Size(64, 514);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
514 this.pnlRight.TabIndex = 4;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
515 this.pnlRight.Visible = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
516 this.pnlRight.Paint += new System.Windows.Forms.PaintEventHandler(this.pnlRight_Paint);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
517 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
518 // statusBarTimer
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
519 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
520 this.statusBarTimer.Interval = 5000;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
521 this.statusBarTimer.Tick += new System.EventHandler(this.statusBarTimer_Tick);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
522 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
523 // FrmMain
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
524 //
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
525 this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
59
039b02006a8a * Set toolbar style back to "flat" to fix ugly undo/redo buttons
IBBoard <dev@ibboard.co.uk>
parents: 54
diff changeset
526 this.ClientSize = new System.Drawing.Size(790, 568);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
527 this.Controls.Add(this.pnlRight);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
528 this.Controls.Add(this.toolBar);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
529 this.Controls.Add(this.statusBar);
46
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
530 this.Icon = ((System.Drawing.Icon) (resources.GetObject("$this.Icon")));
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
531 this.IsMdiContainer = true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
532 this.Menu = this.mainMenu;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
533 this.Name = "FrmMain";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
534 this.Text = "WarFoundry";
46
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
535 ((System.ComponentModel.ISupportInitialize) (this.sbMainPanel)).EndInit();
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
536 ((System.ComponentModel.ISupportInitialize) (this.sbErrorPanel)).EndInit();
1576f669b3eb Fixes #137: Remove use of old collections
IBBoard <dev@ibboard.co.uk>
parents: 40
diff changeset
537 ((System.ComponentModel.ISupportInitialize) (this.sbPointsPanel)).EndInit();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
538 this.ResumeLayout(false);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
539 this.PerformLayout();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
540
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
541 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
542 #endregion
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
543
63
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
544 private void FileLoadingFinished(List<FileLoadFailure> failures)
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
545 {
63
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
546 foreach (FileLoadFailure failure in failures)
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
547 {
63
4db2c1086a85 Re #173: Add WinForms UI for showing debugging messages
IBBoard <dev@ibboard.co.uk>
parents: 62
diff changeset
548 logger.Warn("Failed to load " + failure.FailedFile.FullName + ": " + failure.Message);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
549 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
550 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
551
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
552 private void miExit_Click(object sender, System.EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
553 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
554 Application.Exit();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
555 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
556
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
557 private void miNewArmy_Click(object sender, System.EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
558 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
559 CreateNewArmy();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
560 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
561
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
562 private void CreateNewArmy()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
563 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
564 if (CloseCurrentArmy())
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
565 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
566 FrmNewArmy newArmy = new FrmNewArmy(CurrentGameSystem);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
567 DialogResult dr = newArmy.ShowDialog();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
568
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
569 if (dr == DialogResult.OK)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
570 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
571 CurrentArmy = new Army(newArmy.SelectedRace, newArmy.ArmyName, newArmy.ArmySize);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
572 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
573 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
574 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
575
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
576 private bool OpenArmy()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
577 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
578 if (CloseCurrentArmy())
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
579 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
580 if (openArmyDialog.Filter=="")
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
581 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
582 string savePath = ArmiesPath;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
583
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
584 if (!Directory.Exists(savePath))
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
585 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
586 Directory.CreateDirectory(savePath);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
587 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
588
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
589 openArmyDialog.InitialDirectory = savePath;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
590 openArmyDialog.Filter = Translation.GetTranslation("armyFileFilter")+"|*.army";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
591 openArmyDialog.Title = Translation.GetTranslation("openArmyDialog");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
592
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
593 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
594
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
595 DialogResult dr = openArmyDialog.ShowDialog(this);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
596
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
597 if (dr == DialogResult.OK)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
598 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
599 try
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
600 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
601 string newFilePath = openArmyDialog.FileName;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
602 CurrentArmy = WarFoundryLoader.GetDefault().LoadArmy(new FileInfo(newFilePath));
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
603 loadedFilePath = newFilePath;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
604 return true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
605 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
606 catch (InvalidFileException ex)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
607 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
608 logger.Error(ex);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
609 MessageBox.Show(this, ex.Message, Translation.GetTranslation("InvalidFileBoxTitle", "Invalid data file"), MessageBoxButtons.OK, MessageBoxIcon.Error);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
610 return false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
611 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
612 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
613 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
614 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
615 return false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
616 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
617 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
618 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
619 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
620 return false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
621 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
622 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
623
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
624 private bool CloseCurrentArmy()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
625 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
626 if (CurrentArmy!=null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
627 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
628 bool canClose = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
629
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
630 if (CommandStack.IsDirty())
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
631 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
632 DialogResult dr = MessageBox.Show(this, "The army \""+CurrentArmy.Name+"\" has been modified.\r\nSave changes before closing army?", "Unsaved changes", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button3);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
633
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
634 if (dr == DialogResult.Yes)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
635 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
636 canClose = SaveCurrentArmy();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
637 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
638 else if (dr == DialogResult.No)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
639 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
640 canClose = true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
641 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
642 //else they said cancel and we default to "canClose = false" so do nothing
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
643 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
644 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
645 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
646 canClose = true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
647 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
648
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
649 if (canClose)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
650 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
651 //do close
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
652 DisableCategoryButtons();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
653 CurrentArmy = null;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
654 return true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
655 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
656 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
657 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
658 return false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
659 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
660 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
661 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
662 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
663 DisableCategoryButtons();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
664 //pretend we succeeded
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
665 return true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
666 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
667 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
668
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
669 private void UndoLastAction()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
670 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
671 if (commandStack.CanUndo())
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
672 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
673 commandStack.Undo();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
674 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
675 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
676
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
677 private void RedoAction()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
678 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
679 if (commandStack.CanRedo())
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
680 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
681 commandStack.Redo();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
682 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
683 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
684
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
685 private bool SaveCurrentArmy()
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
686 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
687 bool saved = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
688
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
689 string filePath = loadedFilePath;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
690
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
691 if (filePath == null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
692 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
693 filePath = PromptForArmyFilePath();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
694 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
695
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
696 if (filePath != null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
697 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
698 saved = SaveCurrentArmyToFile(filePath);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
699 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
700
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
701 return saved;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
702 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
703
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
704 private bool SaveCurrentArmyAs()
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
705 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
706 bool saved = false;
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
707 string filePath = PromptForArmyFilePath();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
708
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
709 if (filePath != null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
710 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
711 saved = SaveCurrentArmyToFile(filePath);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
712 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
713
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
714 return saved;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
715 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
716
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
717 private bool SaveCurrentArmyToFile(string filePath)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
718 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
719 if (WarFoundrySaver.GetSaver().Save(CurrentArmy, filePath))
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
720 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
721 loadedFilePath = filePath;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
722 miSaveArmy.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
723 bttnSaveArmy.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
724 CommandStack.setCleanMark();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
725 return true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
726 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
727 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
728 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
729 MessageBox.Show(this, Translation.GetTranslation("SaveFailed"), Translation.GetTranslation("SaveFailedTitle"), MessageBoxButtons.OK, MessageBoxIcon.Error);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
730 return false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
731 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
732 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
733
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
734 private string PromptForArmyFilePath()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
735 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
736 if (saveArmyDialog.Filter == "")
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
737 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
738 string savePath = ArmiesPath;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
739
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
740 if (!Directory.Exists(savePath))
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
741 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
742 Directory.CreateDirectory(savePath);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
743 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
744
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
745 saveArmyDialog.InitialDirectory = savePath;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
746 saveArmyDialog.Filter = Translation.GetTranslation("armyFileFilter")+"|*.army";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
747 saveArmyDialog.Title = Translation.GetTranslation("saveArmyDialog");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
748 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
749
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
750 DialogResult dr = saveArmyDialog.ShowDialog(this);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
751
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
752 if (dr == DialogResult.OK)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
753 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
754 return saveArmyDialog.FileName;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
755 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
756 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
757 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
758 return null;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
759 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
760 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
761
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
762 private void toolBar_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
763 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
764 if (e.Button == bttnUndo)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
765 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
766 UndoLastAction();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
767 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
768 else if (e.Button == bttnRedo)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
769 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
770 RedoAction();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
771 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
772 else if (e.Button == bttnNewArmy)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
773 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
774 CreateNewArmy();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
775 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
776 else if (e.Button == bttnOpenArmy)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
777 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
778 OpenArmy();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
779 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
780 else if (e.Button == bttnSaveArmy)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
781 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
782 SaveCurrentArmy();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
783 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
784 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
785 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
786 //it must be one of our extra buttons for the categories
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
787 AddUnitFromCategory((Category)e.Button.Tag);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
788 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
789 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
790
54
d6ff354a5d84 Re #166: Move game system changing to part of army creation
IBBoard <dev@ibboard.co.uk>
parents: 49
diff changeset
791 public static GameSystem CurrentGameSystem
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
792 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
793 get { return WarFoundryCore.CurrentGameSystem; }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
794 set { WarFoundryCore.CurrentGameSystem = value; }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
795 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
796
54
d6ff354a5d84 Re #166: Move game system changing to part of army creation
IBBoard <dev@ibboard.co.uk>
parents: 49
diff changeset
797 public static Army CurrentArmy
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
798 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
799 get { return WarFoundryCore.CurrentArmy; }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
800 set { WarFoundryCore.CurrentArmy = value; }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
801 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
802
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
803 private void FrmMain_GameSystemChanged(GameSystem oldSystem, GameSystem newSystem)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
804 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
805 SetAppTitle();
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
806 RemoveCategoryButtons();
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
807 AddCategoryButtons();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
808 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
809
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
810 private void FrmMain_ArmyChanged(Army oldArmy, Army newArmy)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
811 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
812 SetAppTitle();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
813
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
814 if (oldArmy != null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
815 {
61
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
816 oldArmy.UnitAdded -= UnitAddedMethod;
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
817 oldArmy.UnitRemoved -= UnitRemovedMethod;
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
818 oldArmy.PointsValueChanged -= PointsValueChangedMethod;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
819 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
820
61
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
821 FrmUnit[] unitForms = DictionaryUtils.ToArray(unitWindows);
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
822
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
823 foreach (FrmUnit window in unitForms)
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
824 {
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
825 window.Close();
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
826 }
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
827
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
828 unitWindows.Clear();
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
829
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
830 if (CurrentArmy==null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
831 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
832 miSaveArmyAs.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
833 miCloseArmy.Enabled = false;
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
834 miExportArmyAs.Enabled = false;
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
835 DisableCategoryButtons();
49
93b3d23147ba Fixes #160: Army tree is visible when no army is available
IBBoard <dev@ibboard.co.uk>
parents: 46
diff changeset
836 armyTree.Hide();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
837 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
838 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
839 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
840 newArmy.UnitAdded += UnitAddedMethod;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
841 newArmy.UnitRemoved += UnitRemovedMethod;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
842 newArmy.PointsValueChanged += PointsValueChangedMethod;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
843 //TODO: Clear all buttons
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
844 miSaveArmyAs.Enabled = true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
845 miCloseArmy.Enabled = true;
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
846 miExportArmyAs.Enabled = true;
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
847 EnableCategoryButtons();
49
93b3d23147ba Fixes #160: Army tree is visible when no army is available
IBBoard <dev@ibboard.co.uk>
parents: 46
diff changeset
848 armyTree.Show();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
849
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
850 if (newArmy.Race.HasCategoryOverrides())
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
851 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
852 RemoveCategoryButtons();
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
853 AddCategoryButtons(newArmy.Race.Categories);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
854 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
855 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
856
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
857 CommandStack.Reset();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
858
65
c4181adba7df Re #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 63
diff changeset
859 loadedFilePath = null;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
860 miSaveArmy.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
861 bttnSaveArmy.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
862
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
863 SetPointsPanelText();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
864 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
865
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
866 private void AddCategoryButtons()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
867 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
868 if (CurrentGameSystem!=null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
869 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
870 AddCategoryButtons(CurrentGameSystem.Categories);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
871 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
872 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
873
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
874 private void AddCategoryButtons(Category[] cats)
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
875 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
876 int catCount = cats.Length;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
877 Category cat;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
878 categoryButtons = new ToolBarButton[catCount+1];
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
879
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
880 ToolBarButton sep = new ToolBarButton();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
881 sep.Style = ToolBarButtonStyle.Separator;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
882 categoryButtons[0] = sep;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
883
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
884 IBBToolBarButton button;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
885
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
886 for (int i = 0; i<catCount; i++)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
887 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
888 cat = cats[i];
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
889 button = new IBBToolBarButton();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
890 ///button.Name = "bttnAddCategory" + cat.Name[0].ToString();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
891 button.Text = cat.Name.ToString();//String.Format(Translation.GetTranslation("bttnAddCategory"), cat.Name);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
892 button.Tag = cat;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
893 button.ImageIndex = 6;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
894 button.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
895 categoryButtons[i+1] = button;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
896 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
897
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
898 this.Invoke(new ToolBarButtonRangeDelegate(toolBar.Buttons.AddRange), new object[]{categoryButtons});
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
899 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
900
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
901 private void RemoveCategoryButtons()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
902 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
903 if (categoryButtons!=null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
904 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
905 for (int i = 0; i<categoryButtons.Length; i++)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
906 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
907 this.Invoke(new ToolBarButtonDelegate(toolBar.Buttons.Remove), new object[]{categoryButtons[i]});
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
908 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
909 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
910 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
911
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
912 private void EnableCategoryButtons()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
913 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
914 SetCategoryButtonState(true);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
915 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
916
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
917 private void DisableCategoryButtons()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
918 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
919 SetCategoryButtonState(false);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
920 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
921
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
922 private void SetCategoryButtonState(bool state)
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
923 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
924 if (categoryButtons!=null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
925 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
926 for (int i = 0; i<categoryButtons.Length; i++)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
927 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
928 categoryButtons[i].Enabled = state;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
929 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
930 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
931 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
932
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
933 private void miSaveArmyAs_Click(object sender, System.EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
934 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
935 SaveCurrentArmyAs();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
936 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
937
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
938 private void commandStack_CommandStackUpdated()
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
939 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
940 bttnUndo.Enabled = commandStack.CanUndo();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
941 miUndo.Enabled = bttnUndo.Enabled;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
942 bttnRedo.Enabled = commandStack.CanRedo();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
943 miRedo.Enabled = bttnRedo.Enabled;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
944 MenuItem[] menuItems = null;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
945 int redoLength = commandStack.RedoLength;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
946 int maxRedo = Math.Min(10, redoLength);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
947
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
948 if (redoLength > 0)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
949 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
950 menuItems = new MenuItem[maxRedo];
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
951 Command com;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
952 MenuItem mi;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
953
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
954 for (int i = 0; i < maxRedo; i++)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
955 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
956 com = commandStack.PeekRedoCommand(i+1);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
957
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
958 if (com == null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
959 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
960 break;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
961 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
962
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
963 mi = new MenuItem(com.Description);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
964 mi.Click+=new EventHandler(redoMenu_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
965 menuItems[i] = mi;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
966 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
967 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
968
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
969 redoMenu.MenuItems.Clear();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
970
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
971 if (menuItems!=null && menuItems[0]!=null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
972 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
973 bttnRedo.ToolTipText = menuItems[0].Text;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
974 redoMenu.MenuItems.AddRange(menuItems);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
975 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
976
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
977 int undoLength = commandStack.UndoLength;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
978 int maxUndo = Math.Min(10, undoLength);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
979 MenuItem[] menuItemsUndo = null;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
980
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
981 if (undoLength > 0)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
982 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
983 menuItemsUndo = new MenuItem[maxUndo];
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
984 Command com;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
985 MenuItem mi;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
986
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
987 for (int i = 0; i < maxUndo; i++)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
988 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
989 com = commandStack.PeekUndoCommand(i+1);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
990
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
991 if (com == null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
992 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
993 break;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
994 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
995
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
996 mi = new MenuItem(com.UndoDescription);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
997 mi.Click+=new EventHandler(undoMenu_Click);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
998 menuItemsUndo[i] = mi;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
999 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1000 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1001
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1002 undoMenu.MenuItems.Clear();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1003
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1004 if (menuItemsUndo!=null && menuItemsUndo[0]!=null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1005 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1006 bttnUndo.ToolTipText = menuItemsUndo[0].Text;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1007 undoMenu.MenuItems.AddRange(menuItemsUndo);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1008 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1009
66
68d4f7499212 Re #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 65
diff changeset
1010 bttnSaveArmy.Enabled = commandStack.IsDirty() && CurrentArmy!=null;
68d4f7499212 Re #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 65
diff changeset
1011 miSaveArmy.Enabled = commandStack.IsDirty() && CurrentArmy!=null;
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1012 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1013
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1014 private void miSaveArmy_Click(object sender, System.EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1015 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1016 SaveCurrentArmy();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1017 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1018
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1019 private void SetAppTitle()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1020 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1021 string str = AppTitle;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1022
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1023 if (CurrentGameSystem!=null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1024 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1025 str+= " - "+CurrentGameSystem.Name;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1026 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1027
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1028 if (CurrentArmy!=null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1029 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1030 str+= " - "+CurrentArmy.Name;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1031 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1032
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1033 this.Text = str;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1034 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1035
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1036 private void AddUnitFromCategory(Category cat)
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1037 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1038 FrmNewUnit newUnit = new FrmNewUnit(CurrentArmy.Race, cat, CurrentArmy);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1039 DialogResult dr = newUnit.ShowDialog(this);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1040
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1041 if (dr == DialogResult.OK)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1042 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1043 CreateAndAddUnitCommand cmd = new CreateAndAddUnitCommand(newUnit.SelectedUnit, CurrentArmy.GetCategory(cat));
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1044 commandStack.Execute(cmd);
61
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1045 OpenUnitDialog(cmd.Unit);
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1046 }
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1047 }
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1048
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1049 internal void OpenUnitDialog(Unit unit)
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1050 {
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1051 string unitID = unit.ID;
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1052
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1053 if (unitWindows.ContainsKey(unitID))
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1054 {
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1055 unitWindows[unitID].Focus();
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1056 }
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1057 else
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1058 {
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1059 FrmUnit unitForm = new FrmUnit(unit, commandStack);
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1060 unitWindows.Add(unitID, unitForm);
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1061 unitForm.MdiParent = this;
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1062 unitForm.Closing += new CancelEventHandler(unitForm_Closing);
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1063 unitForm.Show();
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1064 }
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1065 }
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1066
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1067 private void unitForm_Closing(object sender, CancelEventArgs e)
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1068 {
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1069 if (sender is FrmUnit)
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1070 {
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1071 FrmUnit unitForm = (FrmUnit) sender;
a0ec03c24cd9 Fixes #171: Open unit form when unit is created
IBBoard <dev@ibboard.co.uk>
parents: 59
diff changeset
1072 unitWindows.Remove(unitForm.Unit.ID);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1073 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1074 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1075
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1076 private void FrmMain_UnitAddedMethod(object unitObj)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1077 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1078 if (unitObj is Unit)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1079 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1080 Unit unit = (Unit)unitObj;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1081 sbErrorPanel.Text = "";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1082 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1083 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1084
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1085 private void FrmMain_UnitRemovedMethod(object unitObj)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1086 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1087 if (unitObj is Unit)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1088 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1089 Unit unit = (Unit)unitObj;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1090 sbErrorPanel.Text = "";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1091
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1092 //check if window is open, and close it if it is
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1093 foreach (Form frm in this.MdiChildren)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1094 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1095 if (frm is FrmUnit)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1096 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1097 if (((FrmUnit)frm).Unit == unit)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1098 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1099 frm.Close();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1100 break;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1101 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1102 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1103 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1104 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1105 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1106
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1107 /*private void FrmMain_FailedUnitRequirement(FailedUnitRequirement failedRequirement)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1108 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1109 sbErrorPanel.Text = Translation.GetTranslation("UnitRequirementFailed", "Unit Requirement Failed");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1110 sbErrorPanel.Tag = failedRequirement.Description;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1111 }*/
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1112
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1113 /*public void MdiChildMoved()
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1114 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1115 Point mouseAt = PointToClient(ActiveMdiChild.Location);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1116
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1117 if (Comparisons.ValueWithinAmount(pnlRight.Right, ActiveMdiChild.Right, 10))
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1118 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1119 pnlRight.Visible = true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1120 //pnlRight.Container.Add(ActiveMdiChild);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1121 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1122 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1123 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1124 pnlRight.Visible = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1125 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1126 }*/
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1127
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1128 public void pnlRight_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1129 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1130 HatchBrush dockCueBrush = new HatchBrush(HatchStyle.LightDownwardDiagonal, Color.White, Color.Gray);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1131 Pen dockCuePen = new Pen(dockCueBrush, 10);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1132 e.Graphics.DrawRectangle(dockCuePen, new Rectangle(pnlRight.Left, pnlRight.Top, pnlRight.Width, pnlRight.Height));
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1133 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1134
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1135 private void miUndo_Click(object sender, System.EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1136 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1137 UndoLastAction();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1138 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1139
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1140 private void miRedo_Click(object sender, System.EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1141 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1142 RedoAction();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1143 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1144
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1145 private void miCloseArmy_Click(object sender, EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1146 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1147 CloseCurrentArmy();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1148 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1149
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1150 private void miOpenArmy_Click(object sender, EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1151 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1152 OpenArmy();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1153 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1154
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1155 private void FrmMain_PointsValueChangedMethod(WarFoundryObject obj, double oldVal, double newVal)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1156 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1157 if (obj is Army)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1158 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1159 SetPointsPanelText();
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1160 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1161 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1162
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1163 private void SetPointsPanelText()
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1164 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1165 if (CurrentArmy==null)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1166 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1167 sbPointsPanel.Text = "";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1168 sbPointsPanel.ResetColor();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1169 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1170 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1171 {
62
0e7c257ca8d6 Fixes #164: Show unit cost in army tree
IBBoard <dev@ibboard.co.uk>
parents: 61
diff changeset
1172 sbPointsPanel.Text = String.Format(Translation.GetTranslation("statusPanelPoints"), CurrentArmy.Points, CurrentArmy.MaxPoints);
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1173
62
0e7c257ca8d6 Fixes #164: Show unit cost in army tree
IBBoard <dev@ibboard.co.uk>
parents: 61
diff changeset
1174 if (CurrentArmy.Points>CurrentArmy.MaxPoints)
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1175 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1176 sbPointsPanel.Color = Color.Red;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1177 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1178 else
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1179 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1180 sbPointsPanel.ResetColor();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1181 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1182 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1183 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1184
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1185 private void redoMenu_Click(object sender, EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1186 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1187 if (sender is MenuItem)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1188 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1189 MenuItem mi = (MenuItem)sender;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1190
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1191 if (mi.Parent == redoMenu)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1192 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1193 //we know it's an redo menu item so find it's index and redo everything
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1194 int max = mi.Index;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1195
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1196 for (int i = 0; i <= max; i++)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1197 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1198 commandStack.Redo();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1199 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1200 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1201 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1202 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1203
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1204 private void undoMenu_Click(object sender, EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1205 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1206 if (sender is MenuItem)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1207 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1208 MenuItem mi = (MenuItem)sender;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1209
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1210 if (mi.Parent == undoMenu)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1211 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1212 //we know it's an undo menu item so find it's index and undo everything
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1213 int max = mi.Index;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1214 for (int i = 0; i <= max; i++)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1215 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1216 commandStack.Undo();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1217 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1218 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1219 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1220 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1221
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1222 private void statusBar_DrawItem(object sender, System.Windows.Forms.StatusBarDrawItemEventArgs sbdevent)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1223 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1224 statusBar.ColorableStatusBarDrawItem(sender, sbdevent);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1225 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1226
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1227 private void FrmMain_Closing(object sender, CancelEventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1228 {
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1229 if (!CloseCurrentArmy())
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1230 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1231 e.Cancel = true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1232 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1233 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1234
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1235 private void miReloadFiles_Click(object sender, System.EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1236 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1237 WarFoundryLoader.GetDefault().LoadFiles();
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1238 sbMainPanel.Text = Translation.GetTranslation("GameSystemFilesReloaded", "Game system and race files reloaded");
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1239 statusBarTimer.Enabled = true;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1240 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1241
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1242 private void statusBarTimer_Tick(object sender, System.EventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1243 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1244 sbMainPanel.Text = "";
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1245 statusBarTimer.Enabled = false;
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1246 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1247
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1248 private void statusBar_PanelClick(object sender, StatusBarPanelClickEventArgs e)
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1249 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1250 if (e.StatusBarPanel == sbErrorPanel && sbErrorPanel.Text!="")
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1251 {
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1252 MessageBox.Show(this, sbErrorPanel.TagString, Translation.GetTranslation("FailedRequirementMessage"), MessageBoxButtons.OK, MessageBoxIcon.Warning);
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1253 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1254 }
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1255
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1256 private void miExportArmyAsBasicHTML_Click(object sender, EventArgs e)
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1257 {
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1258 SaveFileDialog dialog = new SaveFileDialog();
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1259 dialog.Filter = Translation.GetTranslation("armyExportBasicHtmlFilter", "HTML pages") + "|*.html";
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1260 dialog.Title = Translation.GetTranslation("exportArmyDialog", "Export army");
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1261
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1262 DialogResult dr = dialog.ShowDialog(this);
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1263
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1264 if (dr == DialogResult.OK)
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1265 {
54
d6ff354a5d84 Re #166: Move game system changing to part of army creation
IBBoard <dev@ibboard.co.uk>
parents: 49
diff changeset
1266 Army army = CurrentArmy;
39
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1267 string filePath = dialog.FileName;
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1268 logger.DebugFormat("Exporting {0} to {1} as basic HTML", army.Name, filePath);
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1269 WarFoundryHtmlExporter.GetDefault().ExportArmy(army, filePath);
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1270 }
25dfeb1db285 Close #70: Add export to WinForms
IBBoard <dev@ibboard.co.uk>
parents: 38
diff changeset
1271 }
38
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1272 }
a9c1e60d0e4d Fixes #134: Add/enable save and open in WinForms
IBBoard <dev@ibboard.co.uk>
parents: 36
diff changeset
1273 }