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