view FrmExportXml.cs @ 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 2479414b16f6
children 42d2aa87dfa7
line wrap: on
line source

// This file (FrmExportXml.cs) is a part of the IBBoard.WarFoundry.GUI.GTK project and is copyright 2011 IBBoard
// 
// 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.
using System;
using System.IO;
using IBBoard.GtkSharp;
using System.Collections.Generic;

namespace IBBoard.WarFoundry.GUI.GTK
{
	public partial class FrmExportXml : Gtk.Dialog
	{
		public FrmExportXml()
		{
			this.Build();
			FillXsltList();
			saveAsPath.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.Personal));
		}

		private void FillXsltList()
		{
			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 = 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();
		}
	}
}