annotate FrmXmlExport.cs @ 216:e10688b29092 xml-export-ui

Fixed .Net 4.0 dependency
author Dan.Kulinski@dank-laptop.Global.Local
date Thu, 25 Aug 2011 12:59:26 -0600
parents a3e62a2c267f
children 72beddaffb71
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
1 using System;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
2 using System.Collections.Generic;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
3 using System.ComponentModel;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
4 using System.Data;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
5 using System.Drawing;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
6 using System.Text;
210
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
7 using System.IO;
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
8 using System.Windows.Forms;
211
a0df71b24972 Added basic exception handling (a one case fits all)
Dan.Kulinski@dank-laptop.Global.Local
parents: 210
diff changeset
9 using System.Xml.Xsl;
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
10 using IBBoard.Lang;
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
11 using IBBoard.WarFoundry.API.Objects;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
12 using IBBoard.WarFoundry.API.Exporters;
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
13 using System.Xml.Xsl;
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
14
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
15 namespace IBBoard.WarFoundry.GUI.WinForms
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
16 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
17 public partial class FrmXmlExport : Form
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
18 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
19 Army myArmy = null;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
20 public FrmXmlExport(Army army)
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
21 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
22 InitializeComponent();
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
23 myArmy = army;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
24 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
25
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
26 private void FrmXmlExport_Load(object sender, EventArgs e)
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
27 {
210
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
28 tbXslPath.Text = Directory.GetCurrentDirectory() + "\\xsl\\default_html.xsl";
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
29 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
30
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
31 private void bttnOutputSelect_Click(object sender, EventArgs e)
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
32 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
33 SaveFileDialog sfd = new SaveFileDialog();
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
34 sfd.Filter = "XML File|*.xml|HTML File|*.html|XHTML File|*.xhtml";
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
35 sfd.Title = "Save XML output";
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
36 sfd.ShowDialog();
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
37
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
38 if (sfd.FileName != "")
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
39 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
40 tbOutputFile.Text = sfd.FileName;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
41 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
42 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
43
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
44 private void bttnCancel_Click(object sender, EventArgs e)
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
45 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
46 this.DialogResult = DialogResult.Cancel;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
47 this.Hide();
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
48 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
49
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
50 private void bttnExport_Click(object sender, EventArgs e)
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
51 {
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
52 string errorMessage = "";
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
53 // Catch potential errors with the file export or XSL compiliation
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
54 try
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
55 {
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
56 if (cbApplyTransform.Checked)
211
a0df71b24972 Added basic exception handling (a one case fits all)
Dan.Kulinski@dank-laptop.Global.Local
parents: 210
diff changeset
57 {
a0df71b24972 Added basic exception handling (a one case fits all)
Dan.Kulinski@dank-laptop.Global.Local
parents: 210
diff changeset
58 WarFoundryXmlWithXslExporter.GetDefault().ExportArmyWithTransform(myArmy, tbOutputFile.Text, tbXslPath.Text);
a0df71b24972 Added basic exception handling (a one case fits all)
Dan.Kulinski@dank-laptop.Global.Local
parents: 210
diff changeset
59 }
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
60 else
211
a0df71b24972 Added basic exception handling (a one case fits all)
Dan.Kulinski@dank-laptop.Global.Local
parents: 210
diff changeset
61 {
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
62 WarFoundryXmlWithXslExporter.GetDefault().ExportArmy(myArmy, tbOutputFile.Text);
211
a0df71b24972 Added basic exception handling (a one case fits all)
Dan.Kulinski@dank-laptop.Global.Local
parents: 210
diff changeset
63 }
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
64 }
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
65 catch (XsltCompileException ex)
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
66 {
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
67 errorMessage = Translation.GetTranslation("mbErrorCompileFailed", "") +
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
68 ":\n" + ex.Message;
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
69 }
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
70 catch (XsltException ex)
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
71 {
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
72
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
73 errorMessage = Translation.GetTranslation("mbErrorXSLTFailed", "") +
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
74 ":\n" + ex.Message;
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
75 }
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
76 catch (FileNotFoundException ex)
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
77 {
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
78 errorMessage = Translation.GetTranslation("mbErrorFileNotFoundFailed", "") +
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
79 ":\n" + ex.Message;
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
80 }
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
81 catch (IOException ex)
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
82 {
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
83 errorMessage = Translation.GetTranslation("mbErrorIOFailed", "") +
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
84 ":\n" + ex.Message;
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
85 }
215
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
86 catch (Exception ex)
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
87 {
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
88 errorMessage = Translation.GetTranslation("mbErrorFailed", "") +
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
89 ":\n" + ex.Message;
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
90 }
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
91 if (errorMessage != "")
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
92 {
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
93 MessageBox.Show(errorMessage, "Error During Export", MessageBoxButtons.OK, MessageBoxIcon.Error);
a3e62a2c267f Added translation support for exceptional cases
Dan.Kulinski@dank-laptop.Global.Local
parents: 211
diff changeset
94 }
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
95 this.DialogResult = DialogResult.OK;
210
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
96 this.Hide();
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
97 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
98
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
99 private void tbOutputFile_Change(object sender, EventArgs e)
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
100 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
101 if (tbOutputFile.Text != "")
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
102 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
103 bttnExport.Enabled = true;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
104 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
105 else
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
106 {
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
107 bttnExport.Enabled = false;
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
108 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
109 }
210
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
110
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
111 private void cbApplyTransform_CheckedChanged(object sender, EventArgs e)
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
112 {
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
113 if (cbApplyTransform.Checked)
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
114 {
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
115 tbXslPath.Enabled = true;
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
116 bttnXslSelect.Enabled = true;
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
117 }
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
118 else
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
119 {
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
120 tbXslPath.Enabled = false;
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
121 bttnXslSelect.Enabled = false;
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
122 }
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
123 }
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
124
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
125 private void bttnXslSelect_Click(object sender, EventArgs e)
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
126 {
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
127 OpenFileDialog ofd = new OpenFileDialog();
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
128
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
129 ofd.InitialDirectory = Directory.GetCurrentDirectory() + "\\xsl";
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
130 ofd.Filter = "XSL Files|*.xsl";
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
131 DialogResult result = ofd.ShowDialog();
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
132
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
133 if (result == DialogResult.OK)
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
134 {
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
135 tbXslPath.Text = ofd.FileName;
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
136 }
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
137
a6ce13e4ae89 Near Final XSL output
Dan.Kulinski@dank-laptop.Global.Local
parents: 209
diff changeset
138 }
209
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
139 }
f57957fe9009 UI Dialog for XML output
Dan.Kulinski@dank-laptop.Global.Local
parents:
diff changeset
140 }