]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/ListEditor.java
Mark Guid Type as required in Guid declaration editor. Set cell editor to long text...
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / ListEditor.java
CommitLineData
c16ade35 1/** @file\r
2 Java class GuidEditor.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12 \r
13**/\r
14package org.tianocore.frameworkwizard.platform.ui;\r
15\r
16import java.awt.Component;\r
17import java.awt.event.ActionEvent;\r
18import java.awt.event.ActionListener;\r
19import java.util.Vector;\r
20\r
21import javax.swing.AbstractCellEditor;\r
22import javax.swing.JButton;\r
23import javax.swing.JFrame;\r
fbf730ff 24import javax.swing.JOptionPane;\r
c16ade35 25import javax.swing.JTable;\r
26import javax.swing.table.TableCellEditor;\r
27\r
28\r
29/**\r
30 Editor for table cell with GUID value.\r
31 @since PackageEditor 1.0\r
32 **/\r
33public class ListEditor extends AbstractCellEditor implements TableCellEditor, ActionListener {\r
34\r
35 /**\r
36 * \r
37 */\r
38 private static final long serialVersionUID = 1L;\r
fbf730ff 39 private boolean canNotBeEmpty = false;\r
c16ade35 40 String archs;\r
41 JButton button;\r
42 static JFrame frame;\r
43 GenListDialog dialog;\r
44 protected static final String EDIT = "edit";\r
45\r
46 public ListEditor() {\r
47 \r
48 button = new JButton();\r
49 button.setActionCommand(EDIT);\r
50 button.addActionListener(this);\r
51 button.setBorderPainted(false);\r
52\r
53 \r
54 dialog = new GenListDialog(this);\r
55 \r
56 }\r
57 \r
58 public ListEditor(Vector<String> v) {\r
59 this();\r
60 dialog.initList(v);\r
61 }\r
62\r
63 /* (non-Javadoc)\r
64 * @see javax.swing.table.TableCellEditor#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)\r
65 */\r
66 public Component getTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) {\r
67 // TODO Auto-generated method stub\r
68 archs = (String)arg1;\r
69 return button;\r
70 }\r
71\r
72 /* (non-Javadoc)\r
73 * @see javax.swing.CellEditor#getCellEditorValue()\r
74 */\r
75 public Object getCellEditorValue() {\r
76 // TODO Auto-generated method stub\r
77 return archs;\r
78 }\r
79\r
80 /* (non-Javadoc)\r
81 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
82 */\r
83 public void actionPerformed(ActionEvent arg0) {\r
84 // TODO Auto-generated method stub\r
85 if (EDIT.equals(arg0.getActionCommand())) {\r
86 //The user has clicked the cell, so\r
87 //bring up the dialog.\r
88 button.setText(archs);\r
89 dialog.setList(archs);\r
90 dialog.setVisible(true);\r
91\r
92 //Make the renderer reappear.\r
93 fireEditingStopped();\r
94 }\r
95 else { //User pressed dialog's "OK" button.\r
96 Vector<String> v = dialog.getList();\r
fbf730ff 97 if (canNotBeEmpty && v.size() == 0) {\r
98 JOptionPane.showMessageDialog(frame, "You must select at least one item.");\r
99 return;\r
100 }\r
c16ade35 101 String s = " ";\r
102 for (int i = 0; i < v.size(); ++i) {\r
103 s += v.get(i);\r
104 s += " ";\r
105 }\r
106 archs = s.trim();\r
2a06ac5b 107 dialog.dispose();\r
c16ade35 108 }\r
109\r
110 }\r
111\r
fbf730ff 112 /**\r
113 * @param canNotBeEmpty The canNotBeEmpty to set.\r
114 */\r
115 public void setCanNotBeEmpty(boolean canNotBeEmpty) {\r
116 this.canNotBeEmpty = canNotBeEmpty;\r
117 }\r
118\r
c16ade35 119}\r