3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 package org
.tianocore
.frameworkwizard
.far
.createui
;
15 import java
.awt
.event
.MouseEvent
;
16 import java
.awt
.event
.MouseListener
;
17 import java
.util
.Iterator
;
18 import java
.util
.LinkedHashSet
;
20 import java
.util
.Vector
;
22 import javax
.swing
.JPanel
;
23 import javax
.swing
.JTextArea
;
24 import javax
.swing
.JButton
;
25 import javax
.swing
.JLabel
;
27 import org
.tianocore
.frameworkwizard
.common
.ui
.IDialog
;
28 import org
.tianocore
.frameworkwizard
.common
.ui
.iCheckBoxList
.ICheckBoxList
;
29 import javax
.swing
.JScrollPane
;
30 import javax
.swing
.JTextField
;
32 public class CreateStepThree
extends IDialog
implements MouseListener
{
37 private static final long serialVersionUID
= 7559888600474043337L;
39 private JPanel jContentPane
= null;
41 private JTextArea jTextArea
= null;
43 private JButton jButtonNext
= null;
45 private JButton jButtonCancel
= null;
47 private JButton jButtonPrevious
= null;
49 private JLabel jLabel
= null;
51 private ICheckBoxList jComboBoxFileFilter
= null;
53 private JScrollPane jScrollPane
= null;
55 private JLabel jLabel1
= null;
57 private JTextField jTextField
= null;
59 Vector
<String
> v
= new Vector
<String
>();
61 private CreateStepTwo stepTwo
= null;
63 private CreateStepFour stepFour
= null;
65 public CreateStepThree(IDialog iDialog
, boolean modal
, CreateStepTwo stepTwo
) {
67 this.stepTwo
= stepTwo
;
71 * This method initializes jTextArea
73 * @return javax.swing.JTextArea
75 private JTextArea
getJTextArea() {
76 if (jTextArea
== null) {
77 jTextArea
= new JTextArea();
78 jTextArea
.setBounds(new java
.awt
.Rectangle(30, 7, 642, 50));
79 jTextArea
.setText("Step 2: Set File Filter\n");
80 jTextArea
.append("Add more file filter regular expressions in text field separated with space. \n");
81 jTextArea
.append("Note that regular expressions please reference PERL language. ");
82 jTextArea
.setEditable(false);
88 * This method initializes jButtonNext
90 * @return javax.swing.JButton
92 private JButton
getJButtonNext() {
93 if (jButtonNext
== null) {
94 jButtonNext
= new JButton();
95 jButtonNext
.setBounds(new java
.awt
.Rectangle(470, 330, 90, 20));
96 jButtonNext
.setText("Next");
97 jButtonNext
.addMouseListener(this);
103 * This method initializes jButtonCancel
105 * @return javax.swing.JButton
107 private JButton
getJButtonCancel() {
108 if (jButtonCancel
== null) {
109 jButtonCancel
= new JButton();
110 jButtonCancel
.setBounds(new java
.awt
.Rectangle(570, 330, 90, 20));
111 jButtonCancel
.setText("Cancel");
112 jButtonCancel
.addMouseListener(this);
114 return jButtonCancel
;
118 * This method initializes jButtonPrevious
120 * @return javax.swing.JButton
122 private JButton
getJButtonPrevious() {
123 if (jButtonPrevious
== null) {
124 jButtonPrevious
= new JButton();
125 jButtonPrevious
.setBounds(new java
.awt
.Rectangle(370, 330, 90, 20));
126 jButtonPrevious
.setText("Previous");
127 jButtonPrevious
.addMouseListener(this);
129 return jButtonPrevious
;
133 * This method initializes jComboBox
135 * @return javax.swing.JComboBox
137 private ICheckBoxList
getJComboBoxFileFilter() {
138 if (jComboBoxFileFilter
== null) {
139 jComboBoxFileFilter
= new ICheckBoxList();
140 v
.addElement(".svn");
142 jComboBoxFileFilter
.setAllItems(v
);
143 jComboBoxFileFilter
.initCheckedItem(true, v
);
145 return jComboBoxFileFilter
;
149 * This method initializes jScrollPane
151 * @return javax.swing.JScrollPane
153 private JScrollPane
getJScrollPane() {
154 if (jScrollPane
== null) {
155 jScrollPane
= new JScrollPane();
156 jScrollPane
.setBounds(new java
.awt
.Rectangle(139, 85, 500, 130));
157 jScrollPane
.setViewportView(getJComboBoxFileFilter());
163 * This method initializes jTextField
165 * @return javax.swing.JTextField
167 private JTextField
getJTextField() {
168 if (jTextField
== null) {
169 jTextField
= new JTextField();
170 jTextField
.setBounds(new java
.awt
.Rectangle(139, 250, 500, 20));
178 public static void main(String
[] args
) {
179 // TODO Auto-generated method stub
183 * This is the default constructor
185 public CreateStepThree(IDialog iDialog
, boolean modal
) {
186 super(iDialog
, modal
);
191 * This method initializes this
195 private void initialize() {
196 this.setSize(700, 400);
197 this.setContentPane(getJContentPane());
198 this.setTitle("Create Framework Archive(FAR) - Step 3: Set File Filter");
203 * This method initializes jContentPane
205 * @return javax.swing.JPanel
207 private JPanel
getJContentPane() {
208 if (jContentPane
== null) {
209 jLabel1
= new JLabel();
210 jLabel1
.setBounds(new java
.awt
.Rectangle(30, 220, 260, 20));
211 jLabel1
.setText("Input File Filter Pattern (Ref to ...)");
212 jLabel
= new JLabel();
213 jLabel
.setBounds(new java
.awt
.Rectangle(30, 64, 160, 20));
214 jLabel
.setText("File Filter Pattern: ");
215 jContentPane
= new JPanel();
216 jContentPane
.setLayout(null);
217 jContentPane
.add(getJTextArea(), null);
218 jContentPane
.add(getJButtonNext(), null);
219 jContentPane
.add(getJButtonCancel(), null);
220 jContentPane
.add(getJButtonPrevious(), null);
221 jContentPane
.add(jLabel
, null);
222 jContentPane
.add(getJScrollPane(), null);
223 jContentPane
.add(jLabel1
, null);
224 jContentPane
.add(getJTextField(), null);
229 public void mouseClicked(MouseEvent e
) {
230 if (e
.getSource() == jButtonCancel
) {
231 this.setVisible(false);
232 } else if (e
.getSource() == jButtonNext
) {
234 // Add some logic process here
237 if (stepFour
== null) {
238 stepFour
= new CreateStepFour(this, true, this);
239 stepFour
.setVisible(true);
241 stepFour
.setVisible(true);
243 this.setVisible(false);
244 } else if (e
.getSource() == jButtonPrevious
) {
245 this.setVisible(false);
246 stepTwo
.setVisible(true);
250 public void mousePressed(MouseEvent e
) {
251 // TODO Auto-generated method stub
255 public void mouseReleased(MouseEvent e
) {
256 // TODO Auto-generated method stub
260 public void mouseEntered(MouseEvent e
) {
261 // TODO Auto-generated method stub
265 public void mouseExited(MouseEvent e
) {
266 // TODO Auto-generated method stub
270 public Set
<String
> getFileFilter() {
271 Set
<String
> result
= new LinkedHashSet
<String
>();
272 Vector
<Integer
> selected
= jComboBoxFileFilter
.getAllCheckedItemsIndex();
274 Iterator
<Integer
> iter
= selected
.iterator();
276 while (iter
.hasNext()) {
277 result
.add(v
.get(iter
.next().intValue()));
280 String
[] userdefined
= jTextField
.getText().split(" ");
282 for (int i
= 0; i
< userdefined
.length
; i
++) {
283 if (!userdefined
[i
].trim().equalsIgnoreCase("")) {
284 result
.add(userdefined
[i
]);
291 public CreateStepTwo
getPreviousStep() {