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
.migration
;
16 import java
.awt
.event
.*;
21 public final class FirstPanel
extends JPanel
implements ActionListener
, UI
{
23 * Define class Serial Version UID
25 private static final long serialVersionUID
= 207759413522910399L;
27 private String modulepath
;
28 private ModuleInfo mi
;
30 private JButton moduleButton
, goButton
, msaEditorButton
, criticButton
;
31 private JTextField moduletext
;
32 private JTextArea log
;
33 private JFileChooser fc
;
34 private JCheckBox filebox
, screenbox
;
36 private boolean tofile
= true, toscreen
= true;
37 private PrintWriter logfile
;
39 FirstPanel() throws Exception
{
40 goButton
= new JButton("Go");
41 goButton
.addActionListener(this);
42 goButton
.setActionCommand("go");
44 moduleButton
= new JButton("Choose ModulePath");
45 moduleButton
.addActionListener(this);
47 msaEditorButton
= new JButton("MsaEditor");
48 msaEditorButton
.addActionListener(this);
50 criticButton
= new JButton("Critic");
51 criticButton
.addActionListener(this);
53 moduletext
= new JTextField(30);
55 filebox
= new JCheckBox("Output to logfile", true);
56 screenbox
= new JCheckBox("Specify logfile", false);
58 JPanel modulePanel
= new JPanel();
59 modulePanel
.add(moduleButton
);
60 modulePanel
.add(moduletext
);
61 modulePanel
.add(filebox
);
62 modulePanel
.add(screenbox
);
63 modulePanel
.add(goButton
);
64 //modulePanel.add(msaEditorButton);
65 modulePanel
.add(criticButton
);
68 log
= new JTextArea(20,25);
69 log
.setMargin(new Insets(5,5,5,5));
70 log
.setEditable(false);
71 JScrollPane logScrollPane
= new JScrollPane(log
);
74 fc
= new JFileChooser();
75 fc
.setFileSelectionMode(JFileChooser
.FILES_AND_DIRECTORIES
);
78 //---------------------------------------------------------------------------------------//
80 public boolean yesOrNo(String question
) {
81 return JOptionPane
.showConfirmDialog(this, question
, "Yes or No", JOptionPane
.YES_NO_OPTION
) == JOptionPane
.YES_OPTION
;
84 public void print(String message
) {
85 if (toscreen
== true) {
87 System
.out
.print(message
);
90 logfile
.append(message
);
94 public void println(String message
) {
95 print(message
+ "\n");
98 public void println(Set
<String
> hash
) {
99 if (toscreen
== true) {
100 log
.append(hash
+ "\n");
101 System
.out
.println(hash
);
103 if (tofile
== true) {
104 logfile
.append(hash
+ "\n");
108 public String
choose(String message
, Object
[] choicelist
) {
109 return (String
)JOptionPane
.showInputDialog(this, message
,"Choose",JOptionPane
.PLAIN_MESSAGE
,null,choicelist
,choicelist
[0]);
112 public String
getInput(String message
) {
113 return (String
)JOptionPane
.showInputDialog(message
);
116 //---------------------------------------------------------------------------------------//
118 public String
getFilepath() {
119 if (fc
.showOpenDialog(this) == JFileChooser
.APPROVE_OPTION
) {
120 log
.append(fc
.getSelectedFile().getAbsolutePath() + "\n");
121 return fc
.getSelectedFile().getAbsolutePath();
126 //---------------------------------------------------------------------------------------//
128 public void actionPerformed(ActionEvent e
) {
129 if ( e
.getSource() == moduleButton
) {
130 modulepath
= getFilepath();
132 if ( e
.getSource() == goButton
) {
134 logfile
= new PrintWriter(new BufferedWriter(new FileWriter(modulepath
+ File
.separator
+ "migration.log")));
135 ModuleInfo
.triger(modulepath
);
137 } catch (Exception en
) {
138 println(en
.getMessage());
141 if ( e
.getSource() == msaEditorButton
) {
143 MsaTreeEditor
.init(mi
, this);
144 } catch (Exception en
) {
145 println(en
.getMessage());
148 if ( e
.getSource() == criticButton
) {
150 Critic
.fireAt(modulepath
);
151 } catch (Exception en
) {
152 println(en
.getMessage());
157 public void itemStateChanged(ItemEvent e
) {
158 if (e
.getStateChange() == ItemEvent
.DESELECTED
) {
159 System
.out
.println("changed");
163 //---------------------------------------------------------------------------------------//
165 public static FirstPanel
init() throws Exception
{
167 //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
168 UIManager
.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());
169 //UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
170 //UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
171 //UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
172 //UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
174 JFrame frame
= new JFrame("MigrationTools");
175 frame
.setDefaultCloseOperation(JFrame
.EXIT_ON_CLOSE
);
177 FirstPanel fp
= new FirstPanel();
178 fp
.setLayout(new BoxLayout(fp
, BoxLayout
.Y_AXIS
));
180 frame
.setContentPane(fp
);
183 frame
.setVisible(true);