1
2 package hoplugins.trainingExperience.ui;
3
4 import hoplugins.Commons;
5 import hoplugins.TrainingExperience;
6
7 import plugins.IHOMiniModel;
8
9 import java.awt.BorderLayout;
10 import java.awt.GridLayout;
11 import java.awt.event.ItemEvent;
12 import java.awt.event.ItemListener;
13
14 import javax.swing.JComboBox;
15 import javax.swing.JLabel;
16 import javax.swing.JPanel;
17 import javax.swing.JScrollPane;
18
19
20 /***
21 * Panel where the user can specify a different number of assistant and coach level for testing
22 * effects
23 *
24 * @author <a href=mailto:draghetto@users.sourceforge.net>Massimiliano Amato</a>
25 */
26 public class StaffPanel extends JPanel {
27
28
29 /*** Number of Assistant ComboBox */
30 private JComboBox coTrainer;
31
32 /*** Number of Keeper Assistant ComboBox */
33 private JComboBox keeperTrainer;
34
35 /*** The combo boxes */
36 private JComboBox trainerLevel;
37
38 /*** the current number of coTrainer */
39 private int coTrainerNumber;
40
41 /*** the current number of keeper Trainer */
42 private int keeperTrainerNumber;
43
44 /*** the current level of the coach */
45 private int trainerLevelNumber;
46
47
48
49 /***
50 * Creates a new StaffPanel object.
51 */
52 public StaffPanel() {
53 super();
54 jbInit();
55 }
56
57
58
59 /***
60 * Returns the number of Assistant Trainer
61 *
62 * @return
63 */
64 public int getCoTrainerNumber() {
65 return coTrainerNumber;
66 }
67
68 /***
69 * Returns the number of keeper Trainer
70 *
71 * @return
72 */
73 public int getKeeperTrainerNumber() {
74 return keeperTrainerNumber;
75 }
76
77 /***
78 * Returns the ability of your trainer
79 *
80 * @return
81 */
82 public int getTrainerLevelNumber() {
83 return trainerLevelNumber;
84 }
85
86 /***
87 * Populate the staff with HO actual value, called after each Ho refresh command!
88 */
89 public void reload() {
90 setKeeper(Commons.getModel().getVerein().getTorwartTrainer());
91 setCoTrainer(Commons.getModel().getVerein().getCoTrainer());
92 setTrainer(Commons.getModel().getTrainer().getTrainer() - 1);
93 }
94
95 /***
96 * Populate the Assistant Trainer combobox
97 */
98 private void setAssistantComboBox() {
99 coTrainer = new JComboBox();
100
101 for (int i = 0; i < 11; i++) {
102 coTrainer.addItem(new Integer(i));
103 }
104 }
105
106 /***
107 * TODO Missing Method Documentation
108 *
109 * @param value TODO Missing Method Parameter Documentation
110 */
111 private void setCoTrainer(int value) {
112 if (value > 10) {
113 value = 10;
114 }
115
116 try {
117 coTrainer.setSelectedIndex(value);
118 } catch (Exception e) {
119 }
120 }
121
122 /***
123 * TODO Missing Method Documentation
124 *
125 * @param value TODO Missing Method Parameter Documentation
126 */
127 private void setKeeper(int value) {
128 if (value > 10) {
129 value = 10;
130 }
131
132 try {
133 keeperTrainer.setSelectedIndex(value);
134 } catch (Exception e) {
135 }
136 }
137
138 /***
139 * Populate the Keeper Trainer combobox
140 */
141 private void setKeeperAssistantComboBox() {
142 keeperTrainer = new JComboBox();
143
144 for (int i = 0; i < 11; i++) {
145 keeperTrainer.addItem(new Integer(i));
146 }
147 }
148
149 /***
150 * TODO Missing Method Documentation
151 *
152 * @param value TODO Missing Method Parameter Documentation
153 */
154 private void setTrainer(int value) {
155 if (value > 10) {
156 value = 10;
157 }
158
159 try {
160 trainerLevel.setSelectedIndex(value);
161 } catch (Exception e) {
162 }
163 }
164
165 /***
166 * Populate the Trainer Level combobox
167 */
168 private void setTrainerComboBox() {
169 IHOMiniModel model = Commons.getModel();
170
171 trainerLevel = new JComboBox();
172
173 for (int i = 1; i < 9; i++) {
174 trainerLevel.addItem(model.getHelper().getNameForSkill(i, false));
175 }
176 }
177
178 /***
179 * Initialize the object layout
180 */
181 private void jbInit() {
182 IHOMiniModel model = Commons.getModel();
183 JPanel main = model.getGUI().createImagePanel();
184
185 main.setLayout(new GridLayout(3, 2));
186
187
188 setAssistantComboBox();
189
190 try {
191 coTrainerNumber = model.getVerein().getCoTrainer();
192 } catch (RuntimeException e3) {
193 coTrainerNumber = 0;
194 }
195
196 setCoTrainer(coTrainerNumber);
197 coTrainer.addItemListener(new ItemListener() {
198 public void itemStateChanged(ItemEvent e) {
199
200 Integer n = (Integer) coTrainer.getSelectedItem();
201
202 coTrainerNumber = n.intValue();
203
204
205 if ((keeperTrainerNumber + coTrainerNumber) > 10) {
206 keeperTrainerNumber = 10 - coTrainerNumber;
207 keeperTrainer.setSelectedIndex(keeperTrainerNumber);
208 }
209
210
211 TrainingExperience.refreshPlayerDetail();
212 }
213 });
214
215
216 setTrainerComboBox();
217
218 try {
219 trainerLevelNumber = model.getTrainer().getTrainer();
220 } catch (RuntimeException e1) {
221 trainerLevelNumber = 4;
222 }
223
224 setTrainer(trainerLevelNumber - 1);
225 trainerLevel.addItemListener(new ItemListener() {
226 public void itemStateChanged(ItemEvent e) {
227
228 trainerLevelNumber = trainerLevel.getSelectedIndex() + 1;
229 TrainingExperience.refreshPlayerDetail();
230 }
231 });
232
233
234 setKeeperAssistantComboBox();
235
236 try {
237 keeperTrainerNumber = model.getVerein().getTorwartTrainer();
238 } catch (RuntimeException e2) {
239 keeperTrainerNumber = 0;
240 }
241
242 setKeeper(keeperTrainerNumber);
243 keeperTrainer.addItemListener(new ItemListener() {
244 public void itemStateChanged(ItemEvent e) {
245
246 Integer n = (Integer) keeperTrainer.getSelectedItem();
247
248 keeperTrainerNumber = n.intValue();
249
250
251 if ((coTrainerNumber + keeperTrainerNumber) > 10) {
252 coTrainerNumber = 10 - keeperTrainerNumber;
253 coTrainer.setSelectedIndex(coTrainerNumber);
254 }
255
256
257 TrainingExperience.refreshPlayerDetail();
258 }
259 });
260
261 main.add(new JLabel(model.getResource().getProperty("Trainerlevel")));
262 main.add(trainerLevel);
263 main.add(new JLabel(model.getResource().getProperty("CoTrainer")));
264 main.add(coTrainer);
265 main.add(new JLabel(model.getResource().getProperty("Torwarttrainer")));
266 main.add(keeperTrainer);
267 setOpaque(false);
268 setLayout(new BorderLayout());
269 add(new JScrollPane(main), BorderLayout.CENTER);
270 }
271 }