# HG changeset patch # User IBBoard # Date 1251832213 0 # Node ID 9440eef124b06ab6714c48f29ac739802f24bf79 # Parent 83c8945edac298d2c92888c759bea9fd79964271 Closes #69: Add "export" UI * Add base menu for exports (will be populated automatically once exports are plugins) * Add menu item for "Basic HTML" diff -r 83c8945edac2 -r 9440eef124b0 FrmMainWindow.cs --- a/FrmMainWindow.cs Fri Aug 28 18:52:34 2009 +0000 +++ b/FrmMainWindow.cs Tue Sep 01 19:10:13 2009 +0000 @@ -15,6 +15,7 @@ using IBBoard.Logging; using IBBoard.CustomMath; using IBBoard.WarFoundry.API; +using IBBoard.WarFoundry.API.Exporters; using IBBoard.WarFoundry.API.Factories; using IBBoard.WarFoundry.API.Factories.Xml; using IBBoard.WarFoundry.API.Objects; @@ -959,5 +960,31 @@ unitToWidgetMap.Remove(((UnitDisplayWidget)sender).Unit); } } + + protected virtual void OnMiExportAsBasicHtmlActivated (object sender, System.EventArgs e) + { + FileChooserDialog fileDialog = new FileChooserDialog("Export army", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Export", ResponseType.Accept); + FileFilter filter = new FileFilter(); + filter.AddPattern("*.html"); + filter.Name = "HTML pages (*.html)"; + fileDialog.AddFilter(filter); + int response = fileDialog.Run(); + string filePath = null; + + if (response == (int)ResponseType.Accept) + { + filePath = fileDialog.Filename; + } + + fileDialog.Hide(); + fileDialog.Dispose(); + + if (filePath != null) + { + Army army = WarFoundryCore.CurrentArmy; + logger.DebugFormat("Exporting {0} to {1} as basic HTML", army.Name, filePath); + WarFoundryHtmlExporter.GetDefault().ExportArmy(army, filePath); + } + } } } diff -r 83c8945edac2 -r 9440eef124b0 gtk-gui/IBBoard.WarFoundry.GTK.FrmMainWindow.cs --- a/gtk-gui/IBBoard.WarFoundry.GTK.FrmMainWindow.cs Fri Aug 28 18:52:34 2009 +0000 +++ b/gtk-gui/IBBoard.WarFoundry.GTK.FrmMainWindow.cs Tue Sep 01 19:10:13 2009 +0000 @@ -59,6 +59,10 @@ private Gtk.Action add; + private Gtk.Action miExportArmy; + + private Gtk.Action miExportAsBasicHtml; + private Gtk.VBox vbox1; private Gtk.MenuBar menubar1; @@ -148,6 +152,12 @@ w1.Add(this.goDown, null); this.add = new Gtk.Action("add", null, null, "gtk-add"); w1.Add(this.add, null); + this.miExportArmy = new Gtk.Action("miExportArmy", Mono.Unix.Catalog.GetString("Export army as..."), null, "gtk-convert"); + this.miExportArmy.ShortLabel = Mono.Unix.Catalog.GetString("Export army"); + w1.Add(this.miExportArmy, null); + this.miExportAsBasicHtml = new Gtk.Action("miExportAsBasicHtml", Mono.Unix.Catalog.GetString("Basic HTML"), null, null); + this.miExportAsBasicHtml.ShortLabel = Mono.Unix.Catalog.GetString("Basic HTML"); + w1.Add(this.miExportAsBasicHtml, null); this.UIManager.InsertActionGroup(w1, 0); this.AddAccelGroup(this.UIManager.AccelGroup); this.Name = "IBBoard.WarFoundry.GTK.FrmMainWindow"; @@ -157,7 +167,7 @@ this.vbox1 = new Gtk.VBox(); this.vbox1.Name = "vbox1"; // Container child vbox1.Gtk.Box+BoxChild - this.UIManager.AddUiFromString(""); + this.UIManager.AddUiFromString(""); this.menubar1 = ((Gtk.MenuBar)(this.UIManager.GetWidget("/menubar1"))); this.menubar1.Name = "menubar1"; this.vbox1.Add(this.menubar1); @@ -227,6 +237,7 @@ this.saveArmyButton.Activated += new System.EventHandler(this.saveTBButtonActivated); this.undoActionButton.Activated += new System.EventHandler(this.undoTBButtonActivated); this.redoActionButton.Activated += new System.EventHandler(this.redoTBButtonActivated); + this.miExportAsBasicHtml.Activated += new System.EventHandler(this.OnMiExportAsBasicHtmlActivated); this.treeUnits.RowActivated += new Gtk.RowActivatedHandler(this.ArmyRowActivated); } } diff -r 83c8945edac2 -r 9440eef124b0 gtk-gui/gui.stetic --- a/gtk-gui/gui.stetic Fri Aug 28 18:52:34 2009 +0000 +++ b/gtk-gui/gui.stetic Tue Sep 01 19:10:13 2009 +0000 @@ -153,6 +153,18 @@ gtk-add + + Action + Export army as... + Export army + gtk-convert + + + Action + Basic HTML + Basic HTML + + MainWindow @@ -169,6 +181,9 @@ + + +