Mercurial > repos > IBBoard.WarFoundry.GUI.QtSharp
diff MainWindow.cs @ 33:be876c03054f
Re #245: Create unit tab implementation
* Add stub widget
* Record which unit tabs are open
* Remove two default tabs
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 07 Aug 2010 15:40:37 +0000 |
parents | e405b43a405b |
children |
line wrap: on
line diff
--- a/MainWindow.cs Sat Aug 07 13:39:35 2010 +0000 +++ b/MainWindow.cs Sat Aug 07 15:40:37 2010 +0000 @@ -16,6 +16,7 @@ using IBBoard.WarFoundry.API.Savers; using IBBoard.WarFoundry.GUI.QtSharp.Handler; using IBBoard.WarFoundry.API.Commands; +using IBBoard.WarFoundry.GUI.QtSharp.Widgets; namespace IBBoard.WarFoundry.GUI.QtSharp { @@ -32,6 +33,8 @@ private Preferences preferences; private QAction[] categoryActions; private Dictionary<string, QStandardItem> treeNodes; + private Dictionary<Unit, UnitWidget> openUnitWidgets; + public MainWindow () { @@ -40,6 +43,7 @@ WindowIcon = new QIcon("icons/App.png"); Preferences = new Preferences("WarFoundryQt"); treeNodes = new Dictionary<string, QStandardItem>(); + openUnitWidgets = new Dictionary<Unit, UnitWidget>(); try { @@ -553,7 +557,18 @@ private void OpenUnitDialog(Unit unit) { + UnitWidget currentWidget = DictionaryUtils.GetValue(openUnitWidgets, unit); + if (currentWidget != null) + { + layout.unitTabs.SetCurrentWidget(currentWidget); + } + else + { + UnitWidget unitWidget = new UnitWidget(unit); + openUnitWidgets.Add(unit, unitWidget); + layout.unitTabs.AddTab(unitWidget, unit.Name); + } } void EnableCategoryButtons ()