Mercurial > repos > IBBoard.WarFoundry.GUI.GTK
diff FrmMainWindow.cs @ 138:33962c2ef550
Re #326: Make army names and sizes modifiable after creation
* Add army editing form
* Hook up to events to update main window
* Add edit army option to Edit menu
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Tue, 11 Oct 2011 21:05:10 +0100 |
parents | fda46380dd68 |
children | 2b9fabd65309 |
line wrap: on
line diff
--- a/FrmMainWindow.cs Tue Oct 11 20:24:11 2011 +0100 +++ b/FrmMainWindow.cs Tue Oct 11 21:05:10 2011 +0100 @@ -520,6 +520,8 @@ oldArmy.UnitAdded -= UnitAddedMethod; oldArmy.UnitRemoved -= UnitRemovedMethod; oldArmy.PointsValueChanged -= PointsValueChangedMethod; + oldArmy.NameChanged -= OnArmyNameChanged; + oldArmy.MaxPointsValueChanged -= OnMaxPointsValueChanged; } unitToWidgetMap.Clear(); @@ -538,6 +540,8 @@ newArmy.UnitAdded += UnitAddedMethod; newArmy.UnitRemoved += UnitRemovedMethod; newArmy.PointsValueChanged += PointsValueChangedMethod; + newArmy.NameChanged += OnArmyNameChanged; + newArmy.MaxPointsValueChanged += OnMaxPointsValueChanged; //TODO: Clear all buttons EnableCategoryButtons(); @@ -552,6 +556,7 @@ miCloseArmy.Sensitive = nonNullNewArmy; miSaveArmyAs.Sensitive = nonNullNewArmy; miExportArmyAs.Sensitive = nonNullNewArmy; + miEditArmy.Sensitive = nonNullNewArmy; hpaned2.Visible = nonNullNewArmy; loadedArmyPath = null; //New army has no changes, so we can't save it @@ -562,6 +567,16 @@ SetPointsPanelText(); } + private void OnArmyNameChanged (WarFoundryObject obj, string oldValue, string newValue) + { + SetAppTitle(); + } + + private void OnMaxPointsValueChanged (WarFoundryObject obj, int oldValue, int newValue) + { + SetPointsPanelText(); + } + private void SetArmyTree(Army army) { logger.Debug("Resetting tree"); @@ -1175,12 +1190,20 @@ } } - protected void OnTransformedXmlActionActivated (object sender, System.EventArgs e) + protected void OnTransformedXmlActionActivated(object sender, System.EventArgs e) { FrmExportXml form = new FrmExportXml(WarFoundryCore.CurrentArmy); form.Run(); form.Hide(); form.Dispose(); } + + protected void OnMiEditArmyActivated(object sender, System.EventArgs e) + { + FrmEditArmy form = new FrmEditArmy(commandStack, WarFoundryCore.CurrentArmy); + form.Run(); + form.Hide(); + form.Dispose(); + } } }