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