|
@@ -44,6 +44,8 @@ import uk.co.md87.evetool.ApiFactory;
|
44
|
44
|
import uk.co.md87.evetool.ConfigManager;
|
45
|
45
|
import uk.co.md87.evetool.ui.ContentPanel.Page;
|
46
|
46
|
import uk.co.md87.evetool.ui.data.AccountChar;
|
|
47
|
+import uk.co.md87.evetool.ui.listable.Listable;
|
|
48
|
+import uk.co.md87.evetool.ui.listable.UpdateListener;
|
47
|
49
|
import uk.co.md87.evetool.ui.pages.OverviewPage;
|
48
|
50
|
import uk.co.md87.evetool.ui.pages.ShipsPage;
|
49
|
51
|
import uk.co.md87.evetool.ui.pages.SkillPage;
|
|
@@ -53,7 +55,7 @@ import uk.co.md87.evetool.ui.pages.SkillPage;
|
53
|
55
|
* TODO: Document MainWindow
|
54
|
56
|
* @author chris
|
55
|
57
|
*/
|
56
|
|
-public class MainWindow extends JFrame {
|
|
58
|
+public class MainWindow extends JFrame implements UpdateListener {
|
57
|
59
|
|
58
|
60
|
/**
|
59
|
61
|
* A version number for this class. It should be changed whenever the class
|
|
@@ -126,8 +128,14 @@ public class MainWindow extends JFrame {
|
126
|
128
|
}
|
127
|
129
|
|
128
|
130
|
public void setSelectedChar(final AccountChar newChar) {
|
|
131
|
+ if (selectedChar != null) {
|
|
132
|
+ selectedChar.removeUpdateListener(this);
|
|
133
|
+ }
|
|
134
|
+
|
129
|
135
|
selectedChar = newChar;
|
130
|
136
|
|
|
137
|
+ selectedChar.addUpdateListener(this);
|
|
138
|
+
|
131
|
139
|
for (Page page : pages.values()) {
|
132
|
140
|
page.setActiveChar(newChar);
|
133
|
141
|
}
|
|
@@ -149,4 +157,8 @@ public class MainWindow extends JFrame {
|
149
|
157
|
add(new StatusPanel(this), "growx, span, height 30!");
|
150
|
158
|
}
|
151
|
159
|
|
|
160
|
+ public void listableUpdated(Listable listable) {
|
|
161
|
+ menuPanel.setSelectedChar(selectedChar);
|
|
162
|
+ }
|
|
163
|
+
|
152
|
164
|
}
|