]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/ModuleEditor/src/org/tianocore/packaging/common/ui/ExitConfirm.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@671 6f19259b...
[mirror_edk2.git] / Tools / Source / ModuleEditor / src / org / tianocore / packaging / common / ui / ExitConfirm.java
CommitLineData
878ddf1f 1/** @file\r
2 \r
3 The file is used to popup a exit confirmation window when program exists\r
4 \r
5 Copyright (c) 2006, Intel Corporation\r
6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 **/\r
15\r
16package org.tianocore.packaging.common.ui;\r
17\r
18import java.awt.Dimension;\r
19import java.awt.Toolkit;\r
20import java.awt.event.ActionEvent;\r
21import java.awt.event.ActionListener;\r
22import java.awt.event.WindowEvent;\r
23import java.awt.event.WindowListener;\r
24\r
25import javax.swing.JButton;\r
26import javax.swing.JDialog;\r
27import javax.swing.JFrame;\r
28import javax.swing.JLabel;\r
29import javax.swing.JPanel;\r
30\r
31/**\r
32 The class is used to popup a exit confirmation window when program exists\r
33 It extends JDialog and implements ActionListener and WindowListener\r
34 \r
35 @since ModuleEditor 1.0\r
36 \r
37 **/\r
38public class ExitConfirm extends JDialog implements ActionListener, WindowListener {\r
39\r
40 ///\r
41 /// Define class Serial Version UID\r
42 ///\r
43 private static final long serialVersionUID = -5875921789385911029L;\r
44\r
45 private JPanel jContentPane = null;\r
46\r
47 private JLabel jLabelMessage = null;\r
48\r
49 private JLabel jLabelResume = null;\r
50\r
51 private JLabel jLabelExit = null;\r
52\r
53 private JButton jButtonResume = null;\r
54\r
55 private JButton jButtonExit = null;\r
56\r
57 public boolean isCancel = false;\r
58\r
59 /**\r
60 This method initializes jButtonResume\r
61 \r
62 @return javax.swing.JButton jButtonResume\r
63 \r
64 **/\r
65 private JButton getJButtonResume() {\r
66 if (jButtonResume == null) {\r
67 jButtonResume = new JButton();\r
68 jButtonResume.setText("Resume");\r
69 jButtonResume.setSize(new java.awt.Dimension(90, 20));\r
70 jButtonResume.setLocation(new java.awt.Point(150, 105));\r
71 jButtonResume.setMnemonic('R');\r
72 jButtonResume.addActionListener(this);\r
73 }\r
74 return jButtonResume;\r
75 }\r
76\r
77 /**\r
78 This method initializes jButtonExit\r
79 \r
80 @return javax.swing.JButton jButtonExit\r
81 \r
82 **/\r
83 private JButton getJButtonExit() {\r
84 if (jButtonExit == null) {\r
85 jButtonExit = new JButton();\r
86 jButtonExit.setText("Exit");\r
87 jButtonExit.setSize(new java.awt.Dimension(90, 20));\r
88 jButtonExit.setLocation(new java.awt.Point(260, 105));\r
89 jButtonExit.setMnemonic('x');\r
90 jButtonExit.addActionListener(this);\r
91 }\r
92 return jButtonExit;\r
93 }\r
94\r
95 /**\r
96 Main clasee, reserved for test\r
97 \r
98 @param args\r
99 \r
100 **/\r
101 public static void main(String[] args) {\r
102 // TODO Auto-generated method stub\r
103\r
104 }\r
105\r
106 /**\r
107 This is the default constructor\r
108 \r
109 **/\r
110 public ExitConfirm(IFrame parentFrame, boolean modal) {\r
111 super(parentFrame, modal);\r
112 initialize();\r
113 }\r
114\r
115 /**\r
116 This method initializes this\r
117 \r
118 @return void\r
119 \r
120 **/\r
121 private void initialize() {\r
122 this.setSize(500, 170);\r
123 this.setTitle("Exit");\r
124 this.setResizable(false);\r
125 this.setContentPane(getJContentPane());\r
126 this.addWindowListener(this);\r
127 //\r
128 //Set DO_NOTHING_ON_CLOSE when click Close button on title bar\r
129 //\r
130 this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);\r
131 centerWindow();\r
132 }\r
133\r
134 /**\r
135 This method initializes jContentPane\r
136 \r
137 @return javax.swing.JPanel jContentPane\r
138 \r
139 **/\r
140 private JPanel getJContentPane() {\r
141 if (jContentPane == null) {\r
142 jLabelExit = new JLabel();\r
143 jLabelExit.setSize(new java.awt.Dimension(450, 20));\r
144 jLabelExit.setLocation(new java.awt.Point(25, 70));\r
145 jLabelResume = new JLabel();\r
146 jLabelResume.setSize(new java.awt.Dimension(450, 20));\r
147 jLabelResume.setLocation(new java.awt.Point(25, 40));\r
148 jLabelMessage = new JLabel();\r
149 jLabelMessage.setSize(new java.awt.Dimension(450, 20));\r
150 jLabelMessage.setLocation(new java.awt.Point(25, 10));\r
151 jContentPane = new JPanel();\r
152 jContentPane.setLayout(null);\r
153 jContentPane.add(jLabelMessage, null);\r
154 jContentPane.add(jLabelResume, null);\r
155 jContentPane.add(jLabelExit, null);\r
156 jContentPane.add(getJButtonResume(), null);\r
157 jContentPane.add(getJButtonExit(), null);\r
158 }\r
159 return jContentPane;\r
160 }\r
161\r
162 /**\r
163 Call setWarningMessage to set messages of frame when it is used for Setup\r
164 \r
165 **/\r
166 public void setSetupMessage() {\r
167 String strTitle = "Exit Setup";\r
168 String strMessage = "Setup is not complete. If you quit now, the program will not be installed.";\r
169 String strResume = "You may run the setup program at a later time to complete the installation.";\r
170 String strExit = "To continue installing, click Resume. To quit the Setup program, click Exit.";\r
171 setWarningMessage(strTitle, strMessage, strResume, strExit);\r
172 }\r
173\r
174 /**\r
175 Call setWarningMessage to set messages of frame when it is used for Module Main GUI\r
176 \r
177 **/\r
178 public void setModuleMessage() {\r
179 String strTitle = "Exit";\r
180 String strMessage = "Do you really want to quit now?";\r
181 String strResume = "All unsaved module information will be lost.";\r
182 String strExit = "To continue editing module, click Resume. To quit the program, click Exit.";\r
183 setWarningMessage(strTitle, strMessage, strResume, strExit);\r
184 }\r
185\r
186 /**\r
187 Set message information via input data\r
188 \r
189 @param strTitle The title value\r
190 @param strMessage The main message value\r
191 @param strResume The resume message value\r
192 @param strExit The exit message value\r
193 \r
194 **/\r
195 private void setWarningMessage(String strTitle, String strMessage, String strResume, String strExit) {\r
196 this.setTitle(strTitle);\r
197 jLabelMessage.setText(strMessage);\r
198 jLabelResume.setText(strResume);\r
199 jLabelExit.setText(strExit);\r
200 }\r
201\r
202 /* (non-Javadoc)\r
203 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
204 * \r
205 * Override actionPerformed to listern all actions\r
206 * \r
207 */\r
208 public void actionPerformed(ActionEvent arg0) {\r
209 //\r
210 //Set isCancel true when click button "Exit"\r
211 //\r
212 Object obj = arg0.getSource();\r
213 if (obj == jButtonResume) {\r
214 isCancel = false;\r
215 }\r
216 if (obj == jButtonExit) {\r
217 isCancel = true;\r
218 }\r
219 this.setVisible(false);\r
220 }\r
221\r
222 /**\r
223 Make the window in the center of the screen\r
224 \r
225 **/\r
226 private void centerWindow() {\r
227 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
228 this.setLocation((d.width - this.getSize().width) / 2, (d.height - this.getSize().height) / 2);\r
229 }\r
230\r
231 public void windowActivated(WindowEvent arg0) {\r
232 // TODO Auto-generated method stub\r
233\r
234 }\r
235\r
236 public void windowClosed(WindowEvent arg0) {\r
237 // TODO Auto-generated method stub\r
238\r
239 }\r
240\r
241 public void windowClosing(WindowEvent arg0) {\r
242 isCancel = false;\r
243 this.setVisible(false);\r
244 }\r
245\r
246 public void windowDeactivated(WindowEvent arg0) {\r
247 // TODO Auto-generated method stub\r
248\r
249 }\r
250\r
251 public void windowDeiconified(WindowEvent arg0) {\r
252 // TODO Auto-generated method stub\r
253\r
254 }\r
255\r
256 public void windowIconified(WindowEvent arg0) {\r
257 // TODO Auto-generated method stub\r
258\r
259 }\r
260\r
261 public void windowOpened(WindowEvent arg0) {\r
262 // TODO Auto-generated method stub\r
263\r
264 }\r
265}\r