Mercurial > repos > IBDev-IBBoard.WarFoundry.GUI.GTK
diff FrmExportXml.cs @ 126:d4e6bfeb1c61
Re #361: Add XML export UI to GTK#
* Separate out the "transform" section so we can add it as an ExtraWidget on the file chooser
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 01 Oct 2011 16:19:48 +0100 |
parents | 42d2aa87dfa7 |
children | d5a631a8d288 |
line wrap: on
line diff
--- a/FrmExportXml.cs Sat Oct 01 14:52:39 2011 +0100 +++ b/FrmExportXml.cs Sat Oct 01 16:19:48 2011 +0100 @@ -16,38 +16,26 @@ public partial class FrmExportXml : Gtk.Dialog { private Army army; + private TransformXmlWidget transformWidget; public FrmExportXml(Army army) { this.army = army; this.Build(); - FillXsltList(); + transformWidget = new TransformXmlWidget(); + transformWidget.TransformChanged += HandleTransformWidgetTransformChanged; + saveAsPath.ExtraWidget = transformWidget; saveAsPath.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.Personal)); } - private void FillXsltList() + private void HandleTransformWidgetTransformChanged (object sender, EventArgs e) { - DirectoryInfo dir = new DirectoryInfo(System.IO.Path.Combine(Constants.ExecutablePath, "xsl")); - List<FileInfo> files = new List<FileInfo>(dir.GetFiles("*.xsl")); - ComboBoxUtils.FillCombo(transformList, files, delegate(FileInfo file) { return file.Name; }); - } - - protected void OnDoTransformWidgetToggled(object sender, System.EventArgs e) - { - bool enabled = doTransformWidget.Active; - lblTransform.Sensitive = enabled; - transformList.Sensitive = enabled; SetOkayButtonSensitive(); } private void SetOkayButtonSensitive() { - buttonOk.Sensitive = saveAsName.Text != "" && saveAsPath.Filename != null && saveAsPath.Filename != "" && (!doTransformWidget.Active || ComboBoxUtils.GetSelectedItem<FileInfo>(transformList) != null); - } - - protected void OnTransformListChanged(object sender, System.EventArgs e) - { - SetOkayButtonSensitive(); + buttonOk.Sensitive = saveAsPath.Filename != null && saveAsPath.Filename != "" && transformWidget.IsValid; } protected void OnSaveAsPathSelectionChanged(object sender, System.EventArgs e) @@ -61,11 +49,11 @@ // Catch potential errors with the file export or XSL compiliation try { - string fileName = System.IO.Path.Combine(saveAsPath.Filename, saveAsName.Text); + string fileName = saveAsPath.Filename; - if (doTransformWidget.Active) + if (transformWidget.TransformEnabled) { - WarFoundryXmlWithXslExporter.GetDefault().ExportArmyWithTransform(army, fileName, ComboBoxUtils.GetSelectedItem<FileInfo>(transformList).FullName); + WarFoundryXmlWithXslExporter.GetDefault().ExportArmyWithTransform(army, fileName, transformWidget.GetXsltPath()); } else { @@ -113,9 +101,10 @@ Respond(ResponseType.Cancel); } - protected void OnSaveAsNameChanged (object sender, System.EventArgs e) + protected void OnSizeAllocated (object o, Gtk.SizeAllocatedArgs args) { - SetOkayButtonSensitive(); + Console.WriteLine(args.Allocation.Height + "," + args.Allocation.Width); + //this. } } }