Browse Source

Update menu whenever the selected character is updated

master
Chris Smith 15 years ago
parent
commit
27d7ced52e

+ 13
- 1
src/uk/co/md87/evetool/ui/MainWindow.java View File

@@ -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
 }

+ 4
- 0
src/uk/co/md87/evetool/ui/data/AccountChar.java View File

@@ -86,6 +86,8 @@ public class AccountChar extends ListableImpl {
86 86
                         sheet.getResult().getSkillPoints()
87 87
                         - sheet.getResult().getClone().getSpLimit()));
88 88
             }
89
+
90
+            fireUpdateListener();
89 91
         } else {
90 92
             this.balance.setText("(Error)");
91 93
         }
@@ -95,6 +97,8 @@ public class AccountChar extends ListableImpl {
95 97
         this.training = training;
96 98
 
97 99
         updateSkillInfo(true);
100
+
101
+        fireUpdateListener();
98 102
     }
99 103
 
100 104
     public synchronized void updateSkillInfo(final boolean initial) {

Loading…
Cancel
Save