]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/workspace/ui/SwitchWorkspace.java
1. Fix EDKT306 Output different error message for different condition in workspace...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / workspace / ui / SwitchWorkspace.java
CommitLineData
a13899c5 1package org.tianocore.frameworkwizard.workspace.ui;\r
2\r
3import java.awt.event.ActionEvent;\r
4\r
007f887e 5import javax.swing.JButton;\r
a13899c5 6import javax.swing.JFileChooser;\r
a13899c5 7import javax.swing.JLabel;\r
007f887e 8import javax.swing.JPanel;\r
a13899c5 9import javax.swing.JTextField;\r
a13899c5 10\r
11import org.tianocore.frameworkwizard.common.DataType;\r
12import org.tianocore.frameworkwizard.common.Log;\r
13import org.tianocore.frameworkwizard.common.Tools;\r
14import org.tianocore.frameworkwizard.common.ui.IDialog;\r
15import org.tianocore.frameworkwizard.common.ui.IFrame;\r
16import org.tianocore.frameworkwizard.workspace.Workspace;\r
17\r
18public class SwitchWorkspace extends IDialog {\r
19\r
20 ///\r
21 /// Define class Serial Version UID\r
22 ///\r
23 private static final long serialVersionUID = 2184556370155608202L;\r
24\r
25 //\r
26 // Define class members\r
27 //\r
28 private JPanel jContentPane = null;\r
29\r
30 private JLabel jLabel = null;\r
31\r
32 private JLabel jLabel1 = null;\r
33\r
34 private JTextField jTextFieldOld = null;\r
35\r
36 private JTextField jTextFieldNew = null;\r
37\r
38 private JButton jButtonOk = null;\r
39\r
40 private JButton jButtonCancel = null;\r
41\r
42 private JButton jButtonBrowse = null;\r
43\r
44 /**\r
45 * This method initializes jTextFieldOld \r
46 * \r
47 * @return javax.swing.JTextField \r
48 */\r
49 private JTextField getJTextFieldOld() {\r
50 if (jTextFieldOld == null) {\r
51 jTextFieldOld = new JTextField();\r
52 jTextFieldOld.setBounds(new java.awt.Rectangle(140, 10, 320, 20));\r
53 jTextFieldOld.setEditable(false);\r
007f887e 54 jTextFieldOld.setText(Workspace.getCurrentWorkspace() == null ? "Not Defined"\r
55 : Workspace.getCurrentWorkspace());\r
a13899c5 56 }\r
57 return jTextFieldOld;\r
58 }\r
59\r
60 /**\r
61 * This method initializes jTextFieldNew \r
62 * \r
63 * @return javax.swing.JTextField \r
64 */\r
65 private JTextField getJTextFieldNew() {\r
66 if (jTextFieldNew == null) {\r
67 jTextFieldNew = new JTextField();\r
68 jTextFieldNew.setBounds(new java.awt.Rectangle(140, 35, 220, 20));\r
69 }\r
70 return jTextFieldNew;\r
71 }\r
72\r
73 /**\r
74 * This method initializes jButtonOk \r
75 * \r
76 * @return javax.swing.JButton \r
77 */\r
78 private JButton getJButtonOk() {\r
79 if (jButtonOk == null) {\r
80 jButtonOk = new JButton();\r
81 jButtonOk.setBounds(new java.awt.Rectangle(290, 70, 80, 20));\r
82 jButtonOk.setText("Ok");\r
83 jButtonOk.addActionListener(this);\r
84 }\r
85 return jButtonOk;\r
86 }\r
87\r
88 /**\r
89 * This method initializes jButtonCancel \r
90 * \r
91 * @return javax.swing.JButton \r
92 */\r
93 private JButton getJButtonCancel() {\r
94 if (jButtonCancel == null) {\r
95 jButtonCancel = new JButton();\r
96 jButtonCancel.setBounds(new java.awt.Rectangle(380, 70, 80, 20));\r
97 jButtonCancel.setText("Cancel");\r
98 jButtonCancel.addActionListener(this);\r
99 }\r
100 return jButtonCancel;\r
101 }\r
102\r
103 /**\r
104 * This method initializes jButtonBrowse \r
105 * \r
106 * @return javax.swing.JButton \r
107 */\r
108 private JButton getJButtonBrowse() {\r
109 if (jButtonBrowse == null) {\r
110 jButtonBrowse = new JButton();\r
111 jButtonBrowse.setBounds(new java.awt.Rectangle(370, 35, 90, 20));\r
112 jButtonBrowse.setText("Browse");\r
113 jButtonBrowse.addActionListener(this);\r
114 }\r
115 return jButtonBrowse;\r
116 }\r
117\r
a13899c5 118 /**\r
119 * This is the default constructor\r
120 * \r
121 */\r
122 public SwitchWorkspace() {\r
123 super();\r
124 initialize();\r
125 }\r
126\r
127 /**\r
128 * This is the override constructor\r
129 * \r
130 */\r
131 public SwitchWorkspace(IFrame parentFrame, boolean modal) {\r
132 super(parentFrame, modal);\r
133 initialize();\r
134 }\r
135\r
136 /**\r
137 * This method initializes this\r
138 * \r
139 * @return void\r
140 */\r
141 private void initialize() {\r
142 this.setSize(472, 132);\r
143 this.setContentPane(getJContentPane());\r
007f887e 144 this.setTitle("Select workspace");\r
a13899c5 145 this.centerWindow();\r
146 }\r
147\r
148 /**\r
149 * This method initializes jContentPane\r
150 * \r
151 * @return javax.swing.JPanel\r
152 */\r
153 private JPanel getJContentPane() {\r
154 if (jContentPane == null) {\r
155 jLabel1 = new JLabel();\r
156 jLabel1.setBounds(new java.awt.Rectangle(15, 10, 120, 20));\r
157 jLabel1.setText("Current Workspace");\r
158 jLabel = new JLabel();\r
159 jLabel.setBounds(new java.awt.Rectangle(15, 35, 120, 20));\r
160 jLabel.setText("Change to ");\r
161 jContentPane = new JPanel();\r
162 jContentPane.setLayout(null);\r
163 jContentPane.add(jLabel, null);\r
164 jContentPane.add(jLabel1, null);\r
165 jContentPane.add(getJTextFieldOld(), null);\r
166 jContentPane.add(getJTextFieldNew(), null);\r
167 jContentPane.add(getJButtonOk(), null);\r
168 jContentPane.add(getJButtonCancel(), null);\r
169 jContentPane.add(getJButtonBrowse(), null);\r
170 }\r
171 return jContentPane;\r
172 }\r
173\r
174 private boolean check() {\r
175 if (isEmpty(this.jTextFieldNew.getText())) {\r
ea63a156 176 Log.wrn("Switch Workspace", "New workspace must be entered!");\r
a13899c5 177 return false;\r
178 }\r
007f887e 179 if (Workspace.checkWorkspace(this.jTextFieldNew.getText()) != Workspace.WORKSPACE_VALID) {\r
ed1665f2 180 Log.wrn("Switch Workspace", "Please select a valid workspace!");\r
a13899c5 181 return false;\r
182 }\r
183 return true;\r
184 }\r
185\r
186 /* (non-Javadoc)\r
187 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
188 * \r
189 * Override actionPerformed to listen all actions\r
190 */\r
191 public void actionPerformed(ActionEvent arg0) {\r
192 if (arg0.getSource() == jButtonCancel) {\r
193 this.setVisible(false);\r
194 returnType = DataType.RETURN_TYPE_CANCEL;\r
195 }\r
196\r
197 if (arg0.getSource() == jButtonOk) {\r
198 if (!check()) {\r
199 return;\r
200 } else {\r
a13899c5 201 Workspace.setCurrentWorkspace(this.jTextFieldNew.getText());\r
202 returnType = DataType.RETURN_TYPE_OK;\r
007f887e 203 this.setVisible(false);\r
a13899c5 204 }\r
205 }\r
206\r
207 if (arg0.getSource() == jButtonBrowse) {\r
208 JFileChooser fc = new JFileChooser();\r
209 fc.setAcceptAllFileFilterUsed(false);\r
210 fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);\r
211 int result = fc.showOpenDialog(new JPanel());\r
212 if (result == JFileChooser.APPROVE_OPTION) {\r
213 this.jTextFieldNew.setText(Tools.convertPathToCurrentOsType(fc.getSelectedFile().getPath()));\r
214 }\r
215 }\r
216 }\r
217}\r