Mercurial > repos > WarFoundryForge
annotate FrmMain.cs @ 12:6284c091b132
Merge local with IBBoard
author | Tsudico |
---|---|
date | Fri, 17 Dec 2010 22:14:43 -0600 |
parents | b42ba80ec613 |
children |
rev | line source |
---|---|
0 | 1 // This file (FrmMain.cs) is a part of the IBBoard.WarFoundry.Forge.WinForms project and is copyright 2007, 2008, 2009 IBBoard. |
2 // | |
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. | |
4 | |
5 using System; | |
6 using System.Collections.Generic; | |
7 using System.Drawing; | |
8 using System.Drawing.Drawing2D; | |
9 using System.ComponentModel; | |
10 using System.Windows.Forms; | |
11 using System.Data; | |
12 using System.IO; | |
13 using System.Threading; | |
14 using log4net; | |
15 using log4net.Config; | |
16 using IBBoard; | |
17 using IBBoard.CustomMath; | |
18 using IBBoard.Commands; | |
19 using IBBoard.IO; | |
20 using IBBoard.Lang; | |
21 using IBBoard.Windows.Forms; | |
22 using IBBoard.Windows.Forms.I18N; | |
23 using IBBoard.Xml; | |
24 using IBBoard.WarFoundry.API; | |
25 using IBBoard.WarFoundry.API.Commands; | |
26 using IBBoard.WarFoundry.API.Exporters; | |
27 using IBBoard.WarFoundry.API.Objects; | |
28 using IBBoard.WarFoundry.API.Savers; | |
29 using IBBoard.WarFoundry.API.Factories; | |
30 using IBBoard.WarFoundry.API.Factories.Xml; | |
31 | |
32 namespace IBBoard.WarFoundry.Forge.WinForms | |
33 { | |
34 /// <summary> | |
35 /// Summary description for Form1. | |
36 /// </summary> | |
37 public class FrmMain : System.Windows.Forms.Form | |
38 { | |
39 private static readonly string AppTitle = "WarFoundry Forge"; | |
40 internal static readonly string VERSION = "0.0.2"; | |
41 const string DefaultDataDir = "data"; | |
42 private Preferences preferences; | |
43 private readonly ILog log = LogManager.GetLogger(typeof(FrmMain)); | |
44 private CommandStack commandStack; | |
45 private string loadedFilePath; | |
46 | |
47 // Form contents | |
48 private System.ComponentModel.IContainer components; | |
49 private System.Windows.Forms.MainMenu mainMenu; | |
50 private MenuStrip menuStrip; | |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
51 private System.Windows.Forms.OpenFileDialog openFile; |
0 | 52 // File Menu and Contents |
53 private IBBToolStripMenuItem menuFile; | |
54 private IBBToolStripMenuItem menuNew; | |
55 private IBBToolStripMenuItem miNewSystem; | |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
56 private IBBToolStripMenuItem menuOpen; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
57 private IBBToolStripMenuItem miOpenSystem; |
0 | 58 private ToolStripSeparator toolStripSeparator2; |
59 private IBBToolStripMenuItem miExit; | |
60 // About Menu and Contents | |
61 private IBBToolStripMenuItem menuHelp; | |
62 private IBBToolStripMenuItem miAbout; | |
63 | |
64 /// <summary> | |
65 /// The main entry point for the application. | |
66 /// </summary> | |
67 [STAThread] | |
68 static void Main(string[] args) | |
69 { | |
70 try | |
71 { | |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
72 XmlConfigurator.Configure(new System.IO.FileInfo("WarFoundryForge.exe.log4net")); |
0 | 73 LogManager.GetLogger(typeof(FrmMain)).Info("Starting WarFoundry Forge WinForms"); |
74 Application.EnableVisualStyles(); | |
75 Application.Run(new FrmMain(args)); | |
76 LogManager.GetLogger(typeof(FrmMain)).Info("Closing WarFoundry Forge WinForms"); | |
77 } | |
78 catch (Exception ex) | |
79 { | |
80 LogManager.GetLogger(typeof(FrmMain)).Fatal(ex); | |
81 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); | |
82 } | |
83 } | |
84 | |
85 public FrmMain(string[] args) | |
86 { | |
87 this.Closing += new CancelEventHandler(FrmMain_Closing); | |
88 | |
89 InitializeComponent(); | |
90 | |
91 Preferences = new Preferences("WarFoundryForge"); | |
92 try | |
93 { | |
94 Translation.InitialiseTranslations(Constants.ExecutablePath, Preferences["language"].ToString()); | |
95 } | |
96 catch (TranslationLoadException ex) | |
97 { | |
98 log.Error("Translation loading failed for language " + Preferences["language"].ToString(), ex); | |
99 MessageBox.Show(this, "Translation loading failed for language " + Preferences["language"].ToString(), "Translation failure", MessageBoxButtons.OK, MessageBoxIcon.Error); | |
100 } | |
101 | |
102 Translation.TranslationChanged += new MethodInvoker(TranslationChanged); | |
103 | |
104 TranslateControls(); | |
105 | |
106 // hack to load default files | |
107 WarFoundryLoader.GetDefault().AddLoadDirectory(new DirectoryInfo(Constants.ExecutablePath + Constants.DirectoryString + DefaultDataDir)); | |
108 WarFoundryLoader.GetDefault().RegisterFactory(WarFoundryXmlFactory.GetFactory()); | |
109 WarFoundryLoader.GetDefault().FileLoadingFinished += FileLoadingFinished; | |
110 WarFoundrySaver.SetFileSaver(new WarFoundryXmlSaver()); | |
111 } | |
112 | |
113 private void TranslateControls() | |
114 { | |
115 ControlTranslator.TranslateControls(Controls); | |
116 ControlTranslator.TranslateComponents(components.Components); | |
117 } | |
118 | |
119 void TranslationChanged() | |
120 { | |
121 TranslateControls(); | |
122 } | |
123 | |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
124 public GameSystem CurrentGameSystem |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
125 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
126 get { return WarFoundryCore.CurrentGameSystem; } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
127 set { WarFoundryCore.CurrentGameSystem = value; } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
128 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
129 |
0 | 130 public static string DataPath |
131 { | |
132 get { return Constants.ExecutablePath + Constants.DirectoryChar + "data"; } | |
133 } | |
134 | |
135 public Preferences Preferences | |
136 { | |
137 get { return preferences; } | |
138 set { preferences = value; } | |
139 } | |
140 | |
141 public CommandStack CommandStack | |
142 { | |
143 get | |
144 { | |
145 if (commandStack == null) | |
146 { | |
147 commandStack = new CommandStack(); | |
148 } | |
149 | |
150 return commandStack; | |
151 } | |
152 } | |
153 | |
154 /// <summary> | |
155 /// Clean up any resources being used. | |
156 /// </summary> | |
157 protected override void Dispose(bool disposing) | |
158 { | |
159 if (disposing) | |
160 { | |
161 if (components != null) | |
162 { | |
163 components.Dispose(); | |
164 } | |
165 } | |
166 base.Dispose(disposing); | |
167 } | |
168 | |
169 #region Windows Form Designer generated code | |
170 /// <summary> | |
171 /// Required method for Designer support - do not modify | |
172 /// the contents of this method with the code editor. | |
173 /// </summary> | |
174 private void InitializeComponent() | |
175 { | |
176 this.components = new System.ComponentModel.Container(); | |
177 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain)); | |
178 this.mainMenu = new System.Windows.Forms.MainMenu(this.components); | |
179 this.menuStrip = new System.Windows.Forms.MenuStrip(); | |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
180 this.openFile = new System.Windows.Forms.OpenFileDialog(); |
0 | 181 // File Menu and Contents |
182 this.menuFile = new IBBoard.Windows.Forms.IBBToolStripMenuItem(); | |
183 this.menuNew = new IBBoard.Windows.Forms.IBBToolStripMenuItem(); | |
184 this.miNewSystem = new IBBoard.Windows.Forms.IBBToolStripMenuItem(); | |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
185 this.menuOpen = new IBBoard.Windows.Forms.IBBToolStripMenuItem(); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
186 this.miOpenSystem = new IBBoard.Windows.Forms.IBBToolStripMenuItem(); |
0 | 187 this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); |
188 this.miExit = new IBBoard.Windows.Forms.IBBToolStripMenuItem(); | |
189 // About Menu and Contents | |
190 this.menuHelp = new IBBoard.Windows.Forms.IBBToolStripMenuItem(); | |
191 this.miAbout = new IBBoard.Windows.Forms.IBBToolStripMenuItem(); | |
192 | |
193 // | |
194 // menuStrip | |
195 // | |
196 this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
197 this.menuFile, |
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
198 this.menuHelp}); |
0 | 199 this.menuStrip.Location = new System.Drawing.Point(0, 0); |
200 this.menuStrip.Name = "menuStrip"; | |
201 this.menuStrip.Size = new System.Drawing.Size(790, 24); | |
202 this.menuStrip.TabIndex = 6; | |
203 this.menuStrip.Text = "menuStrip1"; | |
204 // | |
205 // menuFile | |
206 // | |
207 this.menuFile.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { | |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
208 this.menuNew, |
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
209 this.menuOpen, |
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
210 this.toolStripSeparator2, |
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
211 this.miExit}); |
0 | 212 this.menuFile.Name = "menuFile"; |
213 this.menuFile.Size = new System.Drawing.Size(33, 20); | |
214 this.menuFile.Text = "&file"; | |
215 // | |
216 // menuNew | |
217 // | |
218 this.menuNew.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { | |
219 this.miNewSystem}); | |
220 this.menuNew.Name = "menuNew"; | |
221 this.menuNew.Size = new System.Drawing.Size(164, 22); | |
222 this.menuNew.Text = "&new"; | |
223 // | |
224 // miNewSystem | |
225 // | |
226 this.miNewSystem.Name = "miNewSystem"; | |
227 this.miNewSystem.Size = new System.Drawing.Size(164, 22); | |
228 this.miNewSystem.Text = "s&ystem"; | |
229 this.miNewSystem.Click += new System.EventHandler(this.miNewSystem_Click); | |
230 // | |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
231 // menuOpen |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
232 // |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
233 this.menuOpen.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
234 this.miOpenSystem}); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
235 this.menuOpen.Name = "menuOpen"; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
236 this.menuOpen.Size = new System.Drawing.Size(164, 22); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
237 this.menuOpen.Text = "&open"; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
238 // |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
239 // miOpenSystem |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
240 // |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
241 this.miOpenSystem.Name = "miOpenSystem"; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
242 this.miOpenSystem.Size = new System.Drawing.Size(164, 22); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
243 this.miOpenSystem.Text = "s&ystem"; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
244 this.miOpenSystem.Click += new System.EventHandler(this.miOpenSystem_Click); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
245 // |
0 | 246 // toolStripSeparator2 |
247 // | |
248 this.toolStripSeparator2.Name = "toolStripSeparator2"; | |
249 this.toolStripSeparator2.Size = new System.Drawing.Size(161, 6); | |
250 // | |
251 // miExit | |
252 // | |
253 this.miExit.Name = "miExit"; | |
254 this.miExit.Size = new System.Drawing.Size(164, 22); | |
255 this.miExit.Text = "e&xit"; | |
256 this.miExit.Click += new System.EventHandler(this.miExit_Click); | |
257 // | |
258 // menuHelp | |
259 // | |
260 this.menuHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { | |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
261 this.miAbout}); |
0 | 262 this.menuHelp.Name = "menuHelp"; |
263 this.menuHelp.Size = new System.Drawing.Size(39, 20); | |
264 this.menuHelp.Text = "&help"; | |
265 // | |
266 // miAbout | |
267 // | |
268 this.miAbout.Name = "miAbout"; | |
269 this.miAbout.Size = new System.Drawing.Size(109, 22); | |
270 this.miAbout.Text = "&about"; | |
271 this.miAbout.Click += new System.EventHandler(this.miAbout_Click); | |
272 // | |
273 // FrmMain | |
274 // | |
275 this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); | |
276 this.ClientSize = new System.Drawing.Size(790, 608); | |
277 this.Controls.Add(this.menuStrip); | |
278 this.IsMdiContainer = true; | |
279 this.MainMenuStrip = this.menuStrip; | |
280 this.Menu = this.mainMenu; | |
281 this.Name = "FrmMain"; | |
282 this.Text = AppTitle; | |
283 this.menuStrip.ResumeLayout(false); | |
284 this.menuStrip.PerformLayout(); | |
285 this.ResumeLayout(false); | |
286 this.PerformLayout(); | |
287 } | |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
288 |
0 | 289 #endregion |
290 | |
291 private void FileLoadingFinished(List<FileLoadFailure> failures) | |
292 { | |
293 foreach (FileLoadFailure failure in failures) | |
294 { | |
295 log.Warn("Failed to load " + failure.FailedFile.FullName + ": " + failure.Message); | |
296 } | |
297 } | |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
298 |
0 | 299 private void miNewSystem_Click(object sender, System.EventArgs e) |
300 { | |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
301 FrmSystem system = new FrmSystem(new GameSystem(" ", " ", new DummyWarFoundryFactory())); |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
302 system.ShowDialog(this); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
303 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
304 |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
305 private void miOpenSystem_Click(object sender, System.EventArgs e) |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
306 { |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
307 if (OpenFile()) |
6
d63df495cf5a
Implemented initial support for adding and editing categories.
Tsudico
parents:
4
diff
changeset
|
308 { |
d63df495cf5a
Implemented initial support for adding and editing categories.
Tsudico
parents:
4
diff
changeset
|
309 FrmSystem system = new FrmSystem(CurrentGameSystem); |
d63df495cf5a
Implemented initial support for adding and editing categories.
Tsudico
parents:
4
diff
changeset
|
310 system.ShowDialog(this); |
d63df495cf5a
Implemented initial support for adding and editing categories.
Tsudico
parents:
4
diff
changeset
|
311 } |
0 | 312 } |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
313 |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
314 private bool OpenFile() |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
315 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
316 if (openFile.Filter == "") |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
317 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
318 string savePath = DataPath; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
319 |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
320 if (!Directory.Exists(savePath)) |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
321 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
322 Directory.CreateDirectory(savePath); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
323 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
324 |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
325 openFile.InitialDirectory = savePath; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
326 openFile.Filter = Translation.GetTranslation("systemFileFilter") + "|*.system"; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
327 openFile.Title = Translation.GetTranslation("openSystemDialog"); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
328 |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
329 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
330 |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
331 DialogResult dr = openFile.ShowDialog(this); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
332 if (dr == DialogResult.OK) |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
333 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
334 try |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
335 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
336 string newFilePath = openFile.FileName; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
337 ICollection<IWarFoundryObject> fileContents = WarFoundryLoader.GetDefault().LoadFile(new FileInfo(newFilePath)); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
338 |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
339 if (fileContents.Count > 0) |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
340 { |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
341 foreach (IWarFoundryObject fileObject in fileContents) |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
342 { |
9
b42ba80ec613
Fixes #319: WarFoundry Forge - No Factory set failure
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
343 if (fileObject is GameSystem) |
4
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
344 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
345 CurrentGameSystem = (GameSystem)fileObject; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
346 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
347 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
348 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
349 log.DebugFormat("Game System set to: {0}", CurrentGameSystem.Name); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
350 loadedFilePath = newFilePath; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
351 return true; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
352 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
353 catch (RequiredDataMissingException ex) |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
354 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
355 log.Error(ex); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
356 MessageBox.Show(this, ex.Message, Translation.GetTranslation("InvalidArmyFileBoxTitle", "invalid army file"), MessageBoxButtons.OK, MessageBoxIcon.Error); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
357 return false; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
358 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
359 catch (InvalidFileException ex) |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
360 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
361 log.Error(ex); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
362 MessageBox.Show(this, ex.Message, Translation.GetTranslation("InvalidArmyFileBoxTitle", "invalid army file"), MessageBoxButtons.OK, MessageBoxIcon.Error); |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
363 return false; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
364 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
365 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
366 else |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
367 { |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
368 return false; |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
369 } |
866d0093bb11
WarFoundryLoader.GetDefault().LoadFile returning null object.
Tsudico
parents:
0
diff
changeset
|
370 } |
0 | 371 |
372 private void miExit_Click(object sender, System.EventArgs e) | |
373 { | |
374 Application.Exit(); | |
375 } | |
376 | |
377 private void miAbout_Click(object sender, EventArgs e) | |
378 { | |
379 FrmAbout about = new FrmAbout(); | |
380 about.ShowDialog(this); | |
381 } | |
382 | |
383 private void FrmMain_Closing(object sender, CancelEventArgs e) | |
384 { | |
385 } | |
386 } | |
387 } |