]>
git.proxmox.com Git - mirror_edk2.git/blob - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/workspace/ui/SwitchWorkspace.java
1 package org
.tianocore
.frameworkwizard
.workspace
.ui
;
3 import java
.awt
.event
.ActionEvent
;
5 import javax
.swing
.JButton
;
6 import javax
.swing
.JFileChooser
;
7 import javax
.swing
.JLabel
;
8 import javax
.swing
.JPanel
;
9 import javax
.swing
.JTextField
;
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() == null ?
"Not Defined"
55 : Workspace
.getCurrentWorkspace());
61 * This method initializes jTextFieldNew
63 * @return javax.swing.JTextField
65 private JTextField
getJTextFieldNew() {
66 if (jTextFieldNew
== null) {
67 jTextFieldNew
= new JTextField();
68 jTextFieldNew
.setBounds(new java
.awt
.Rectangle(140, 35, 220, 20));
74 * This method initializes jButtonOk
76 * @return javax.swing.JButton
78 private JButton
getJButtonOk() {
79 if (jButtonOk
== null) {
80 jButtonOk
= new JButton();
81 jButtonOk
.setBounds(new java
.awt
.Rectangle(290, 70, 80, 20));
82 jButtonOk
.setText("Ok");
83 jButtonOk
.addActionListener(this);
89 * This method initializes jButtonCancel
91 * @return javax.swing.JButton
93 private JButton
getJButtonCancel() {
94 if (jButtonCancel
== null) {
95 jButtonCancel
= new JButton();
96 jButtonCancel
.setBounds(new java
.awt
.Rectangle(380, 70, 80, 20));
97 jButtonCancel
.setText("Cancel");
98 jButtonCancel
.addActionListener(this);
100 return jButtonCancel
;
104 * This method initializes jButtonBrowse
106 * @return javax.swing.JButton
108 private JButton
getJButtonBrowse() {
109 if (jButtonBrowse
== null) {
110 jButtonBrowse
= new JButton();
111 jButtonBrowse
.setBounds(new java
.awt
.Rectangle(370, 35, 90, 20));
112 jButtonBrowse
.setText("Browse");
113 jButtonBrowse
.addActionListener(this);
115 return jButtonBrowse
;
119 * This is the default constructor
122 public SwitchWorkspace() {
128 * This is the override constructor
131 public SwitchWorkspace(IFrame parentFrame
, boolean modal
) {
132 super(parentFrame
, modal
);
137 * This method initializes this
141 private void initialize() {
142 this.setSize(472, 132);
143 this.setContentPane(getJContentPane());
144 this.setTitle("Select workspace");
149 * This method initializes jContentPane
151 * @return javax.swing.JPanel
153 private JPanel
getJContentPane() {
154 if (jContentPane
== null) {
155 jLabel1
= new JLabel();
156 jLabel1
.setBounds(new java
.awt
.Rectangle(15, 10, 120, 20));
157 jLabel1
.setText("Current Workspace");
158 jLabel
= new JLabel();
159 jLabel
.setBounds(new java
.awt
.Rectangle(15, 35, 120, 20));
160 jLabel
.setText("Change to ");
161 jContentPane
= new JPanel();
162 jContentPane
.setLayout(null);
163 jContentPane
.add(jLabel
, null);
164 jContentPane
.add(jLabel1
, null);
165 jContentPane
.add(getJTextFieldOld(), null);
166 jContentPane
.add(getJTextFieldNew(), null);
167 jContentPane
.add(getJButtonOk(), null);
168 jContentPane
.add(getJButtonCancel(), null);
169 jContentPane
.add(getJButtonBrowse(), null);
174 private boolean check() {
175 if (isEmpty(this.jTextFieldNew
.getText())) {
176 Log
.wrn("Switch Workspace", "New workspace must be entered!");
179 if (Workspace
.checkWorkspace(this.jTextFieldNew
.getText()) != Workspace
.WORKSPACE_VALID
) {
180 Log
.wrn("Switch Workspace", "Please select a valid workspace!");
187 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
189 * Override actionPerformed to listen all actions
191 public void actionPerformed(ActionEvent arg0
) {
192 if (arg0
.getSource() == jButtonCancel
) {
193 this.setVisible(false);
194 returnType
= DataType
.RETURN_TYPE_CANCEL
;
197 if (arg0
.getSource() == jButtonOk
) {
201 Workspace
.setCurrentWorkspace(this.jTextFieldNew
.getText());
202 returnType
= DataType
.RETURN_TYPE_OK
;
203 this.setVisible(false);
207 if (arg0
.getSource() == jButtonBrowse
) {
208 JFileChooser fc
= new JFileChooser();
209 fc
.setAcceptAllFileFilterUsed(false);
210 fc
.setFileSelectionMode(JFileChooser
.DIRECTORIES_ONLY
);
211 int result
= fc
.showOpenDialog(new JPanel());
212 if (result
== JFileChooser
.APPROVE_OPTION
) {
213 this.jTextFieldNew
.setText(Tools
.convertPathToCurrentOsType(fc
.getSelectedFile().getPath()));