Mercurial > repos > IBBoard.WarFoundry.GUI.GTK
comparison FrmNewArmy.cs @ 84:9db2112b31d7
Fixes #333: GTK interface doesn't auto-select race if only one exists
* Beat GTK into submission and get its hideous API to select a single item if there is only one item
Re #308: Make GTK# UI translatable
* Add more translations to "New Army" form
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 29 Dec 2010 16:32:15 +0000 |
parents | 68804784bf6f |
children | bfb29a60b802 |
comparison
equal
deleted
inserted
replaced
83:678e9a0392fc | 84:9db2112b31d7 |
---|---|
29 ComboBoxUtils.FillCombo(systemCombo, gameSystems, delegate(GameSystem sys){return sys.Name;}); | 29 ComboBoxUtils.FillCombo(systemCombo, gameSystems, delegate(GameSystem sys){return sys.Name;}); |
30 | 30 |
31 lstRaces.Selection.Changed += new EventHandler(OnSelectionChanged); | 31 lstRaces.Selection.Changed += new EventHandler(OnSelectionChanged); |
32 | 32 |
33 TreeViewColumn raceColumn = new TreeViewColumn(); | 33 TreeViewColumn raceColumn = new TreeViewColumn(); |
34 raceColumn.Title = "Race"; | 34 raceColumn.Title = Translation.GetTranslation("frmNewArmyRaceColumn", "race"); |
35 CellRendererText raceCell = new CellRendererText(); | 35 CellRendererText raceCell = new CellRendererText(); |
36 raceColumn.PackStart(raceCell, true); | 36 raceColumn.PackStart(raceCell, true); |
37 lstRaces.AppendColumn(raceColumn); | 37 lstRaces.AppendColumn(raceColumn); |
38 raceColumn.SetCellDataFunc(raceCell, GtkWarFoundryUtil.RenderWarFoundryObjectName); | 38 raceColumn.SetCellDataFunc(raceCell, GtkWarFoundryUtil.RenderWarFoundryObjectName); |
39 ControlTranslator.TranslateWidget(this); | |
39 | 40 |
40 if (gameSystem != null) | 41 if (gameSystem != null) |
41 { | 42 { |
42 ComboBoxUtils.SelectItem(systemCombo, gameSystem); | 43 ComboBoxUtils.SelectItem(systemCombo, gameSystem); |
43 } | 44 } |
91 | 92 |
92 protected virtual void OnSystemComboChanged(object sender, System.EventArgs e) | 93 protected virtual void OnSystemComboChanged(object sender, System.EventArgs e) |
93 { | 94 { |
94 GameSystem system = ComboBoxUtils.GetSelectedItem<GameSystem>(systemCombo); | 95 GameSystem system = ComboBoxUtils.GetSelectedItem<GameSystem>(systemCombo); |
95 SetRaces(system); | 96 SetRaces(system); |
97 ListStore model = (ListStore)lstRaces.Model; | |
98 | |
99 if (model.IterNChildren() == 1) | |
100 { | |
101 TreeIter iter; | |
102 model.GetIterFirst(out iter); | |
103 lstRaces.Selection.SelectIter(iter); | |
104 } | |
105 | |
96 logger.Debug("System selection changed: " + (system == null ? "null" : system.Name)); | 106 logger.Debug("System selection changed: " + (system == null ? "null" : system.Name)); |
97 SetOkayButtonState(); | 107 SetOkayButtonState(); |
98 } | 108 } |
99 | 109 |
100 private void SetRaces(GameSystem system) | 110 private void SetRaces(GameSystem system) |