]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/GenListDialog.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 / GenListDialog.java
CommitLineData
c16ade35 1/** @file\r
2 Java class GenListDialog.\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
13package org.tianocore.frameworkwizard.platform.ui;\r
14\r
15import java.awt.BorderLayout;\r
16import java.awt.Dimension;\r
17import java.awt.Toolkit;\r
18\r
2a06ac5b 19import javax.swing.JComponent;\r
82484861 20import javax.swing.JFrame;\r
c16ade35 21import javax.swing.JPanel;\r
22import javax.swing.JDialog;\r
2a06ac5b 23import javax.swing.KeyStroke;\r
c16ade35 24\r
25import javax.swing.JButton;\r
26\r
27\r
28import java.awt.FlowLayout;\r
29import java.awt.event.ActionEvent;\r
30import java.awt.event.ActionListener;\r
2a06ac5b 31import java.awt.event.KeyEvent;\r
c16ade35 32import java.util.Vector;\r
33\r
34import javax.swing.JScrollPane;\r
35\r
36import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
37\r
38\r
39/**\r
40 Dialog for List generation. \r
41 @since PackageEditor 1.0\r
42**/\r
43public class GenListDialog extends JDialog implements ActionListener{\r
44\r
45 /**\r
46 * \r
47 */\r
48 private static final long serialVersionUID = 1L;\r
49\r
50 private JPanel jContentPane = null;\r
4da2e625 51 private JPanel jPanelContentEast = null;\r
52 private JPanel jPanelContentCenter = null;\r
53 private JButton jButtonCancel = null;\r
54 private JButton jButtonOk = null;\r
c16ade35 55 private ICheckBoxList checkBoxList = null;\r
56\r
57\r
58 private JScrollPane jScrollPane = null;\r
59\r
60\r
61\r
62 public void actionPerformed(ActionEvent arg0) {\r
c16ade35 63 \r
4da2e625 64 if (arg0.getSource() == jButtonOk){\r
c16ade35 65\r
2a06ac5b 66// this.dispose();\r
c16ade35 67 }\r
68 \r
4da2e625 69 if (arg0.getSource() == jButtonCancel){\r
c16ade35 70 this.dispose();\r
71 }\r
72 }\r
73\r
74 /**\r
75 * This method initializes jPanel \r
76 * \r
77 * @return javax.swing.JPanel \r
78 */\r
4da2e625 79 private JPanel getJPanelContentEast() {\r
80 if (jPanelContentEast == null) {\r
c16ade35 81 FlowLayout flowLayout = new FlowLayout();\r
82 flowLayout.setVgap(10);\r
4da2e625 83 jPanelContentEast = new JPanel();\r
84 jPanelContentEast.setLayout(flowLayout);\r
85 jPanelContentEast.setPreferredSize(new java.awt.Dimension(100,30));\r
86 jPanelContentEast.add(getJButtonOk(), null);\r
87 jPanelContentEast.add(getJButtonCancel(), null);\r
c16ade35 88 }\r
4da2e625 89 return jPanelContentEast;\r
c16ade35 90 }\r
91\r
92 /**\r
93 * This method initializes jPanel4 \r
94 * \r
95 * @return javax.swing.JPanel \r
96 */\r
4da2e625 97 private JPanel getJPanelContentCenter() {\r
98 if (jPanelContentCenter == null) {\r
99 jPanelContentCenter = new JPanel();\r
100 jPanelContentCenter.setLayout(new FlowLayout());\r
101 jPanelContentCenter.add(getJScrollPane(), null);\r
c16ade35 102 \r
103 }\r
4da2e625 104 return jPanelContentCenter;\r
c16ade35 105 }\r
106\r
107 /**\r
108 * This method initializes jButton \r
109 * \r
110 * @return javax.swing.JButton \r
111 */\r
4da2e625 112 private JButton getJButtonCancel() {\r
113 if (jButtonCancel == null) {\r
114 jButtonCancel = new JButton();\r
115 jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));\r
116 jButtonCancel.setText("Cancel");\r
117 jButtonCancel.addActionListener(this);\r
2a06ac5b 118 jButtonCancel.registerKeyboardAction(this, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);\r
c16ade35 119 }\r
4da2e625 120 return jButtonCancel;\r
c16ade35 121 }\r
122\r
123 /**\r
124 * This method initializes jButton2 \r
125 * \r
126 * @return javax.swing.JButton \r
127 */\r
4da2e625 128 private JButton getJButtonOk() {\r
129 if (jButtonOk == null) {\r
130 jButtonOk = new JButton();\r
131 jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));\r
132 jButtonOk.setText("Ok");\r
133 jButtonOk.setActionCommand("GenGuidValue");\r
134 jButtonOk.addActionListener(this);\r
c16ade35 135 }\r
4da2e625 136 return jButtonOk;\r
c16ade35 137 }\r
138\r
139 /**\r
140 * This method initializes jScrollPane \r
141 * \r
142 * @return javax.swing.JScrollPane \r
143 */\r
144 private JScrollPane getJScrollPane() {\r
145 if (jScrollPane == null) {\r
146 jScrollPane = new JScrollPane();\r
147 jScrollPane.setPreferredSize(new java.awt.Dimension(300,100));\r
148 jScrollPane.setViewportView(getICheckBoxList());\r
149 }\r
150 return jScrollPane;\r
151 }\r
152\r
153 private ICheckBoxList getICheckBoxList() {\r
154 if (checkBoxList == null) {\r
155 checkBoxList = new ICheckBoxList();\r
156 checkBoxList.setBounds(new java.awt.Rectangle(40,20,177,74));\r
4da2e625 157\r
c16ade35 158 }\r
159 return checkBoxList;\r
160 }\r
161\r
162 public void initList(Vector<String> v){\r
163 checkBoxList.setAllItems(v);\r
164 }\r
165 public Vector<String> getList(){\r
166 Vector<String> v = checkBoxList.getAllCheckedItemsString();\r
167 return v;\r
168 }\r
169 \r
170 public void setList(String s){\r
171 Vector<String> v = new Vector<String>();\r
172 if (s == null) {\r
173 checkBoxList.setAllItemsUnchecked();\r
174 return;\r
175 }\r
176 String[] sArray = s.split(" ");\r
177 for (int i = 0; i < sArray.length; ++i){\r
178 v.add(sArray[i]);\r
179 }\r
180 checkBoxList.initCheckedItem(true, v);\r
181 }\r
182 /**\r
183 * This is the default constructor\r
184 */\r
82484861 185 public GenListDialog(JFrame frame) {\r
186 super(frame);\r
c16ade35 187 initialize();\r
188 }\r
189 \r
82484861 190 public GenListDialog(ActionListener i, JFrame frame){\r
191 this(frame);\r
4da2e625 192 jButtonOk.addActionListener(i);\r
2a06ac5b 193 jButtonOk.registerKeyboardAction(i, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);\r
c16ade35 194 }\r
195\r
196 /**\r
197 * This method initializes this\r
198 * \r
199 * @return void\r
200 */\r
201 private void initialize() {\r
202 this.setSize(466, 157);\r
203 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
204 this.setModal(true);\r
205 this.setTitle("List");\r
206 this.setContentPane(getJContentPane());\r
207 this.centerWindow();\r
208 }\r
209\r
210 /**\r
211 * This method initializes jContentPane\r
212 * \r
213 * @return javax.swing.JPanel\r
214 */\r
215 private JPanel getJContentPane() {\r
216 if (jContentPane == null) {\r
217 jContentPane = new JPanel();\r
218 jContentPane.setLayout(new BorderLayout());\r
4da2e625 219 jContentPane.add(getJPanelContentEast(), java.awt.BorderLayout.EAST);\r
220 jContentPane.add(getJPanelContentCenter(), java.awt.BorderLayout.CENTER);\r
c16ade35 221 }\r
222 return jContentPane;\r
223 }\r
224\r
225 /**\r
226 Start the window at the center of screen\r
227 \r
228 **/\r
229 protected void centerWindow(int intWidth, int intHeight) {\r
230 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
231 this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);\r
232 }\r
233\r
234 /**\r
235 Start the window at the center of screen\r
236 \r
237 **/\r
238 protected void centerWindow() {\r
239 centerWindow(this.getSize().width, this.getSize().height);\r
240 }\r
241 \r
242 \r
243 \r
244} // @jve:decl-index=0:visual-constraint="10,10"\r