1 package org
.tianocore
.frameworkwizard
.workspace
.ui
;
3 import java
.awt
.event
.ActionEvent
;
5 import javax
.swing
.JFileChooser
;
6 import javax
.swing
.JPanel
;
7 import javax
.swing
.JLabel
;
8 import javax
.swing
.JTextField
;
9 import javax
.swing
.JButton
;
11 import org
.tianocore
.frameworkwizard
.common
.DataType
;
12 import org
.tianocore
.frameworkwizard
.common
.Log
;
13 import org
.tianocore
.frameworkwizard
.common
.Tools
;
14 import org
.tianocore
.frameworkwizard
.common
.ui
.IDialog
;
15 import org
.tianocore
.frameworkwizard
.common
.ui
.IFrame
;
16 import org
.tianocore
.frameworkwizard
.workspace
.Workspace
;
18 public class SwitchWorkspace
extends IDialog
{
21 /// Define class Serial Version UID
23 private static final long serialVersionUID
= 2184556370155608202L;
26 // Define class members
28 private JPanel jContentPane
= null;
30 private JLabel jLabel
= null;
32 private JLabel jLabel1
= null;
34 private JTextField jTextFieldOld
= null;
36 private JTextField jTextFieldNew
= null;
38 private JButton jButtonOk
= null;
40 private JButton jButtonCancel
= null;
42 private JButton jButtonBrowse
= null;
45 * This method initializes jTextFieldOld
47 * @return javax.swing.JTextField
49 private JTextField
getJTextFieldOld() {
50 if (jTextFieldOld
== null) {
51 jTextFieldOld
= new JTextField();
52 jTextFieldOld
.setBounds(new java
.awt
.Rectangle(140, 10, 320, 20));
53 jTextFieldOld
.setEditable(false);
54 jTextFieldOld
.setText(Workspace
.getCurrentWorkspace());
60 * This method initializes jTextFieldNew
62 * @return javax.swing.JTextField
64 private JTextField
getJTextFieldNew() {
65 if (jTextFieldNew
== null) {
66 jTextFieldNew
= new JTextField();
67 jTextFieldNew
.setBounds(new java
.awt
.Rectangle(140, 35, 220, 20));
73 * This method initializes jButtonOk
75 * @return javax.swing.JButton
77 private JButton
getJButtonOk() {
78 if (jButtonOk
== null) {
79 jButtonOk
= new JButton();
80 jButtonOk
.setBounds(new java
.awt
.Rectangle(290, 70, 80, 20));
81 jButtonOk
.setText("Ok");
82 jButtonOk
.addActionListener(this);
88 * This method initializes jButtonCancel
90 * @return javax.swing.JButton
92 private JButton
getJButtonCancel() {
93 if (jButtonCancel
== null) {
94 jButtonCancel
= new JButton();
95 jButtonCancel
.setBounds(new java
.awt
.Rectangle(380, 70, 80, 20));
96 jButtonCancel
.setText("Cancel");
97 jButtonCancel
.addActionListener(this);
103 * This method initializes jButtonBrowse
105 * @return javax.swing.JButton
107 private JButton
getJButtonBrowse() {
108 if (jButtonBrowse
== null) {
109 jButtonBrowse
= new JButton();
110 jButtonBrowse
.setBounds(new java
.awt
.Rectangle(370, 35, 90, 20));
111 jButtonBrowse
.setText("Browse");
112 jButtonBrowse
.addActionListener(this);
114 return jButtonBrowse
;
122 public static void main(String
[] args
) {
123 // TODO Auto-generated method stub
128 * This is the default constructor
131 public SwitchWorkspace() {
137 * This is the override constructor
140 public SwitchWorkspace(IFrame parentFrame
, boolean modal
) {
141 super(parentFrame
, modal
);
146 * This method initializes this
150 private void initialize() {
151 this.setSize(472, 132);
152 this.setContentPane(getJContentPane());
153 this.setTitle("Change workspace");
158 * This method initializes jContentPane
160 * @return javax.swing.JPanel
162 private JPanel
getJContentPane() {
163 if (jContentPane
== null) {
164 jLabel1
= new JLabel();
165 jLabel1
.setBounds(new java
.awt
.Rectangle(15, 10, 120, 20));
166 jLabel1
.setText("Current Workspace");
167 jLabel
= new JLabel();
168 jLabel
.setBounds(new java
.awt
.Rectangle(15, 35, 120, 20));
169 jLabel
.setText("Change to ");
170 jContentPane
= new JPanel();
171 jContentPane
.setLayout(null);
172 jContentPane
.add(jLabel
, null);
173 jContentPane
.add(jLabel1
, null);
174 jContentPane
.add(getJTextFieldOld(), null);
175 jContentPane
.add(getJTextFieldNew(), null);
176 jContentPane
.add(getJButtonOk(), null);
177 jContentPane
.add(getJButtonCancel(), null);
178 jContentPane
.add(getJButtonBrowse(), null);
183 private boolean check() {
184 if (isEmpty(this.jTextFieldNew
.getText())) {
185 Log
.wrn("Switch Workspace", "New workspace must be entered!");
188 if (!Workspace
.checkWorkspace(this.jTextFieldNew
.getText())) {
189 Log
.wrn("Switch Workspace", "Please select a valid workspace!");
196 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
198 * Override actionPerformed to listen all actions
200 public void actionPerformed(ActionEvent arg0
) {
201 if (arg0
.getSource() == jButtonCancel
) {
202 this.setVisible(false);
203 returnType
= DataType
.RETURN_TYPE_CANCEL
;
206 if (arg0
.getSource() == jButtonOk
) {
210 this.setVisible(false);
211 Workspace
.setCurrentWorkspace(this.jTextFieldNew
.getText());
212 returnType
= DataType
.RETURN_TYPE_OK
;
216 if (arg0
.getSource() == jButtonBrowse
) {
217 JFileChooser fc
= new JFileChooser();
218 fc
.setAcceptAllFileFilterUsed(false);
219 fc
.setFileSelectionMode(JFileChooser
.DIRECTORIES_ONLY
);
220 int result
= fc
.showOpenDialog(new JPanel());
221 if (result
== JFileChooser
.APPROVE_OPTION
) {
222 this.jTextFieldNew
.setText(Tools
.convertPathToCurrentOsType(fc
.getSelectedFile().getPath()));