changeset 124:a647afc19fe9

Re #361: Add XML export UI to GTK# * Add sensitivity changing on OK button * Need to make buttons do things, and allow creating new files with file chooser
author IBBoard <dev@ibboard.co.uk>
date Wed, 28 Sep 2011 21:01:54 +0100
parents f58f69ea2435
children 42d2aa87dfa7
files FrmExportXml.cs gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmExportXml.cs gtk-gui/gui.stetic
diffstat 3 files changed, 22 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/FrmExportXml.cs	Wed Sep 28 20:46:08 2011 +0100
+++ b/FrmExportXml.cs	Wed Sep 28 21:01:54 2011 +0100
@@ -14,6 +14,7 @@
 		{
 			this.Build();
 			FillXsltList();
+			saveAsPath.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.Personal));
 		}
 
 		private void FillXsltList()
@@ -23,11 +24,27 @@
 			ComboBoxUtils.FillCombo(transformList, files, delegate(FileInfo file) { return file.Name; });
 		}
 
-		protected void OnDoTransformWidgetToggled (object sender, System.EventArgs e)
+		protected void OnDoTransformWidgetToggled(object sender, System.EventArgs e)
 		{
 			bool enabled = doTransformWidget.Active;
 			lblTransform.Sensitive = enabled;
 			transformList.Sensitive = enabled;
+			SetOkayButtonSensitive();
+		}
+
+		private void SetOkayButtonSensitive()
+		{
+			buttonOk.Sensitive = saveAsPath.Filename != null && (!doTransformWidget.Active || ComboBoxUtils.GetSelectedItem<FileInfo>(transformList) != null);
+		}
+
+		protected void OnTransformListChanged(object sender, System.EventArgs e)
+		{
+			SetOkayButtonSensitive();
+		}
+
+		protected void OnSaveAsPathSelectionChanged(object sender, System.EventArgs e)
+		{
+			SetOkayButtonSensitive();
 		}
 	}
 }
--- a/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmExportXml.cs	Wed Sep 28 20:46:08 2011 +0100
+++ b/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmExportXml.cs	Wed Sep 28 21:01:54 2011 +0100
@@ -125,6 +125,8 @@
 			this.DefaultWidth = 336;
 			this.DefaultHeight = 171;
 			this.Show ();
+			this.transformList.Changed += new global::System.EventHandler (this.OnTransformListChanged);
+			this.saveAsPath.SelectionChanged += new global::System.EventHandler (this.OnSaveAsPathSelectionChanged);
 			this.doTransformWidget.Toggled += new global::System.EventHandler (this.OnDoTransformWidgetToggled);
 		}
 	}
--- a/gtk-gui/gui.stetic	Wed Sep 28 20:46:08 2011 +0100
+++ b/gtk-gui/gui.stetic	Wed Sep 28 21:01:54 2011 +0100
@@ -2618,6 +2618,7 @@
             <child>
               <widget class="Gtk.FileChooserButton" id="saveAsPath">
                 <property name="MemberName" />
+                <signal name="SelectionChanged" handler="OnSaveAsPathSelectionChanged" />
               </widget>
               <packing>
                 <property name="LeftAttach">1</property>
@@ -2639,6 +2640,7 @@
                 <property name="Sensitive">False</property>
                 <property name="IsTextCombo">True</property>
                 <property name="Items" translatable="yes" />
+                <signal name="Changed" handler="OnTransformListChanged" />
               </widget>
               <packing>
                 <property name="TopAttach">2</property>