Mercurial > repos > IBBoard.WarFoundry.GUI.WinForms
changeset 1:42cf06b8f897
Re #8 - Get a working Windows WarFoundry
* Update forms to use new package structures for API objects
* Update forms to use separate control translation
* Remove PIDB file from source control
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 27 Dec 2008 18:39:37 +0000 |
parents | 7dd160dacb60 |
children | 74df258710fe |
files | FrmArmyTree.cs FrmEditUnitEquipment.cs FrmMain.cs FrmNewArmy.cs FrmNewUnit.cs FrmNewUnitEquipment.cs FrmReplaceUnitEquipment.cs FrmSelectSystem.cs FrmUnit.cs IBBoard.WarFoundry.csproj IBBoard.WarFoundry.mdp IBBoard.WarFoundry.pidb |
diffstat | 12 files changed, 98 insertions(+), 94 deletions(-) [+] |
line wrap: on
line diff
--- a/FrmArmyTree.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmArmyTree.cs Sat Dec 27 18:39:37 2008 +0000 @@ -7,6 +7,7 @@ using IBBoard.WarFoundry.API; using IBBoard.WarFoundry.API.Commands; using IBBoard.Windows.Forms; +using IBBoard.WarFoundry.API.Objects; namespace IBBoard.WarFoundry {
--- a/FrmEditUnitEquipment.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmEditUnitEquipment.cs Sat Dec 27 18:39:37 2008 +0000 @@ -6,6 +6,7 @@ using IBBoard.Commands; using IBBoard.WarFoundry.API; using IBBoard.WarFoundry.API.Commands; +using IBBoard.WarFoundry.API.Objects; namespace IBBoard.WarFoundry {
--- a/FrmMain.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmMain.cs Sat Dec 27 18:39:37 2008 +0000 @@ -16,7 +16,10 @@ using IBBoard.WarFoundry.API.Commands; using IBBoard.Windows.Forms; using IBBoard.Xml; -using log4net; +using log4net; +using IBBoard.WarFoundry.API.Objects; +using IBBoard.Windows.Forms.I18N; +using IBBoard.WarFoundry.API.Savers; namespace IBBoard.WarFoundry { @@ -28,11 +31,10 @@ private static readonly string AppTitle = "WarFoundry"; private Preferences preferences; - protected readonly ILog logger = LogManager.GetLogger(typeof(WarFoundryFactory)); + protected readonly ILog logger = LogManager.GetLogger(typeof(FrmMain)); private CommandStack commandStack; - private ToolBarButton[] categoryButtons; - private Type factoryType = typeof(WarFoundryXmlFactory); + private ToolBarButton[] categoryButtons; public ObjectAddDelegate UnitAddedMethod; public ObjectRemoveDelegate UnitRemovedMethod; @@ -40,7 +42,8 @@ //public FailedUnitRequirementDelegate FailedUnitRequirementMethod; private FrmArmyTree armyTree; - private FrmDebugOutput debugWindow; + private FrmDebugOutput debugWindow; + private string loadedFilePath; private IBBoard.Windows.Forms.ColorableStatusBar statusBar; private System.Windows.Forms.ToolBar toolBar; @@ -96,22 +99,22 @@ //pnlRight.Height = ClientRectangle.Bottom - statusBar.Height - pnlRight.Top - 3; foreach (Control ctrl in Controls) - { - Translation.TranslateControl(ctrl); + { + ControlTranslator.TranslateControl(ctrl); } foreach(Component comp in components.Components) - { - Translation.TranslateComponent(comp); + { + ControlTranslator.TranslateComponent(comp); } foreach (IBBMenuItem mi in Menu.MenuItems) - { - Translation.TranslateComponent(mi); - } - - Translation.TranslateComponent(openArmyDialog); - Translation.TranslateComponent(saveArmyDialog); + { + ControlTranslator.TranslateComponent(mi); + } + + ControlTranslator.TranslateComponent(openArmyDialog); + ControlTranslator.TranslateComponent(saveArmyDialog); WarFoundryCore.GameSystemChanged+= new GameSystemChangedDelegate(FrmMain_GameSystemChanged); WarFoundryCore.ArmyChanged += new ArmyChangedDelegate(FrmMain_ArmyChanged); @@ -126,9 +129,10 @@ armyTree.MdiParent = this; armyTree.Show(); armyTree.StartPosition = FormStartPosition.Manual; - armyTree.Location = new Point(this.DisplayRectangle.Width - armyTree.Width - 10, 10); - Translation.TranslateControl(armyTree); + armyTree.Location = new Point(this.DisplayRectangle.Width - armyTree.Width - 10, 10); + ControlTranslator.TranslateControl(armyTree); + /* if (args.Length == 1) { logger.Debug("Attempting to load from file"); @@ -168,7 +172,7 @@ logger.InfoFormat("Loaded game system {0} from properties", gameSystemID); } } - } + }*/ } public static string DataPath @@ -566,11 +570,6 @@ MessageBox.Show(null, "A major, unexpected and fatal error ocurred while starting the application: \r\n\r\n"+ex.Message+"\r\n\r\n"+ex.StackTrace, "Fatal error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } - - public WarFoundryFactory Factory - { - get { return WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(Constants.ExecutablePath, factoryType); } - } private void miExit_Click(object sender, System.EventArgs e) { @@ -586,12 +585,12 @@ { if (closeCurrentArmy()) { - FrmNewArmy newArmy = new FrmNewArmy(CurrentGameSystem, Factory); + FrmNewArmy newArmy = new FrmNewArmy(CurrentGameSystem); DialogResult dr = newArmy.ShowDialog(); if (dr == DialogResult.OK) { - CurrentArmy = new Army(newArmy.SelectedRace, newArmy.ArmyName, newArmy.ArmySize, Factory); + CurrentArmy = new Army(newArmy.SelectedRace, newArmy.ArmyName, newArmy.ArmySize); } } } @@ -619,6 +618,7 @@ if (dr == DialogResult.OK) { + /* try { CurrentArmy = Factory.LoadArmy(openArmyDialog.FileName); @@ -630,6 +630,8 @@ MessageBox.Show(this, ex.Message, Translation.GetTranslation("InvalidFileBoxTitle", "Invalid data file"), MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } + * */ + return false; } else { @@ -653,8 +655,8 @@ DialogResult dr = MessageBox.Show(this, "The army \""+CurrentArmy.Name+"\" has been modified.\r\nSave changes before closing army?", "Unsaved changes", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button3); if (dr == DialogResult.Yes) - { - canClose = saveCurrentArmyOrSaveAs(); + { + canClose = SaveCurrentArmy(); } else if (dr == DialogResult.No) { @@ -703,42 +705,48 @@ } } - private bool saveCurrentArmyOrSaveAs() - { - if (WarFoundrySaver.GetSaver().CanSave(CurrentArmy)) - { - return saveCurrentArmy(); - } - else - { - return saveCurrentArmyAs(); - } - } - - private bool saveCurrentArmy() + private bool SaveCurrentArmy() { - if (WarFoundrySaver.GetSaver().CanSave(CurrentArmy)) - { - if (WarFoundrySaver.GetSaver().Save(CurrentArmy)) - { - miSaveArmy.Enabled = false; - bttnSaveArmy.Enabled = false; - CommandStack.setCleanMark(); - return true; - } - else - { - MessageBox.Show(this, Translation.GetTranslation("SaveFailed"), Translation.GetTranslation("SaveFailedTitle"), MessageBoxButtons.OK, MessageBoxIcon.Error); - return false; - } + bool saved = false; + + if (loadedFilePath != null || PromptForFilePath()) + { + saved = SaveCurrentArmyToFile(); + } + + return saved; + } + + private bool SaveCurrentArmyAs() + { + bool saved = false; + + if (PromptForFilePath()) + { + saved = SaveCurrentArmyToFile(); + } + + return saved; + } + + private bool SaveCurrentArmyToFile() + { + if (WarFoundrySaver.GetSaver().Save(CurrentArmy, loadedFilePath)) + { + miSaveArmy.Enabled = false; + bttnSaveArmy.Enabled = false; + CommandStack.setCleanMark(); + return true; } else - { + { + loadedFilePath = null; + MessageBox.Show(this, Translation.GetTranslation("SaveFailed"), Translation.GetTranslation("SaveFailedTitle"), MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } - } - - private bool saveCurrentArmyAs() + } + + private bool PromptForFilePath() { if (saveArmyDialog.Filter == "") { @@ -758,18 +766,8 @@ if (dr == DialogResult.OK) { - if (WarFoundrySaver.GetSaver().SaveAs(CurrentArmy, saveArmyDialog.FileName)) - { - miSaveArmy.Enabled = false; - bttnSaveArmy.Enabled = false; - CommandStack.setCleanMark(); - return true; - } - else - { - MessageBox.Show(this, Translation.GetTranslation("SaveFailed"), Translation.GetTranslation("SaveFailedTitle"), MessageBoxButtons.OK, MessageBoxIcon.Error); - return false; - } + loadedFilePath = saveArmyDialog.FileName; + return true; } else { @@ -796,8 +794,8 @@ openArmy(); } else if (e.Button == bttnSaveArmy) - { - saveCurrentArmyOrSaveAs(); + { + SaveCurrentArmy(); } else { @@ -820,7 +818,7 @@ private void SelectGameSystem() { - FrmSelectSystem selectSystem = new FrmSelectSystem(Factory); + FrmSelectSystem selectSystem = new FrmSelectSystem(); DialogResult dr = selectSystem.ShowDialog(this); if (dr==DialogResult.OK) @@ -954,8 +952,8 @@ } private void miSaveArmyAs_Click(object sender, System.EventArgs e) - { - saveCurrentArmyAs(); + { + SaveCurrentArmyAs(); } private void commandStack_CommandStackUpdated() @@ -1030,16 +1028,14 @@ undoMenu.MenuItems.AddRange(menuItemsUndo); } - bool canSave = WarFoundrySaver.GetSaver().CanSave(CurrentArmy); + bool canSave = loadedFilePath != null; bttnSaveArmy.Enabled = commandStack.IsDirty() && CurrentArmy!=null && canSave; miSaveArmy.Enabled = commandStack.IsDirty() && CurrentArmy!=null && canSave; } private void miSaveArmy_Click(object sender, System.EventArgs e) { - //we should only be saving when the army can be saved (i.e. it has been opened from a file or Save As-ed) - //so use the "just save" version - saveCurrentArmy(); + SaveCurrentArmy(); } private void setAppTitle() @@ -1066,7 +1062,7 @@ if (dr == DialogResult.OK) { - CreateAndAddUnitCommand cmd = new CreateAndAddUnitCommand(newUnit.SelectedUnit, cat, CurrentArmy, Factory); + CreateAndAddUnitCommand cmd = new CreateAndAddUnitCommand(newUnit.SelectedUnit, cat, CurrentArmy); commandStack.Execute(cmd); } } @@ -1243,7 +1239,7 @@ private void miReloadFiles_Click(object sender, System.EventArgs e) { - Factory.LoadAllGameSystems(); + WarFoundryLoader.GetDefault().LoadFiles(); sbMainPanel.Text = Translation.GetTranslation("GameSystemFilesReloaded", "Game system and race files reloaded"); statusBarTimer.Enabled = true; }
--- a/FrmNewArmy.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmNewArmy.cs Sat Dec 27 18:39:37 2008 +0000 @@ -7,6 +7,8 @@ using IBBoard.Lang; using IBBoard.Windows.Forms; using IBBoard.WarFoundry.API; +using IBBoard.WarFoundry.API.Objects; +using IBBoard.Windows.Forms.I18N; namespace IBBoard.WarFoundry { @@ -29,13 +31,13 @@ private System.Windows.Forms.NumericUpDown armySize; private System.Windows.Forms.TextBox txtArmyName; - public FrmNewArmy(GameSystem system, WarFoundryFactory factory) + public FrmNewArmy(GameSystem system) { InitializeComponent(); - Translation.TranslateControl(this); + ControlTranslator.TranslateControl(this); - races = factory.GetRaces(system); + races = WarFoundryLoader.GetDefault().GetRaces(system); for (int i = 0; i<races.Length; i++) {
--- a/FrmNewUnit.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmNewUnit.cs Sat Dec 27 18:39:37 2008 +0000 @@ -7,6 +7,8 @@ using IBBoard.Lang; using IBBoard.Windows.Forms; using IBBoard.WarFoundry.API; +using IBBoard.WarFoundry.API.Objects; +using IBBoard.Windows.Forms.I18N; namespace IBBoard.WarFoundry { @@ -31,7 +33,7 @@ { InitializeComponent(); - Translation.TranslateControl(this, cat.Name); + ControlTranslator.TranslateControl(this, cat.Name); units = race.GetUnitTypes(cat); allowed = new bool[units.Length]; this.army = army;
--- a/FrmNewUnitEquipment.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmNewUnitEquipment.cs Sat Dec 27 18:39:37 2008 +0000 @@ -7,6 +7,7 @@ using IBBoard.Commands; using IBBoard.WarFoundry.API; using IBBoard.WarFoundry.API.Commands; +using IBBoard.WarFoundry.API.Objects; namespace IBBoard.WarFoundry {
--- a/FrmReplaceUnitEquipment.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmReplaceUnitEquipment.cs Sat Dec 27 18:39:37 2008 +0000 @@ -7,6 +7,7 @@ using IBBoard.Commands; using IBBoard.WarFoundry.API; using IBBoard.WarFoundry.API.Commands; +using IBBoard.WarFoundry.API.Objects; namespace IBBoard.WarFoundry {
--- a/FrmSelectSystem.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmSelectSystem.cs Sat Dec 27 18:39:37 2008 +0000 @@ -8,6 +8,8 @@ using IBBoard.Lang; using IBBoard.WarFoundry.API; using IBBoard.Windows.Forms; +using IBBoard.WarFoundry.API.Objects; +using IBBoard.Windows.Forms.I18N; namespace IBBoard.WarFoundry { @@ -27,21 +29,18 @@ private GameSystem selectedSystem; - public FrmSelectSystem() : this(null) - { - } - - public FrmSelectSystem(WarFoundryFactory currFactory) + public FrmSelectSystem() { // // Required for Windows Form Designer support // InitializeComponent(); - Translation.TranslateControl(this); + ControlTranslator.TranslateControl(this); lstSystems.Items.Clear(); - GameSystem[] systems = currFactory.GetGameSystems(); + + GameSystem[] systems = WarFoundryLoader.GetDefault().GetGameSystems(); lstSystems.DataSource = systems;
--- a/FrmUnit.cs Fri Dec 19 15:57:51 2008 +0000 +++ b/FrmUnit.cs Sat Dec 27 18:39:37 2008 +0000 @@ -8,6 +8,7 @@ using IBBoard.Windows.Forms; using IBBoard.WarFoundry.API; using IBBoard.WarFoundry.API.Commands; +using IBBoard.WarFoundry.API.Objects; namespace IBBoard.WarFoundry {
--- a/IBBoard.WarFoundry.csproj Fri Dec 19 15:57:51 2008 +0000 +++ b/IBBoard.WarFoundry.csproj Sat Dec 27 18:39:37 2008 +0000 @@ -91,7 +91,7 @@ <Reference Include="System.Xml"> <Name>System.XML</Name> </Reference> - <ProjectReference Include="..\..\IBBoardWF\IBBoardWF.csproj"> + <ProjectReference Include="..\IBBoard.Windows.Forms\IBBoardWF.csproj"> <Name>IBBoardWF</Name> <Project>{E3790268-2082-4975-B1A3-C70B37842CE8}</Project> <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
--- a/IBBoard.WarFoundry.mdp Fri Dec 19 15:57:51 2008 +0000 +++ b/IBBoard.WarFoundry.mdp Sat Dec 27 18:39:37 2008 +0000 @@ -1,4 +1,4 @@ -<Project name="IBBoard.WarFoundry" fileversion="2.0" DefaultNamespace="IBBoard.WarFoundry" language="C#" clr-version="Net_1_1" ctype="DotNetProject"> +<Project name="IBBoard.WarFoundry" fileversion="2.0" language="C#" DefaultNamespace="IBBoard.WarFoundry" clr-version="Net_1_1" ctype="DotNetProject"> <Configurations active="Debug"> <Configuration name="Debug" ctype="DotNetProjectConfiguration"> <Output directory="bin/Debug/" assembly="WarFoundry" />