]>
Commit | Line | Data |
---|---|---|
878ddf1f | 1 | /** @file\r |
2 | \r | |
3 | The file is used to create, update DataHub of MSA/MBD file\r | |
4 | \r | |
5 | Copyright (c) 2006, Intel Corporation\r | |
6 | All rights reserved. This program and the accompanying materials\r | |
7 | are licensed and made available under the terms and conditions of the BSD License\r | |
8 | which accompanies this distribution. The full text of the license may be found at\r | |
9 | http://opensource.org/licenses/bsd-license.php\r | |
10 | \r | |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
13 | \r | |
14 | **/\r | |
15 | package org.tianocore.packaging.module.ui;\r | |
16 | \r | |
17 | import java.awt.event.ActionEvent;\r | |
18 | import java.awt.event.ItemEvent;\r | |
19 | import java.awt.event.ItemListener;\r | |
20 | \r | |
21 | import javax.swing.JButton;\r | |
22 | import javax.swing.JComboBox;\r | |
23 | import javax.swing.JLabel;\r | |
24 | import javax.swing.JPanel;\r | |
25 | import javax.swing.JTextField;\r | |
26 | \r | |
27 | import org.tianocore.ExternUsage;\r | |
28 | import org.tianocore.ExternsDocument;\r | |
29 | import org.tianocore.common.DataValidation;\r | |
30 | import org.tianocore.common.Log;\r | |
31 | import org.tianocore.packaging.common.ui.IComboBox;\r | |
32 | import org.tianocore.packaging.common.ui.IInternalFrame;\r | |
33 | \r | |
34 | /**\r | |
35 | The class is used to create, update DataHub of MSA/MBD file \r | |
36 | It extends IInternalFrame\r | |
37 | \r | |
38 | @since ModuleEditor 1.0\r | |
39 | \r | |
40 | **/\r | |
41 | public class ModuleExterns extends IInternalFrame implements ItemListener {\r | |
42 | \r | |
43 | ///\r | |
44 | /// Define class Serial Version UID\r | |
45 | ///\r | |
46 | private static final long serialVersionUID = -7382008402932047191L;\r | |
47 | \r | |
48 | //\r | |
49 | //Define class members\r | |
50 | //\r | |
51 | private ExternsDocument.Externs externs = null;\r | |
52 | \r | |
53 | private int location = -1;\r | |
54 | \r | |
55 | private JPanel jContentPane = null;\r | |
56 | \r | |
57 | private JLabel jLabelName = null;\r | |
58 | \r | |
59 | private JLabel jLabelUsage = null;\r | |
60 | \r | |
61 | private JComboBox jComboBoxUsage = null;\r | |
62 | \r | |
63 | private JButton jButtonOk = null;\r | |
64 | \r | |
65 | private JButton jButtonCancel = null;\r | |
66 | \r | |
67 | private JLabel jLabelOverrideID = null;\r | |
68 | \r | |
69 | private JTextField jTextFieldOverrideID = null;\r | |
70 | \r | |
71 | private JPanel jPanelType1 = null;\r | |
72 | \r | |
73 | private JLabel jLabelModuleEntryPoint = null;\r | |
74 | \r | |
75 | private JLabel jLabelModuleUnloadImage = null;\r | |
76 | \r | |
77 | private IComboBox iComboBoxModuleEntryPoint = null;\r | |
78 | \r | |
79 | private IComboBox iComboBoxModuleUnloadImage = null;\r | |
80 | \r | |
81 | private JPanel jPanelType2 = null;\r | |
82 | \r | |
83 | private JLabel jLabelConstructor = null;\r | |
84 | \r | |
85 | private JTextField jTextFieldConstructor = null;\r | |
86 | \r | |
87 | private JLabel jLabelDestructor = null;\r | |
88 | \r | |
89 | private JTextField jTextFieldDestructor = null;\r | |
90 | \r | |
91 | private JComboBox jComboBoxType = null;\r | |
92 | \r | |
93 | private JPanel jPanelType3 = null;\r | |
94 | \r | |
95 | private JLabel jLabelDriverBinding = null;\r | |
96 | \r | |
97 | private JLabel jLabelComponentName = null;\r | |
98 | \r | |
99 | private IComboBox iComboBoxComponentName = null;\r | |
100 | \r | |
101 | private IComboBox iComboBoxDriverBinding = null;\r | |
102 | \r | |
103 | private JLabel jLabelDriverConfig = null;\r | |
104 | \r | |
105 | private JLabel jLabelDriverDiag = null;\r | |
106 | \r | |
107 | private IComboBox iComboBoxDriverDiag = null;\r | |
108 | \r | |
109 | private IComboBox iComboBoxDriverConfig = null;\r | |
110 | \r | |
111 | private JPanel jPanelType4 = null;\r | |
112 | \r | |
113 | private JLabel jLabelSetVirtualAddressMapCallBack = null;\r | |
114 | \r | |
115 | private IComboBox iComboBoxSetVirtualAddressMapCallBack = null;\r | |
116 | \r | |
117 | private JLabel jLabelExitBootServicesCallBack = null;\r | |
118 | \r | |
119 | private IComboBox iComboBoxExitBootServicesCallBack = null;\r | |
120 | \r | |
121 | private JPanel jPanelType5 = null;\r | |
122 | \r | |
123 | private JLabel jLabelUserDefined = null;\r | |
124 | \r | |
125 | private IComboBox iComboBoxUserDefined = null;\r | |
126 | \r | |
127 | /**\r | |
128 | This method initializes jComboBoxUsage \r | |
129 | \r | |
130 | @return javax.swing.JComboBox jComboBoxUsage\r | |
131 | \r | |
132 | **/\r | |
133 | private JComboBox getJComboBoxUsage() {\r | |
134 | if (jComboBoxUsage == null) {\r | |
135 | jComboBoxUsage = new JComboBox();\r | |
136 | jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r | |
137 | }\r | |
138 | return jComboBoxUsage;\r | |
139 | }\r | |
140 | \r | |
141 | /**\r | |
142 | This method initializes jButtonOk \r | |
143 | \r | |
144 | @return javax.swing.JButton jButtonOk\r | |
145 | \r | |
146 | **/\r | |
147 | private JButton getJButtonOk() {\r | |
148 | if (jButtonOk == null) {\r | |
149 | jButtonOk = new JButton();\r | |
150 | jButtonOk.setText("OK");\r | |
151 | jButtonOk.setLocation(new java.awt.Point(290, 215));\r | |
152 | jButtonOk.setSize(new java.awt.Dimension(90, 20));\r | |
153 | jButtonOk.addActionListener(this);\r | |
154 | }\r | |
155 | return jButtonOk;\r | |
156 | }\r | |
157 | \r | |
158 | /**\r | |
159 | This method initializes jButtonCancel \r | |
160 | \r | |
161 | @return javax.swing.JButton jButtonCancel\r | |
162 | \r | |
163 | **/\r | |
164 | private JButton getJButtonCancel() {\r | |
165 | if (jButtonCancel == null) {\r | |
166 | jButtonCancel = new JButton();\r | |
167 | jButtonCancel.setText("Cancel");\r | |
168 | jButtonCancel.setLocation(new java.awt.Point(390, 215));\r | |
169 | jButtonCancel.setSize(new java.awt.Dimension(90, 20));\r | |
170 | jButtonCancel.addActionListener(this);\r | |
171 | }\r | |
172 | return jButtonCancel;\r | |
173 | }\r | |
174 | \r | |
175 | /**\r | |
176 | This method initializes jTextFieldOverrideID \r | |
177 | \r | |
178 | @return javax.swing.JTextField jTextFieldOverrideID\r | |
179 | \r | |
180 | **/\r | |
181 | private JTextField getJTextFieldOverrideID() {\r | |
182 | if (jTextFieldOverrideID == null) {\r | |
183 | jTextFieldOverrideID = new JTextField();\r | |
2a8b1c0a | 184 | jTextFieldOverrideID.setBounds(new java.awt.Rectangle(160, 60, 50, 20));\r |
878ddf1f | 185 | }\r |
186 | return jTextFieldOverrideID;\r | |
187 | }\r | |
188 | \r | |
189 | /**\r | |
190 | This method initializes jPanelType1 \r | |
191 | \r | |
192 | @return javax.swing.JPanel jPanelType1\r | |
193 | \r | |
194 | **/\r | |
195 | private JPanel getJPanelType1() {\r | |
196 | if (jPanelType1 == null) {\r | |
197 | jLabelModuleUnloadImage = new JLabel();\r | |
198 | jLabelModuleUnloadImage.setBounds(new java.awt.Rectangle(15, 30, 140, 20));\r | |
199 | jLabelModuleUnloadImage.setText("Module Unload Image");\r | |
200 | jLabelModuleEntryPoint = new JLabel();\r | |
201 | jLabelModuleEntryPoint.setBounds(new java.awt.Rectangle(15, 5, 140, 20));\r | |
202 | jLabelModuleEntryPoint.setText("Module Entry Point");\r | |
203 | jPanelType1 = new JPanel();\r | |
204 | jPanelType1.setLayout(null);\r | |
205 | jPanelType1.setBounds(new java.awt.Rectangle(0, 105, 490, 55));\r | |
206 | jPanelType1.add(jLabelModuleEntryPoint, null);\r | |
207 | jPanelType1.add(jLabelModuleUnloadImage, null);\r | |
208 | jPanelType1.add(getIComboBoxModuleUnloadImage(), null);\r | |
209 | jPanelType1.add(getIComboBoxModuleEntryPoint(), null);\r | |
210 | }\r | |
211 | return jPanelType1;\r | |
212 | }\r | |
213 | \r | |
214 | /**\r | |
215 | This method initializes jComboBoxModuleEntryPoint \r | |
216 | \r | |
217 | @return javax.swing.JComboBox iComboBoxModuleEntryPoint\r | |
218 | \r | |
219 | **/\r | |
220 | private IComboBox getIComboBoxModuleEntryPoint() {\r | |
221 | if (iComboBoxModuleEntryPoint == null) {\r | |
222 | iComboBoxModuleEntryPoint = new IComboBox();\r | |
223 | iComboBoxModuleEntryPoint.setBounds(new java.awt.Rectangle(160, 5, 320, 20));\r | |
224 | }\r | |
225 | return iComboBoxModuleEntryPoint;\r | |
226 | }\r | |
227 | \r | |
228 | /**\r | |
229 | This method initializes jComboBoxModuleUnloadImage \r | |
230 | \r | |
231 | @return javax.swing.JComboBox iComboBoxModuleUnloadImage\r | |
232 | \r | |
233 | **/\r | |
234 | private IComboBox getIComboBoxModuleUnloadImage() {\r | |
235 | if (iComboBoxModuleUnloadImage == null) {\r | |
236 | iComboBoxModuleUnloadImage = new IComboBox();\r | |
237 | iComboBoxModuleUnloadImage.setBounds(new java.awt.Rectangle(160, 30, 320, 20));\r | |
238 | }\r | |
239 | return iComboBoxModuleUnloadImage;\r | |
240 | }\r | |
241 | \r | |
242 | /**\r | |
243 | This method initializes jPanelType2 \r | |
244 | \r | |
245 | @return javax.swing.JPanel jPanelType2\r | |
246 | \r | |
247 | **/\r | |
248 | private JPanel getJPanelType2() {\r | |
249 | if (jPanelType2 == null) {\r | |
250 | jLabelDestructor = new JLabel();\r | |
251 | jLabelDestructor.setBounds(new java.awt.Rectangle(15, 30, 140, 20));\r | |
252 | jLabelDestructor.setText("Destructor");\r | |
253 | jLabelConstructor = new JLabel();\r | |
254 | jLabelConstructor.setBounds(new java.awt.Rectangle(15, 5, 140, 20));\r | |
255 | jLabelConstructor.setText("Constructor");\r | |
256 | jPanelType2 = new JPanel();\r | |
257 | jPanelType2.setLayout(null);\r | |
258 | jPanelType2.setBounds(new java.awt.Rectangle(0, 105, 490, 55));\r | |
259 | jPanelType2.add(jLabelConstructor, null);\r | |
260 | jPanelType2.add(getJTextFieldConstructor(), null);\r | |
261 | jPanelType2.add(jLabelDestructor, null);\r | |
262 | jPanelType2.add(getJTextFieldDestructor(), null);\r | |
263 | }\r | |
264 | return jPanelType2;\r | |
265 | }\r | |
266 | \r | |
267 | /**\r | |
268 | This method initializes jTextFieldConstructor \r | |
269 | \r | |
270 | @return javax.swing.JTextField jTextFieldConstructor\r | |
271 | \r | |
272 | **/\r | |
273 | private JTextField getJTextFieldConstructor() {\r | |
274 | if (jTextFieldConstructor == null) {\r | |
275 | jTextFieldConstructor = new JTextField();\r | |
276 | jTextFieldConstructor.setBounds(new java.awt.Rectangle(160, 5, 320, 20));\r | |
277 | }\r | |
278 | return jTextFieldConstructor;\r | |
279 | }\r | |
280 | \r | |
281 | /**\r | |
282 | This method initializes jTextFieldDestructor \r | |
283 | \r | |
284 | @return javax.swing.JTextField jTextFieldDestructor\r | |
285 | \r | |
286 | **/\r | |
287 | private JTextField getJTextFieldDestructor() {\r | |
288 | if (jTextFieldDestructor == null) {\r | |
289 | jTextFieldDestructor = new JTextField();\r | |
290 | jTextFieldDestructor.setBounds(new java.awt.Rectangle(160, 30, 320, 20));\r | |
291 | }\r | |
292 | return jTextFieldDestructor;\r | |
293 | }\r | |
294 | \r | |
295 | /**\r | |
296 | This method initializes jComboBoxType \r | |
297 | \r | |
298 | @return javax.swing.JComboBox jComboBoxType\r | |
299 | \r | |
300 | **/\r | |
301 | private JComboBox getJComboBoxType() {\r | |
302 | if (jComboBoxType == null) {\r | |
303 | jComboBoxType = new JComboBox();\r | |
304 | jComboBoxType.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r | |
305 | jComboBoxType.addItemListener(this);\r | |
306 | }\r | |
307 | return jComboBoxType;\r | |
308 | }\r | |
309 | \r | |
310 | /**\r | |
311 | This method initializes jPanelType3 \r | |
312 | \r | |
313 | @return javax.swing.JPanel jPanelType3\r | |
314 | \r | |
315 | **/\r | |
316 | private JPanel getJPanelType3() {\r | |
317 | if (jPanelType3 == null) {\r | |
318 | jLabelDriverDiag = new JLabel();\r | |
319 | jLabelDriverDiag.setBounds(new java.awt.Rectangle(15, 80, 140, 20));\r | |
320 | jLabelDriverDiag.setText("Driver Diag");\r | |
321 | jLabelDriverConfig = new JLabel();\r | |
322 | jLabelDriverConfig.setBounds(new java.awt.Rectangle(15, 55, 140, 20));\r | |
323 | jLabelDriverConfig.setText("Driver Config");\r | |
324 | jLabelComponentName = new JLabel();\r | |
325 | jLabelComponentName.setBounds(new java.awt.Rectangle(15, 30, 140, 20));\r | |
326 | jLabelComponentName.setText("Component Name");\r | |
327 | jLabelDriverBinding = new JLabel();\r | |
328 | jLabelDriverBinding.setBounds(new java.awt.Rectangle(15, 5, 140, 20));\r | |
329 | jLabelDriverBinding.setText("Driver Binding");\r | |
330 | jPanelType3 = new JPanel();\r | |
331 | jPanelType3.setLayout(null);\r | |
332 | jPanelType3.setBounds(new java.awt.Rectangle(0, 105, 490, 105));\r | |
333 | jPanelType3.add(jLabelDriverBinding, null);\r | |
334 | jPanelType3.add(jLabelComponentName, null);\r | |
335 | jPanelType3.add(getIComboBoxComponentName(), null);\r | |
336 | jPanelType3.add(getIComboBoxDriverBinding(), null);\r | |
337 | jPanelType3.add(jLabelDriverConfig, null);\r | |
338 | jPanelType3.add(jLabelDriverDiag, null);\r | |
339 | jPanelType3.add(getIComboBoxDriverDiag(), null);\r | |
340 | jPanelType3.add(getIComboBoxDriverConfig(), null);\r | |
341 | }\r | |
342 | return jPanelType3;\r | |
343 | }\r | |
344 | \r | |
345 | /**\r | |
346 | This method initializes jComboBoxComponentName \r | |
347 | \r | |
348 | @return javax.swing.JComboBox iComboBoxComponentName\r | |
349 | \r | |
350 | **/\r | |
351 | private IComboBox getIComboBoxComponentName() {\r | |
352 | if (iComboBoxComponentName == null) {\r | |
353 | iComboBoxComponentName = new IComboBox();\r | |
354 | iComboBoxComponentName.setBounds(new java.awt.Rectangle(160, 30, 320, 20));\r | |
355 | }\r | |
356 | return iComboBoxComponentName;\r | |
357 | }\r | |
358 | \r | |
359 | /**\r | |
360 | This method initializes jComboBoxDriverBinding \r | |
361 | \r | |
362 | @return javax.swing.JComboBox iComboBoxDriverBinding\r | |
363 | \r | |
364 | **/\r | |
365 | private IComboBox getIComboBoxDriverBinding() {\r | |
366 | if (iComboBoxDriverBinding == null) {\r | |
367 | iComboBoxDriverBinding = new IComboBox();\r | |
368 | iComboBoxDriverBinding.setBounds(new java.awt.Rectangle(160, 5, 320, 20));\r | |
369 | }\r | |
370 | return iComboBoxDriverBinding;\r | |
371 | }\r | |
372 | \r | |
373 | /**\r | |
374 | This method initializes jComboBoxDriverDiag \r | |
375 | \r | |
376 | @return javax.swing.JComboBox iComboBoxDriverDiag\r | |
377 | \r | |
378 | **/\r | |
379 | private IComboBox getIComboBoxDriverDiag() {\r | |
380 | if (iComboBoxDriverDiag == null) {\r | |
381 | iComboBoxDriverDiag = new IComboBox();\r | |
382 | iComboBoxDriverDiag.setBounds(new java.awt.Rectangle(160, 80, 320, 20));\r | |
383 | }\r | |
384 | return iComboBoxDriverDiag;\r | |
385 | }\r | |
386 | \r | |
387 | /**\r | |
388 | This method initializes jComboBoxDriverConfig \r | |
389 | \r | |
390 | @return javax.swing.JComboBox iComboBoxDriverConfig\r | |
391 | \r | |
392 | */\r | |
393 | private IComboBox getIComboBoxDriverConfig() {\r | |
394 | if (iComboBoxDriverConfig == null) {\r | |
395 | iComboBoxDriverConfig = new IComboBox();\r | |
396 | iComboBoxDriverConfig.setBounds(new java.awt.Rectangle(160, 55, 320, 20));\r | |
397 | }\r | |
398 | return iComboBoxDriverConfig;\r | |
399 | }\r | |
400 | \r | |
401 | /**\r | |
402 | This method initializes jPanelType4 \r | |
403 | \r | |
404 | @return javax.swing.JPanel jPanelType4\r | |
405 | \r | |
406 | **/\r | |
407 | private JPanel getJPanelType4() {\r | |
408 | if (jPanelType4 == null) {\r | |
409 | jLabelExitBootServicesCallBack = new JLabel();\r | |
410 | jLabelExitBootServicesCallBack.setBounds(new java.awt.Rectangle(15, 30, 200, 20));\r | |
411 | jLabelExitBootServicesCallBack.setText("Exit Boot Services Call Back");\r | |
412 | jLabelSetVirtualAddressMapCallBack = new JLabel();\r | |
413 | jLabelSetVirtualAddressMapCallBack.setBounds(new java.awt.Rectangle(15, 5, 200, 20));\r | |
414 | jLabelSetVirtualAddressMapCallBack.setText("Set Virtual Address Map Call Back");\r | |
415 | jPanelType4 = new JPanel();\r | |
416 | jPanelType4.setLayout(null);\r | |
417 | jPanelType4.setBounds(new java.awt.Rectangle(0, 105, 490, 55));\r | |
418 | jPanelType4.add(jLabelSetVirtualAddressMapCallBack, null);\r | |
419 | jPanelType4.add(getIComboBoxSetVirtualAddressMapCallBack(), null);\r | |
420 | jPanelType4.add(jLabelExitBootServicesCallBack, null);\r | |
421 | jPanelType4.add(getIComboBoxExitBootServicesCallBack(), null);\r | |
422 | }\r | |
423 | return jPanelType4;\r | |
424 | }\r | |
425 | \r | |
426 | /**\r | |
427 | This method initializes jComboBoxSetVirtualAddressMapCallBack \r | |
428 | \r | |
429 | @return javax.swing.JComboBox iComboBoxSetVirtualAddressMapCallBack\r | |
430 | \r | |
431 | **/\r | |
432 | private IComboBox getIComboBoxSetVirtualAddressMapCallBack() {\r | |
433 | if (iComboBoxSetVirtualAddressMapCallBack == null) {\r | |
434 | iComboBoxSetVirtualAddressMapCallBack = new IComboBox();\r | |
435 | iComboBoxSetVirtualAddressMapCallBack.setBounds(new java.awt.Rectangle(220, 5, 260, 20));\r | |
436 | }\r | |
437 | return iComboBoxSetVirtualAddressMapCallBack;\r | |
438 | }\r | |
439 | \r | |
440 | /**\r | |
441 | This method initializes jComboBoxExitBootServicesCallBack \r | |
442 | \r | |
443 | @return javax.swing.JComboBox iComboBoxExitBootServicesCallBack\r | |
444 | \r | |
445 | **/\r | |
446 | private IComboBox getIComboBoxExitBootServicesCallBack() {\r | |
447 | if (iComboBoxExitBootServicesCallBack == null) {\r | |
448 | iComboBoxExitBootServicesCallBack = new IComboBox();\r | |
449 | iComboBoxExitBootServicesCallBack.setBounds(new java.awt.Rectangle(220, 30, 260, 20));\r | |
450 | }\r | |
451 | return iComboBoxExitBootServicesCallBack;\r | |
452 | }\r | |
453 | \r | |
454 | /**\r | |
455 | This method initializes jPanelType5 \r | |
456 | \r | |
457 | @return javax.swing.JPanel jPanelType5\r | |
458 | \r | |
459 | **/\r | |
460 | private JPanel getJPanelType5() {\r | |
461 | if (jPanelType5 == null) {\r | |
462 | jLabelUserDefined = new JLabel();\r | |
463 | jLabelUserDefined.setBounds(new java.awt.Rectangle(15, 5, 140, 20));\r | |
464 | jLabelUserDefined.setText("User Defined");\r | |
465 | jPanelType5 = new JPanel();\r | |
466 | jPanelType5.setLayout(null);\r | |
467 | jPanelType5.setBounds(new java.awt.Rectangle(0, 105, 490, 30));\r | |
468 | jPanelType5.add(jLabelUserDefined, null);\r | |
469 | jPanelType5.add(getIComboBoxUserDefined(), null);\r | |
470 | }\r | |
471 | return jPanelType5;\r | |
472 | }\r | |
473 | \r | |
474 | /**\r | |
475 | This method initializes jComboBoxUserDefined \r | |
476 | \r | |
477 | @return javax.swing.JComboBox iComboBoxUserDefined\r | |
478 | \r | |
479 | **/\r | |
480 | private IComboBox getIComboBoxUserDefined() {\r | |
481 | if (iComboBoxUserDefined == null) {\r | |
482 | iComboBoxUserDefined = new IComboBox();\r | |
483 | iComboBoxUserDefined.setBounds(new java.awt.Rectangle(160, 5, 320, 20));\r | |
484 | }\r | |
485 | return iComboBoxUserDefined;\r | |
486 | }\r | |
487 | \r | |
488 | public static void main(String[] args) {\r | |
489 | \r | |
490 | }\r | |
491 | \r | |
492 | /**\r | |
493 | This is the default constructor\r | |
494 | \r | |
495 | **/\r | |
496 | public ModuleExterns() {\r | |
497 | super();\r | |
498 | init();\r | |
499 | this.setVisible(true);\r | |
500 | }\r | |
501 | \r | |
502 | /**\r | |
503 | This is the override edit constructor\r | |
504 | \r | |
505 | @param inExterns The input data of ExternsDocument.Externs\r | |
506 | \r | |
507 | **/\r | |
508 | public ModuleExterns(ExternsDocument.Externs inExterns) {\r | |
509 | super();\r | |
510 | init(inExterns);\r | |
511 | this.setVisible(true);\r | |
512 | }\r | |
513 | \r | |
514 | /**\r | |
515 | This is the override edit constructor\r | |
516 | \r | |
517 | @param inExterns The input data of ExternsDocument.Externs\r | |
518 | @param type The input data of node type\r | |
519 | @param index The input data of node index\r | |
520 | \r | |
521 | **/\r | |
522 | public ModuleExterns(ExternsDocument.Externs inExterns, int type, int index) {\r | |
523 | super();\r | |
524 | init(inExterns, type, index);\r | |
525 | this.setVisible(true);\r | |
526 | }\r | |
527 | \r | |
528 | /**\r | |
529 | This method initializes this\r | |
530 | \r | |
531 | @param inExterns The input data of ExternsDocument.Externs\r | |
532 | \r | |
533 | **/\r | |
534 | private void init(ExternsDocument.Externs inExterns) {\r | |
535 | init();\r | |
536 | this.setExterns(inExterns);\r | |
537 | }\r | |
538 | \r | |
539 | /**\r | |
540 | This method initializes this\r | |
541 | Fill values to all fields if these values are not empty\r | |
542 | \r | |
543 | @param inExterns The input data of ExternsDocument.Externs\r | |
544 | @param type The input data of node type\r | |
545 | @param index The input data of node index\r | |
546 | \r | |
547 | **/\r | |
548 | private void init(ExternsDocument.Externs inExterns, int type, int index) {\r | |
549 | init(inExterns);\r | |
550 | this.location = index;\r | |
551 | if (this.externs.getExternList().size() > 0) {\r | |
552 | //\r | |
553 | //Get common fields\r | |
554 | //\r | |
555 | if (this.externs.getExternArray(index).getUsage() != null) {\r | |
556 | this.jComboBoxUsage.setSelectedItem(this.externs.getExternArray(index).getUsage().toString());\r | |
557 | }\r | |
558 | this.jTextFieldOverrideID.setText(String.valueOf(this.externs.getExternArray(index).getOverrideID()));\r | |
559 | //\r | |
560 | //Type 1\r | |
561 | //\r | |
562 | if (this.externs.getExternArray(index).getModuleEntryPointList().size() > 0) {\r | |
563 | this.jComboBoxType.setSelectedIndex(0);\r | |
564 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getModuleEntryPointList().size(); indexI++) {\r | |
565 | this.iComboBoxModuleEntryPoint.addItem(this.externs.getExternArray(index)\r | |
566 | .getModuleEntryPointArray(indexI));\r | |
567 | }\r | |
568 | }\r | |
569 | if (this.externs.getExternArray(index).getModuleUnloadImageList().size() > 0) {\r | |
570 | this.jComboBoxType.setSelectedIndex(0);\r | |
571 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getModuleUnloadImageList().size(); indexI++) {\r | |
572 | this.iComboBoxModuleUnloadImage.addItem(this.externs.getExternArray(index)\r | |
573 | .getModuleUnloadImageArray(indexI));\r | |
574 | }\r | |
575 | }\r | |
576 | \r | |
577 | //\r | |
578 | //Type 2\r | |
579 | //\r | |
580 | if (this.externs.getExternArray(index).getConstructor() != null) {\r | |
581 | this.jComboBoxType.setSelectedIndex(1);\r | |
582 | this.jTextFieldConstructor.setText(this.externs.getExternArray(index).getConstructor());\r | |
583 | }\r | |
584 | if (this.externs.getExternArray(index).getDestructor() != null) {\r | |
585 | this.jComboBoxType.setSelectedIndex(1);\r | |
586 | this.jTextFieldDestructor.setText(this.externs.getExternArray(index).getDestructor());\r | |
587 | }\r | |
588 | \r | |
589 | //\r | |
590 | //Type 3\r | |
591 | //\r | |
592 | if (this.externs.getExternArray(index).getDriverBindingList().size() > 0) {\r | |
593 | this.jComboBoxType.setSelectedIndex(2);\r | |
594 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getDriverBindingList().size(); indexI++) {\r | |
595 | this.iComboBoxDriverBinding.addItem(this.externs.getExternArray(index)\r | |
596 | .getDriverBindingArray(indexI));\r | |
597 | }\r | |
598 | }\r | |
599 | if (this.externs.getExternArray(index).getComponentNameList().size() > 0) {\r | |
600 | this.jComboBoxType.setSelectedIndex(2);\r | |
601 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getComponentNameList().size(); indexI++) {\r | |
602 | this.iComboBoxComponentName.addItem(this.externs.getExternArray(index)\r | |
603 | .getComponentNameArray(indexI));\r | |
604 | }\r | |
605 | }\r | |
606 | if (this.externs.getExternArray(index).getDriverConfigList().size() > 0) {\r | |
607 | this.jComboBoxType.setSelectedIndex(2);\r | |
608 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getDriverConfigList().size(); indexI++) {\r | |
609 | this.iComboBoxDriverConfig.addItem(this.externs.getExternArray(index).getDriverConfigArray(indexI));\r | |
610 | }\r | |
611 | }\r | |
612 | if (this.externs.getExternArray(index).getDriverDiagList().size() > 0) {\r | |
613 | this.jComboBoxType.setSelectedIndex(2);\r | |
614 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getDriverDiagList().size(); indexI++) {\r | |
615 | this.iComboBoxDriverDiag.addItem(this.externs.getExternArray(index).getDriverDiagArray(indexI));\r | |
616 | }\r | |
617 | }\r | |
618 | \r | |
619 | //\r | |
620 | //Type 4\r | |
621 | //\r | |
622 | if (this.externs.getExternArray(index).getSetVirtualAddressMapCallBackList().size() > 0) {\r | |
623 | this.jComboBoxType.setSelectedIndex(3);\r | |
624 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getSetVirtualAddressMapCallBackList()\r | |
625 | .size(); indexI++) {\r | |
626 | this.iComboBoxSetVirtualAddressMapCallBack\r | |
627 | .addItem(this.externs\r | |
628 | .getExternArray(index)\r | |
629 | .getSetVirtualAddressMapCallBackArray(\r | |
630 | indexI));\r | |
631 | }\r | |
632 | }\r | |
633 | if (this.externs.getExternArray(index).getExitBootServicesCallBackList().size() > 0) {\r | |
634 | this.jComboBoxType.setSelectedIndex(3);\r | |
635 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getExitBootServicesCallBackList()\r | |
636 | .size(); indexI++) {\r | |
637 | this.iComboBoxExitBootServicesCallBack\r | |
638 | .addItem(this.externs\r | |
639 | .getExternArray(index)\r | |
640 | .getExitBootServicesCallBackArray(indexI));\r | |
641 | }\r | |
642 | }\r | |
643 | \r | |
644 | //\r | |
645 | //Type 5\r | |
646 | //\r | |
647 | if (this.externs.getExternArray(index).getUserDefinedList().size() > 0) {\r | |
648 | this.jComboBoxType.setSelectedIndex(4);\r | |
649 | for (int indexI = 0; indexI < this.externs.getExternArray(index).getUserDefinedList().size(); indexI++) {\r | |
650 | this.iComboBoxUserDefined.addItem(this.externs.getExternArray(index).getUserDefinedArray(indexI));\r | |
651 | }\r | |
652 | }\r | |
653 | \r | |
654 | this.jComboBoxType.setEnabled(false);\r | |
655 | switchType();\r | |
656 | }\r | |
657 | }\r | |
658 | \r | |
659 | /**\r | |
660 | This method initializes this\r | |
661 | \r | |
662 | **/\r | |
663 | private void init() {\r | |
664 | this.setSize(500, 515);\r | |
665 | this.setContentPane(getJContentPane());\r | |
666 | this.setTitle("Externs");\r | |
667 | initFrame();\r | |
668 | this.setViewMode(false);\r | |
669 | }\r | |
670 | \r | |
671 | /**\r | |
672 | Disable all components when the mode is view\r | |
673 | \r | |
674 | @param isView true - The view mode; false - The non-view mode\r | |
675 | \r | |
676 | **/\r | |
677 | public void setViewMode(boolean isView) {\r | |
678 | this.jButtonOk.setVisible(false);\r | |
679 | this.jButtonCancel.setVisible(false);\r | |
680 | if (isView) {\r | |
681 | this.jComboBoxUsage.setEnabled(!isView);\r | |
682 | this.jTextFieldOverrideID.setEnabled(!isView);\r | |
683 | //\r | |
684 | //Type 1\r | |
685 | //\r | |
686 | this.iComboBoxModuleEntryPoint.setEnabled(!isView);\r | |
687 | this.iComboBoxModuleUnloadImage.setEnabled(!isView);\r | |
688 | \r | |
689 | //\r | |
690 | //Type 2\r | |
691 | //\r | |
692 | this.jTextFieldConstructor.setEnabled(!isView);\r | |
693 | this.jTextFieldDestructor.setEnabled(!isView);\r | |
694 | \r | |
695 | //\r | |
696 | //Type 3\r | |
697 | //\r | |
698 | this.iComboBoxDriverBinding.setEnabled(!isView);\r | |
699 | this.iComboBoxComponentName.setEnabled(!isView);\r | |
700 | this.iComboBoxDriverConfig.setEnabled(!isView);\r | |
701 | this.iComboBoxDriverDiag.setEnabled(!isView);\r | |
702 | \r | |
703 | //\r | |
704 | //Type 4\r | |
705 | //\r | |
706 | this.iComboBoxSetVirtualAddressMapCallBack.setEnabled(!isView);\r | |
707 | this.iComboBoxExitBootServicesCallBack.setEnabled(!isView);\r | |
708 | \r | |
709 | //\r | |
710 | //Type 5\r | |
711 | //\r | |
712 | this.iComboBoxUserDefined.setEnabled(!isView);\r | |
713 | \r | |
714 | this.jComboBoxType.setEnabled(!isView);\r | |
715 | this.jButtonCancel.setEnabled(!isView);\r | |
716 | this.jButtonOk.setEnabled(!isView);\r | |
717 | }\r | |
718 | }\r | |
719 | \r | |
720 | /**\r | |
721 | This method initializes jContentPane\r | |
722 | \r | |
723 | @return javax.swing.JPanel jContentPane\r | |
724 | \r | |
725 | **/\r | |
726 | private JPanel getJContentPane() {\r | |
727 | if (jContentPane == null) {\r | |
728 | jLabelOverrideID = new JLabel();\r | |
729 | jLabelOverrideID.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r | |
730 | jLabelOverrideID.setText("Override ID");\r | |
731 | jLabelUsage = new JLabel();\r | |
732 | jLabelUsage.setText("Usage");\r | |
733 | jLabelUsage.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r | |
734 | jLabelName = new JLabel();\r | |
735 | jLabelName.setText("Choose Type");\r | |
736 | jLabelName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r | |
737 | jContentPane = new JPanel();\r | |
738 | jContentPane.setLayout(null);\r | |
739 | jContentPane.setSize(new java.awt.Dimension(490, 244));\r | |
740 | jContentPane.add(getJPanelType2(), null);\r | |
741 | jContentPane.add(jLabelName, null);\r | |
742 | jContentPane.add(getJComboBoxType(), null);\r | |
743 | jContentPane.add(getJPanelType3(), null);\r | |
744 | jContentPane.add(getJPanelType4(), null);\r | |
745 | jContentPane.add(getJPanelType5(), null);\r | |
746 | jContentPane.add(jLabelUsage, null);\r | |
747 | jContentPane.add(getJComboBoxUsage(), null);\r | |
748 | jContentPane.add(getJButtonOk(), null);\r | |
749 | jContentPane.add(getJButtonCancel(), null);\r | |
750 | jContentPane.add(jLabelOverrideID, null);\r | |
751 | jContentPane.add(getJTextFieldOverrideID(), null);\r | |
752 | \r | |
753 | jContentPane.add(getJPanelType1(), null);\r | |
754 | }\r | |
755 | return jContentPane;\r | |
756 | }\r | |
757 | \r | |
758 | /**\r | |
759 | This method initializes Usage type and Externs type\r | |
760 | \r | |
761 | **/\r | |
762 | private void initFrame() {\r | |
763 | jComboBoxUsage.addItem("ALWAYS_CONSUMED");\r | |
764 | jComboBoxUsage.addItem("ALWAYS_PRODUCED");\r | |
765 | \r | |
2a8b1c0a | 766 | jComboBoxType.addItem("Entry/Unload");\r |
767 | jComboBoxType.addItem("Library");\r | |
768 | jComboBoxType.addItem("Driver Bindings");\r | |
769 | jComboBoxType.addItem("Call Backs");\r | |
770 | jComboBoxType.addItem("Other");\r | |
878ddf1f | 771 | \r |
772 | jPanelType1.setVisible(true);\r | |
773 | jPanelType2.setVisible(false);\r | |
774 | jPanelType3.setVisible(false);\r | |
775 | jPanelType4.setVisible(false);\r | |
776 | jPanelType5.setVisible(false);\r | |
777 | }\r | |
778 | \r | |
779 | /* (non-Javadoc)\r | |
780 | * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r | |
781 | *\r | |
782 | * Override actionPerformed to listen all actions\r | |
783 | * \r | |
784 | */\r | |
785 | public void actionPerformed(ActionEvent arg0) {\r | |
786 | if (arg0.getSource() == jButtonOk) {\r | |
787 | this.setEdited(true);\r | |
788 | this.save();\r | |
789 | this.dispose();\r | |
790 | }\r | |
791 | \r | |
792 | if (arg0.getSource() == jButtonCancel) {\r | |
793 | this.dispose();\r | |
794 | }\r | |
795 | }\r | |
796 | \r | |
797 | public void itemStateChanged(ItemEvent arg0) {\r | |
798 | if (arg0.getSource() == jComboBoxType) {\r | |
799 | if (arg0.getStateChange() == ItemEvent.SELECTED) {\r | |
800 | switchType();\r | |
801 | }\r | |
802 | }\r | |
803 | }\r | |
804 | \r | |
805 | /**\r | |
806 | Show/Hide relevant fields via select different types\r | |
807 | \r | |
808 | **/\r | |
809 | private void switchType() {\r | |
810 | if (jComboBoxType.getSelectedIndex() == 0) {\r | |
811 | jPanelType1.setVisible(true);\r | |
812 | jPanelType2.setVisible(false);\r | |
813 | jPanelType3.setVisible(false);\r | |
814 | jPanelType4.setVisible(false);\r | |
815 | jPanelType5.setVisible(false);\r | |
816 | }\r | |
817 | if (jComboBoxType.getSelectedIndex() == 1) {\r | |
818 | jPanelType1.setVisible(false);\r | |
819 | jPanelType2.setVisible(true);\r | |
820 | jPanelType3.setVisible(false);\r | |
821 | jPanelType4.setVisible(false);\r | |
822 | jPanelType5.setVisible(false);\r | |
823 | }\r | |
824 | if (jComboBoxType.getSelectedIndex() == 2) {\r | |
825 | jPanelType1.setVisible(false);\r | |
826 | jPanelType2.setVisible(false);\r | |
827 | jPanelType3.setVisible(true);\r | |
828 | jPanelType4.setVisible(false);\r | |
829 | jPanelType5.setVisible(false);\r | |
830 | }\r | |
831 | if (jComboBoxType.getSelectedIndex() == 3) {\r | |
832 | jPanelType1.setVisible(false);\r | |
833 | jPanelType2.setVisible(false);\r | |
834 | jPanelType3.setVisible(false);\r | |
835 | jPanelType4.setVisible(true);\r | |
836 | jPanelType5.setVisible(false);\r | |
837 | }\r | |
838 | if (jComboBoxType.getSelectedIndex() == 4) {\r | |
839 | jPanelType1.setVisible(false);\r | |
840 | jPanelType2.setVisible(false);\r | |
841 | jPanelType3.setVisible(false);\r | |
842 | jPanelType4.setVisible(false);\r | |
843 | jPanelType5.setVisible(true);\r | |
844 | }\r | |
845 | }\r | |
846 | \r | |
847 | /**\r | |
848 | Set ExternsDocument.Externs\r | |
849 | \r | |
850 | @return ExternsDocument.Externs\r | |
851 | \r | |
852 | \r | |
853 | **/\r | |
854 | public ExternsDocument.Externs getExterns() {\r | |
855 | return externs;\r | |
856 | }\r | |
857 | \r | |
858 | /**\r | |
859 | Get ExternsDocument.Externs\r | |
860 | \r | |
861 | @param externs The input ExternsDocument.Externs\r | |
862 | \r | |
863 | **/\r | |
864 | public void setExterns(ExternsDocument.Externs externs) {\r | |
865 | this.externs = externs;\r | |
866 | }\r | |
867 | \r | |
868 | /**\r | |
869 | Data validation for all fields\r | |
870 | \r | |
871 | @retval true - All datas are valid\r | |
872 | @retval false - At least one data is invalid\r | |
873 | \r | |
874 | **/\r | |
875 | public boolean check() {\r | |
876 | //\r | |
877 | // Check if all fields have correct data types \r | |
878 | //\r | |
879 | if (this.jComboBoxType.getSelectedIndex() == 1) {\r | |
880 | if (!isEmpty(this.jTextFieldConstructor.getText())\r | |
881 | && !DataValidation.isConstructor(this.jTextFieldConstructor.getText())) {\r | |
882 | Log.err("Incorrect data type for Constructor");\r | |
883 | return false;\r | |
884 | }\r | |
885 | if (!isEmpty(this.jTextFieldDestructor.getText())\r | |
886 | && !DataValidation.isDestructor(this.jTextFieldDestructor.getText())) {\r | |
887 | Log.err("Incorrect data type for Destructor");\r | |
888 | return false;\r | |
889 | }\r | |
890 | }\r | |
891 | \r | |
892 | if (!isEmpty(this.jTextFieldOverrideID.getText())\r | |
893 | && !DataValidation.isOverrideID(this.jTextFieldOverrideID.getText())) {\r | |
894 | Log.err("Incorrect data type for Override ID");\r | |
895 | return false;\r | |
896 | }\r | |
897 | \r | |
898 | return true;\r | |
899 | }\r | |
900 | \r | |
901 | /**\r | |
902 | Save all components of Externs\r | |
903 | if exists externs, set the value directly\r | |
904 | if not exists externs, new an instance first\r | |
905 | \r | |
906 | **/\r | |
907 | public void save() {\r | |
908 | try {\r | |
909 | if (this.externs == null) {\r | |
910 | externs = ExternsDocument.Externs.Factory.newInstance();\r | |
911 | }\r | |
912 | ExternsDocument.Externs.Extern extern = ExternsDocument.Externs.Extern.Factory.newInstance();\r | |
913 | //\r | |
914 | //Save common fields\r | |
915 | //\r | |
916 | extern.setUsage(ExternUsage.Enum.forString(jComboBoxUsage.getSelectedItem().toString()));\r | |
917 | if (!isEmpty(this.jTextFieldOverrideID.getText())) {\r | |
918 | extern.setOverrideID(Integer.parseInt(this.jTextFieldOverrideID.getText()));\r | |
919 | }\r | |
920 | \r | |
921 | //\r | |
922 | //Save type 1\r | |
923 | //\r | |
924 | if (this.jComboBoxType.getSelectedIndex() == 0) {\r | |
925 | if (this.iComboBoxModuleEntryPoint.getItemCount() > 0) {\r | |
926 | for (int index = 0; index < this.iComboBoxModuleEntryPoint.getItemCount(); index++) {\r | |
927 | extern.addNewModuleEntryPoint();\r | |
928 | extern.setModuleEntryPointArray(index, this.iComboBoxModuleEntryPoint.getItemAt(index)\r | |
929 | .toString());\r | |
930 | }\r | |
931 | }\r | |
932 | if (this.iComboBoxModuleEntryPoint.getItemCount() > 0) {\r | |
933 | for (int index = 0; index < this.iComboBoxModuleUnloadImage.getItemCount(); index++) {\r | |
934 | extern.addNewModuleUnloadImage();\r | |
935 | extern.setModuleUnloadImageArray(index, this.iComboBoxModuleUnloadImage.getItemAt(index)\r | |
936 | .toString());\r | |
937 | }\r | |
938 | }\r | |
939 | }\r | |
940 | \r | |
941 | //\r | |
942 | //Save type 2\r | |
943 | //\r | |
944 | if (this.jComboBoxType.getSelectedIndex() == 1) {\r | |
945 | if (!isEmpty(this.jTextFieldConstructor.getText())) {\r | |
946 | extern.setConstructor(this.jTextFieldConstructor.getText());\r | |
947 | }\r | |
948 | if (!isEmpty(this.jTextFieldDestructor.getText())) {\r | |
949 | extern.setDestructor(this.jTextFieldDestructor.getText());\r | |
950 | }\r | |
951 | }\r | |
952 | \r | |
953 | //\r | |
954 | //Save type 3\r | |
955 | //\r | |
956 | if (this.jComboBoxType.getSelectedIndex() == 2) {\r | |
957 | if (this.iComboBoxDriverBinding.getItemCount() > 0) {\r | |
958 | for (int index = 0; index < this.iComboBoxDriverBinding.getItemCount(); index++) {\r | |
959 | extern.addNewDriverBinding();\r | |
960 | extern.setDriverBindingArray(index, this.iComboBoxDriverBinding.getItemAt(index).toString());\r | |
961 | }\r | |
962 | }\r | |
963 | if (this.iComboBoxComponentName.getItemCount() > 0) {\r | |
964 | for (int index = 0; index < this.iComboBoxComponentName.getItemCount(); index++) {\r | |
965 | extern.addNewComponentName();\r | |
966 | extern.setComponentNameArray(index, this.iComboBoxComponentName.getItemAt(index).toString());\r | |
967 | }\r | |
968 | }\r | |
969 | if (this.iComboBoxDriverConfig.getItemCount() > 0) {\r | |
970 | for (int index = 0; index < this.iComboBoxDriverConfig.getItemCount(); index++) {\r | |
971 | extern.addNewDriverConfig();\r | |
972 | extern.setDriverConfigArray(index, this.iComboBoxDriverConfig.getItemAt(index).toString());\r | |
973 | }\r | |
974 | }\r | |
975 | if (this.iComboBoxDriverDiag.getItemCount() > 0) {\r | |
976 | for (int index = 0; index < this.iComboBoxDriverDiag.getItemCount(); index++) {\r | |
977 | extern.addNewDriverDiag();\r | |
978 | extern.setDriverDiagArray(index, this.iComboBoxDriverDiag.getItemAt(index).toString());\r | |
979 | }\r | |
980 | }\r | |
981 | }\r | |
982 | \r | |
983 | //\r | |
984 | //Save type 4\r | |
985 | //\r | |
986 | if (this.jComboBoxType.getSelectedIndex() == 3) {\r | |
987 | if (this.iComboBoxSetVirtualAddressMapCallBack.getItemCount() > 0) {\r | |
988 | for (int index = 0; index < this.iComboBoxSetVirtualAddressMapCallBack.getItemCount(); index++) {\r | |
989 | extern.addNewSetVirtualAddressMapCallBack();\r | |
990 | extern\r | |
991 | .setSetVirtualAddressMapCallBackArray(\r | |
992 | index,\r | |
993 | this.iComboBoxSetVirtualAddressMapCallBack\r | |
994 | .getItemAt(\r | |
995 | index)\r | |
996 | .toString());\r | |
997 | }\r | |
998 | }\r | |
999 | if (this.iComboBoxExitBootServicesCallBack.getItemCount() > 0) {\r | |
1000 | for (int index = 0; index < this.iComboBoxExitBootServicesCallBack.getItemCount(); index++) {\r | |
1001 | extern.addNewExitBootServicesCallBack();\r | |
1002 | extern.setExitBootServicesCallBackArray(index,\r | |
1003 | this.iComboBoxExitBootServicesCallBack.getItemAt(index)\r | |
1004 | .toString());\r | |
1005 | }\r | |
1006 | }\r | |
1007 | }\r | |
1008 | //\r | |
1009 | //Save type 5\r | |
1010 | //\r | |
1011 | if (this.jComboBoxType.getSelectedIndex() == 4) {\r | |
1012 | if (this.iComboBoxUserDefined.getItemCount() > 0) {\r | |
1013 | for (int index = 0; index < this.iComboBoxUserDefined.getItemCount(); index++) {\r | |
1014 | extern.addNewUserDefined();\r | |
1015 | extern.setUserDefinedArray(index, this.iComboBoxUserDefined.getItemAt(index).toString());\r | |
1016 | }\r | |
1017 | }\r | |
1018 | }\r | |
1019 | \r | |
1020 | if (location > -1) {\r | |
1021 | externs.setExternArray(location, extern);\r | |
1022 | } else {\r | |
1023 | externs.addNewExtern();\r | |
1024 | externs.setExternArray(externs.getExternList().size() - 1, extern);\r | |
1025 | }\r | |
1026 | } catch (Exception e) {\r | |
1027 | Log.err("Update Externs", e.getMessage());\r | |
1028 | }\r | |
1029 | }\r | |
1030 | }\r |