]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/ListEditor.java
Make opening dialogs re-gain focus when user switch back to main UI from other window...
[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
82484861 40 private JFrame topFrame = null;\r
c16ade35 41 String archs;\r
42 JButton button;\r
c16ade35 43 GenListDialog dialog;\r
44 protected static final String EDIT = "edit";\r
45\r
82484861 46 public ListEditor(JFrame frame) {\r
47 topFrame = frame;\r
c16ade35 48 button = new JButton();\r
49 button.setActionCommand(EDIT);\r
50 button.addActionListener(this);\r
51 button.setBorderPainted(false);\r
52\r
53 \r
82484861 54 dialog = new GenListDialog(this, frame);\r
c16ade35 55 \r
56 }\r
57 \r
82484861 58 public ListEditor(Vector<String> v, JFrame frame) {\r
59 this(frame);\r
c16ade35 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
82484861 98 JOptionPane.showMessageDialog(topFrame, "You must select at least one item.");\r
fbf730ff 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