]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/ModuleDataHubs.java
1. Restructure some folders and files
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / ui / ModuleDataHubs.java
CommitLineData
a13899c5 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\r
16package org.tianocore.frameworkwizard.module.ui;\r
17\r
18import java.awt.event.ActionEvent;\r
19import java.awt.event.ComponentEvent;\r
20import java.awt.event.ItemEvent;\r
21import java.util.Vector;\r
22\r
23import javax.swing.JButton;\r
24import javax.swing.JComboBox;\r
25import javax.swing.JLabel;\r
26import javax.swing.JPanel;\r
27import javax.swing.JScrollPane;\r
28import javax.swing.JTextArea;\r
29import javax.swing.JTextField;\r
30\r
31import org.tianocore.DataHubUsage;\r
32import org.tianocore.DataHubsDocument;\r
33import org.tianocore.DataHubsDocument.DataHubs;\r
34import org.tianocore.DataHubsDocument.DataHubs.DataHubRecord;\r
35import org.tianocore.ModuleSurfaceAreaDocument.ModuleSurfaceArea;\r
36import org.tianocore.frameworkwizard.common.DataType;\r
37import org.tianocore.frameworkwizard.common.DataValidation;\r
38import org.tianocore.frameworkwizard.common.EnumerationData;\r
39import org.tianocore.frameworkwizard.common.Log;\r
a13899c5 40import org.tianocore.frameworkwizard.common.Tools;\r
79cb6fdb 41import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleType;\r
a13899c5 42import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
43import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
44import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
79cb6fdb 45import org.tianocore.frameworkwizard.module.Identifications.DataHubs.DataHubsIdentification;\r
46import org.tianocore.frameworkwizard.module.Identifications.DataHubs.DataHubsVector;\r
a13899c5 47\r
48/**\r
49 The class is used to create, update DataHub of MSA/MBD file\r
50 It extends IInternalFrame\r
51 \r
52\r
53\r
54 **/\r
55public class ModuleDataHubs extends IInternalFrame {\r
56\r
57 ///\r
58 /// Define class Serial Version UID\r
59 ///\r
60 private static final long serialVersionUID = -3667906991966638892L;\r
61\r
62 //\r
63 //Define class members\r
64 //\r
65 private JPanel jContentPane = null;\r
66\r
67 private JLabel jLabelUsage = null;\r
68\r
69 private JComboBox jComboBoxUsage = null;\r
70\r
71 private JLabel jLabelDataHubRecord = null;\r
72\r
73 private JTextField jTextFieldDataHubRecord = null;\r
74\r
75 private StarLabel jStarLabel1 = null;\r
76\r
77 private StarLabel jStarLabel2 = null;\r
78\r
79 private JLabel jLabelFeatureFlag = null;\r
80\r
81 private JTextField jTextFieldFeatureFlag = null;\r
82\r
83 private JLabel jLabelArch = null;\r
84\r
85 private JTextArea jTextAreaList = null;\r
86\r
87 private JComboBox jComboBoxList = null;\r
88\r
89 private JButton jButtonAdd = null;\r
90\r
91 private JButton jButtonRemove = null;\r
92\r
93 private JButton jButtonUpdate = null;\r
94\r
95 private JScrollPane jScrollPane = null;\r
96\r
97 private JScrollPane jScrollPaneList = null;\r
98\r
99 private ICheckBoxList iCheckBoxListArch = null;\r
100\r
101 private JScrollPane jScrollPaneArch = null;\r
102\r
103 private JLabel jLabelHelpText = null;\r
104\r
105 private JTextField jTextFieldHelpText = null;\r
106\r
107 //\r
108 // Not used by UI\r
109 //\r
110 private int intSelectedItemId = 0;\r
111\r
112 private OpeningModuleType omt = null;\r
113\r
114 private ModuleSurfaceArea msa = null;\r
115\r
116 private DataHubsDocument.DataHubs dataHubs = null;\r
117\r
118 private DataHubsIdentification id = null;\r
119\r
120 private DataHubsVector vid = new DataHubsVector();\r
121\r
122 private EnumerationData ed = new EnumerationData();\r
123\r
124 /**\r
125 This method initializes jComboBoxUsage \r
126 \r
127 @return javax.swing.JComboBox jComboBoxUsage\r
128 \r
129 **/\r
130 private JComboBox getJComboBoxUsage() {\r
131 if (jComboBoxUsage == null) {\r
132 jComboBoxUsage = new JComboBox();\r
133 jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
134 jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20));\r
135 }\r
136 return jComboBoxUsage;\r
137 }\r
138\r
139 /**\r
140 This method initializes jTextFieldDataHubRecord \r
141 \r
142 @return javax.swing.JTextField jTextFieldDataHubRecord\r
143 \r
144 **/\r
145 private JTextField getJTextFieldDataHubRecord() {\r
146 if (jTextFieldDataHubRecord == null) {\r
147 jTextFieldDataHubRecord = new JTextField();\r
148 jTextFieldDataHubRecord.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
149 jTextFieldDataHubRecord.setPreferredSize(new java.awt.Dimension(320, 20));\r
79cb6fdb 150 jTextFieldDataHubRecord.setToolTipText("Enter the C Name of the Data Hub Record");\r
a13899c5 151 }\r
152 return jTextFieldDataHubRecord;\r
153 }\r
154\r
155 /**\r
156 * This method initializes jTextFieldFeatureFlag \r
157 * \r
158 * @return javax.swing.JTextField \r
159 */\r
160 private JTextField getJTextFieldFeatureFlag() {\r
161 if (jTextFieldFeatureFlag == null) {\r
162 jTextFieldFeatureFlag = new JTextField();\r
163 jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 85, 320, 20));\r
164 jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20));\r
165 }\r
166 return jTextFieldFeatureFlag;\r
167 }\r
168\r
169 /**\r
170 This method initializes jComboBoxFileList \r
171 \r
172 @return javax.swing.JComboBox jComboBoxFileList\r
173 \r
174 **/\r
175 private JComboBox getJComboBoxList() {\r
176 if (jComboBoxList == null) {\r
177 jComboBoxList = new JComboBox();\r
178 jComboBoxList.setBounds(new java.awt.Rectangle(15, 195, 210, 20));\r
179 jComboBoxList.addItemListener(this);\r
180 jComboBoxList.addActionListener(this);\r
181 jComboBoxList.setPreferredSize(new java.awt.Dimension(210, 20));\r
182 }\r
183 return jComboBoxList;\r
184 }\r
185\r
186 /**\r
187 This method initializes jButtonAdd \r
188 \r
189 @return javax.swing.JButton jButtonAdd\r
190 \r
191 **/\r
192 private JButton getJButtonAdd() {\r
193 if (jButtonAdd == null) {\r
194 jButtonAdd = new JButton();\r
195 jButtonAdd.setBounds(new java.awt.Rectangle(230, 195, 80, 20));\r
196 jButtonAdd.setText("Add");\r
197 jButtonAdd.addActionListener(this);\r
198 jButtonAdd.setPreferredSize(new java.awt.Dimension(80, 20));\r
199 }\r
200 return jButtonAdd;\r
201 }\r
202\r
203 /**\r
204 This method initializes jButtonRemove \r
205 \r
206 @return javax.swing.JButton jButtonRemove\r
207 \r
208 **/\r
209 private JButton getJButtonRemove() {\r
210 if (jButtonRemove == null) {\r
211 jButtonRemove = new JButton();\r
212 jButtonRemove.setBounds(new java.awt.Rectangle(400, 195, 80, 20));\r
213 jButtonRemove.setText("Remove");\r
214 jButtonRemove.addActionListener(this);\r
215 jButtonRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
216 }\r
217 return jButtonRemove;\r
218 }\r
219\r
220 /**\r
221 This method initializes jButtonUpdate \r
222 \r
223 @return javax.swing.JButton jButtonUpdate\r
224 \r
225 **/\r
226 private JButton getJButtonUpdate() {\r
227 if (jButtonUpdate == null) {\r
228 jButtonUpdate = new JButton();\r
229 jButtonUpdate.setBounds(new java.awt.Rectangle(315, 195, 80, 20));\r
230 jButtonUpdate.setPreferredSize(new java.awt.Dimension(80, 20));\r
231 jButtonUpdate.setText("Update");\r
232 jButtonUpdate.addActionListener(this);\r
233 }\r
234 return jButtonUpdate;\r
235 }\r
236\r
237 /**\r
238 * This method initializes jScrollPaneFileList \r
239 * \r
240 * @return javax.swing.JScrollPane \r
241 */\r
242 private JScrollPane getJScrollPaneList() {\r
243 if (jScrollPaneList == null) {\r
244 jScrollPaneList = new JScrollPane();\r
245 jScrollPaneList.setBounds(new java.awt.Rectangle(15, 220, 465, 240));\r
246 jScrollPaneList.setViewportView(getJTextAreaList());\r
247 jScrollPaneList.setPreferredSize(new java.awt.Dimension(465, 240));\r
248 }\r
249 return jScrollPaneList;\r
250 }\r
251\r
252 /**\r
253 This method initializes jScrollPane \r
254 \r
255 @return javax.swing.JScrollPane \r
256 */\r
257 private JScrollPane getJScrollPane() {\r
258 if (jScrollPane == null) {\r
259 jScrollPane = new JScrollPane();\r
260 jScrollPane.setViewportView(getJContentPane());\r
261 }\r
262 return jScrollPane;\r
263 }\r
264\r
265 /**\r
266 * This method initializes jTextAreaFileList \r
267 * \r
268 * @return javax.swing.JTextArea \r
269 */\r
270 private JTextArea getJTextAreaList() {\r
271 if (jTextAreaList == null) {\r
272 jTextAreaList = new JTextArea();\r
273 jTextAreaList.setEditable(false);\r
274\r
275 }\r
276 return jTextAreaList;\r
277 }\r
278\r
279 /**\r
280 This method initializes iCheckBoxListArch \r
281\r
282 @return ICheckBoxList \r
283 **/\r
284 private ICheckBoxList getICheckBoxListSupportedArchitectures() {\r
285 if (iCheckBoxListArch == null) {\r
286 iCheckBoxListArch = new ICheckBoxList();\r
287 iCheckBoxListArch.addFocusListener(this);\r
288 iCheckBoxListArch.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
289 }\r
290 return iCheckBoxListArch;\r
291 }\r
292\r
293 /**\r
294 This method initializes jScrollPaneArch \r
295\r
296 @return javax.swing.JScrollPane \r
297\r
298 **/\r
299 private JScrollPane getJScrollPaneArch() {\r
300 if (jScrollPaneArch == null) {\r
301 jScrollPaneArch = new JScrollPane();\r
302 jScrollPaneArch.setBounds(new java.awt.Rectangle(160, 110, 320, 80));\r
303 jScrollPaneArch.setPreferredSize(new java.awt.Dimension(320, 80));\r
304 jScrollPaneArch.setViewportView(getICheckBoxListSupportedArchitectures());\r
305 }\r
306 return jScrollPaneArch;\r
307 }\r
308\r
309 /**\r
310 This method initializes jTextFieldHelpText \r
311 \r
312 @return javax.swing.JTextField \r
313 \r
314 **/\r
315 private JTextField getJTextFieldHelpText() {\r
316 if (jTextFieldHelpText == null) {\r
317 jTextFieldHelpText = new JTextField();\r
318 jTextFieldHelpText.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
319 jTextFieldHelpText.setPreferredSize(new java.awt.Dimension(320, 20));\r
320 }\r
321 return jTextFieldHelpText;\r
322 }\r
323\r
324 public static void main(String[] args) {\r
325\r
326 }\r
327\r
328 /**\r
329 This method initializes this\r
330 \r
331 **/\r
332 private void init() {\r
333 this.setSize(500, 515);\r
334 this.setContentPane(getJScrollPane());\r
335 this.setTitle("Data Hubs");\r
336 initFrame();\r
337 this.setViewMode(false);\r
338 }\r
339\r
340 /**\r
341 This method initializes this\r
342 Fill values to all fields if these values are not empty\r
343 \r
344 @param inPackageDependencies\r
345\r
346 **/\r
347 private void init(DataHubs inDataHubs) {\r
348 init();\r
349 this.dataHubs = inDataHubs;\r
350\r
351 if (this.dataHubs != null) {\r
352 if (this.dataHubs.getDataHubRecordList().size() > 0) {\r
353 for (int index = 0; index < this.dataHubs.getDataHubRecordList().size(); index++) {\r
354 String arg0 = dataHubs.getDataHubRecordList().get(index).getDataHubCName();\r
355 String arg1 = null;\r
356 if (dataHubs.getDataHubRecordList().get(index).getUsage() != null) {\r
357 arg1 = dataHubs.getDataHubRecordList().get(index).getUsage().toString(); \r
358 }\r
359 \r
360 String arg2 = dataHubs.getDataHubRecordList().get(index).getFeatureFlag();\r
361 Vector<String> arg3 = Tools.convertListToVector(dataHubs.getDataHubRecordList().get(index)\r
362 .getSupArchList());\r
363 String arg4 = dataHubs.getDataHubRecordList().get(index).getHelpText();\r
364 \r
365 id = new DataHubsIdentification(arg0, arg1, arg2, arg3, arg4);\r
366 vid.addDataHubs(id);\r
367 }\r
368 }\r
369 }\r
370 //\r
371 // Update the list\r
372 //\r
373 Tools.generateComboBoxByVector(jComboBoxList, vid.getDataHubsName());\r
374 reloadListArea();\r
375 }\r
376\r
377 /**\r
378 This is the default constructor\r
379 \r
380 **/\r
381 public ModuleDataHubs() {\r
382 super();\r
383 init();\r
384 this.setVisible(true);\r
385 }\r
386\r
387 /**\r
388 This is the override edit constructor\r
389 \r
390 @param inDataHubs The input DataHubsDocument.DataHubs\r
391 \r
392 **/\r
393 public ModuleDataHubs(OpeningModuleType inOmt) {\r
394 super();\r
395 this.omt = inOmt;\r
396 this.msa = omt.getXmlMsa();\r
397 init(msa.getDataHubs());\r
398 this.setVisible(true);\r
399 }\r
400\r
401 /**\r
402 Disable all components when the mode is view\r
403 \r
404 @param isView true - The view mode; false - The non-view mode\r
405 \r
406 **/\r
407 public void setViewMode(boolean isView) {\r
408 if (isView) {\r
409 this.jTextFieldDataHubRecord.setEnabled(!isView);\r
410 this.jComboBoxUsage.setEnabled(!isView);\r
411 }\r
412 }\r
413\r
414 /**\r
415 This method initializes jContentPane\r
416 \r
417 @return javax.swing.JPanel jContentPane\r
418 \r
419 **/\r
420 private JPanel getJContentPane() {\r
421 if (jContentPane == null) {\r
422 jLabelDataHubRecord = new JLabel();\r
423 jLabelDataHubRecord.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
424 jLabelDataHubRecord.setText("Data Hub Record");\r
425 jLabelUsage = new JLabel();\r
426 jLabelUsage.setText("Usage");\r
427 jLabelUsage.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
428 jLabelArch = new JLabel();\r
429 jLabelArch.setBounds(new java.awt.Rectangle(15, 110, 140, 20));\r
430 jLabelArch.setText("Arch");\r
431 jLabelFeatureFlag = new JLabel();\r
432 jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
433 jLabelFeatureFlag.setText("Feature Flag");\r
434 jLabelHelpText = new JLabel();\r
435 jLabelHelpText.setBounds(new java.awt.Rectangle(14, 60, 140, 20));\r
436 jLabelHelpText.setText("Help Text");\r
437\r
438 jContentPane = new JPanel();\r
439 jContentPane.setLayout(null);\r
440 jContentPane.setPreferredSize(new java.awt.Dimension(490, 475));\r
441\r
442 jContentPane.add(jLabelDataHubRecord, null);\r
443 jContentPane.add(jLabelUsage, null);\r
444 jContentPane.add(jLabelFeatureFlag, null);\r
445 jContentPane.add(jLabelArch, null);\r
446\r
447 jContentPane.add(getJTextFieldDataHubRecord(), null);\r
448 jContentPane.add(getJComboBoxUsage(), null);\r
449 jContentPane.add(getJTextFieldFeatureFlag(), null);\r
450\r
451 jStarLabel1 = new StarLabel();\r
452 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
453 jStarLabel2 = new StarLabel();\r
454 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
455\r
456 jContentPane.add(jStarLabel1, null);\r
457 jContentPane.add(jStarLabel2, null);\r
458\r
459 jContentPane.add(getJComboBoxList(), null);\r
460 jContentPane.add(getJButtonAdd(), null);\r
461 jContentPane.add(getJButtonRemove(), null);\r
462 jContentPane.add(getJButtonUpdate(), null);\r
463 jContentPane.add(getJScrollPaneList(), null);\r
464 jContentPane.add(getJScrollPaneArch(), null);\r
465 jContentPane.add(jLabelHelpText, null);\r
466 jContentPane.add(getJTextFieldHelpText(), null);\r
467 }\r
468 return jContentPane;\r
469 }\r
470\r
471 /**\r
472 This method initializes Usage type\r
473 \r
474 **/\r
475 private void initFrame() {\r
476 Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVDataHubUsage());\r
477 this.iCheckBoxListArch.setAllItems(ed.getVSupportedArchitectures());\r
478 }\r
479\r
480 /* (non-Javadoc)\r
481 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
482 *\r
483 * Override actionPerformed to listen all actions\r
484 * \r
485 */\r
486 public void actionPerformed(ActionEvent arg0) {\r
487 if (arg0.getSource() == jButtonAdd) {\r
488 if (!checkAdd()) {\r
489 return;\r
490 }\r
491 addToList();\r
492 }\r
493 if (arg0.getSource() == jButtonRemove) {\r
494 removeFromList();\r
495 }\r
496 if (arg0.getSource() == jButtonUpdate) {\r
497 if (!checkAdd()) {\r
498 return;\r
499 }\r
500 updateForList();\r
501 }\r
502 }\r
503\r
504 /**\r
505 Data validation for all fields\r
506 \r
507 @retval true - All datas are valid\r
508 @retval false - At least one data is invalid\r
509 \r
510 **/\r
511 public boolean checkAdd() {\r
512 //\r
513 // Check if all fields have correct data types \r
514 //\r
515\r
516 //\r
517 // Check DataHubRecord \r
518 //\r
519 if (isEmpty(this.jTextFieldDataHubRecord.getText())) {\r
520 Log.err("Data Hub Record couldn't be empty");\r
521 return false;\r
522 }\r
523\r
524 if (!isEmpty(this.jTextFieldDataHubRecord.getText())) {\r
525 if (!DataValidation.isC_NameType(this.jTextFieldDataHubRecord.getText())) {\r
526 Log.err("Incorrect data type for Data Hub Record");\r
527 return false;\r
528 }\r
529 }\r
530\r
531 //\r
532 // Check FeatureFlag\r
533 //\r
534 if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {\r
535 if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {\r
536 Log.err("Incorrect data type for Feature Flag");\r
537 return false;\r
538 }\r
539 }\r
540\r
541 return true;\r
542 }\r
543\r
544 /**\r
545 Save all components of DataHubs\r
546 if exists dataHubs, set the value directly\r
547 if not exists dataHubs, new an instance first\r
548 \r
549 **/\r
550 public void save() {\r
551 try {\r
552 int count = this.vid.size();\r
553\r
554 this.dataHubs = DataHubs.Factory.newInstance();\r
555 if (count > 0) {\r
556 for (int index = 0; index < count; index++) {\r
557 DataHubRecord p = DataHubRecord.Factory.newInstance();\r
558 if (!isEmpty(vid.getDataHubs(index).getName())) {\r
559 p.setDataHubCName(vid.getDataHubs(index).getName());\r
560 }\r
561 if (!isEmpty(vid.getDataHubs(index).getUsage())) {\r
562 p.setUsage(DataHubUsage.Enum.forString(vid.getDataHubs(index).getUsage()));\r
563 }\r
564 if (!isEmpty(vid.getDataHubs(index).getFeatureFlag())) {\r
565 p.setFeatureFlag(vid.getDataHubs(index).getFeatureFlag());\r
566 }\r
567 if (vid.getDataHubs(index).getSupArchList() != null\r
568 && vid.getDataHubs(index).getSupArchList().size() > 0) {\r
569 p.setSupArchList(vid.getDataHubs(index).getSupArchList());\r
570 }\r
571 if (!isEmpty(vid.getDataHubs(index).getHelp())) {\r
572 p.setHelpText(vid.getDataHubs(index).getHelp());\r
573 }\r
574 this.dataHubs.addNewDataHubRecord();\r
575 this.dataHubs.setDataHubRecordArray(dataHubs.getDataHubRecordList().size() - 1, p);\r
576 }\r
577 }\r
578\r
579 this.msa.setDataHubs(dataHubs);\r
580 this.omt.setSaved(false);\r
581 } catch (Exception e) {\r
582 Log.err("Update Data Hubs", e.getMessage());\r
583 }\r
584 }\r
585\r
586 /* (non-Javadoc)\r
587 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
588 * \r
589 * Override componentResized to resize all components when frame's size is changed\r
590 */\r
591 public void componentResized(ComponentEvent arg0) {\r
592 int intCurrentWidth = this.getJContentPane().getWidth();\r
593 int intCurrentHeight = this.getJContentPane().getHeight();\r
594 int intPreferredWidth = this.getJContentPane().getPreferredSize().width;\r
595 int intPreferredHeight = this.getJContentPane().getPreferredSize().height;\r
596\r
597 resizeComponentWidth(jTextFieldDataHubRecord, intCurrentWidth, intPreferredWidth);\r
598 resizeComponentWidth(jComboBoxUsage, intCurrentWidth, intPreferredWidth);\r
599 resizeComponentWidth(jTextFieldHelpText, intCurrentWidth, intPreferredWidth);\r
600 resizeComponentWidth(jTextFieldFeatureFlag, intCurrentWidth, intPreferredWidth);\r
601 resizeComponentWidth(jScrollPaneArch, intCurrentWidth, intPreferredWidth);\r
602\r
603 resizeComponentWidth(jComboBoxList, intCurrentWidth, intPreferredWidth);\r
604 resizeComponent(jScrollPaneList, intCurrentWidth, intCurrentHeight, intPreferredWidth, intPreferredHeight);\r
605\r
606 relocateComponentX(jButtonAdd, intCurrentWidth, intPreferredWidth, DataType.SPACE_TO_RIGHT_FOR_ADD_BUTTON);\r
607 relocateComponentX(jButtonRemove, intCurrentWidth, intPreferredWidth, DataType.SPACE_TO_RIGHT_FOR_REMOVE_BUTTON);\r
608 relocateComponentX(jButtonUpdate, intCurrentWidth, intPreferredWidth, DataType.SPACE_TO_RIGHT_FOR_UPDATE_BUTTON);\r
609 }\r
610\r
611 private DataHubsIdentification getCurrentDataHubs() {\r
612 String arg0 = this.jTextFieldDataHubRecord.getText();\r
613 String arg1 = this.jComboBoxUsage.getSelectedItem().toString();\r
614\r
615 String arg2 = this.jTextFieldFeatureFlag.getText();\r
616 Vector<String> arg3 = this.iCheckBoxListArch.getAllCheckedItemsString();\r
617 String arg4 = this.jTextFieldHelpText.getText();\r
618 \r
619 id = new DataHubsIdentification(arg0, arg1, arg2, arg3, arg4);\r
620 return id;\r
621 }\r
622\r
623 /**\r
624 Add current item to Vector\r
625 \r
626 **/\r
627 private void addToList() {\r
628 intSelectedItemId = vid.size();\r
629\r
630 vid.addDataHubs(getCurrentDataHubs());\r
631\r
632 jComboBoxList.addItem(id.getName());\r
633 jComboBoxList.setSelectedItem(id.getName());\r
634\r
635 //\r
636 // Reset select item index\r
637 //\r
638 intSelectedItemId = vid.size();\r
639\r
640 //\r
641 // Reload all fields of selected item\r
642 //\r
643 reloadFromList();\r
644\r
645 // \r
646 // Save to memory\r
647 //\r
648 save();\r
649 }\r
650\r
651 /**\r
652 Remove current item from Vector\r
653 \r
654 **/\r
655 private void removeFromList() {\r
656 //\r
657 // Check if exist items\r
658 //\r
659 if (this.vid.size() < 1) {\r
660 return;\r
661 }\r
662\r
663 int intTempIndex = intSelectedItemId;\r
664\r
665 jComboBoxList.removeItemAt(intSelectedItemId);\r
666\r
667 vid.removeDataHubs(intTempIndex);\r
668\r
669 //\r
670 // Reload all fields of selected item\r
671 //\r
672 reloadFromList();\r
673\r
674 // \r
675 // Save to memory\r
676 //\r
677 save();\r
678 }\r
679\r
680 /**\r
681 Update current item of Vector\r
682 \r
683 **/\r
684 private void updateForList() {\r
685 //\r
686 // Check if exist items\r
687 //\r
688 if (this.vid.size() < 1) {\r
689 return;\r
690 }\r
691\r
692 //\r
693 // Backup selected item index\r
694 //\r
695 int intTempIndex = intSelectedItemId;\r
696\r
697 vid.updateDataHubs(getCurrentDataHubs(), intTempIndex);\r
698\r
699 jComboBoxList.removeAllItems();\r
700 for (int index = 0; index < vid.size(); index++) {\r
701 jComboBoxList.addItem(vid.getDataHubs(index).getName());\r
702 }\r
703\r
704 //\r
705 // Restore selected item index\r
706 //\r
707 intSelectedItemId = intTempIndex;\r
708\r
709 //\r
710 // Reset select item index\r
711 //\r
712 jComboBoxList.setSelectedIndex(intSelectedItemId);\r
713\r
714 //\r
715 // Reload all fields of selected item\r
716 //\r
717 reloadFromList();\r
718\r
719 // \r
720 // Save to memory\r
721 //\r
722 save();\r
723 }\r
724\r
725 /**\r
726 Refresh all fields' values of selected item of Vector\r
727 \r
728 **/\r
729 private void reloadFromList() {\r
730 if (vid.size() > 0) {\r
731 //\r
732 // Get selected item index\r
733 //\r
734 intSelectedItemId = jComboBoxList.getSelectedIndex();\r
735\r
736 this.jTextFieldDataHubRecord.setText(vid.getDataHubs(intSelectedItemId).getName());\r
737 this.jComboBoxUsage.setSelectedItem(vid.getDataHubs(intSelectedItemId).getUsage());\r
738 this.jTextFieldHelpText.setText(vid.getDataHubs(intSelectedItemId).getHelp());\r
739\r
740 jTextFieldFeatureFlag.setText(vid.getDataHubs(intSelectedItemId).getFeatureFlag());\r
741 iCheckBoxListArch.setAllItemsUnchecked();\r
742 iCheckBoxListArch.initCheckedItem(true, vid.getDataHubs(intSelectedItemId).getSupArchList());\r
743\r
744 } else {\r
745 }\r
746\r
747 reloadListArea();\r
748 }\r
749\r
750 /**\r
751 Update list area pane via the elements of Vector\r
752 \r
753 **/\r
754 private void reloadListArea() {\r
755 String strListItem = "";\r
756 for (int index = 0; index < vid.size(); index++) {\r
757 strListItem = strListItem + vid.getDataHubs(index).getName() + DataType.UNIX_LINE_SEPARATOR;\r
758 }\r
759 this.jTextAreaList.setText(strListItem);\r
760 }\r
761\r
762 /* (non-Javadoc)\r
763 * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)\r
764 *\r
765 * Reflesh the frame when selected item changed\r
766 * \r
767 */\r
768 public void itemStateChanged(ItemEvent arg0) {\r
769 if (arg0.getSource() == this.jComboBoxList && arg0.getStateChange() == ItemEvent.SELECTED) {\r
770 reloadFromList();\r
771 }\r
772 }\r
773}\r