KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > cve > staticLayout > Cve


1 package cve.staticLayout;
2
3 import cve.core.elementEEL.*;
4 import cve.util.ConfigurationRead;
5 import cve.staticLayout.metaphor.*;
6
7 import javax.swing.*;
8 import javax.swing.ImageIcon JavaDoc.*;
9
10 import org.apache.log4j.Logger;
11 import org.apache.log4j.PropertyConfigurator;
12 import org.apache.log4j.Level;
13
14 import java.awt.event.*;
15 import java.awt.*;
16 import java.util.*;
17
18 /**
19 * It is the main cve class.
20 * It manages gui CVE and provides a set of utility cve
21 *
22 * @version 1.1.0
23 * @author Domenico Ventriglia
24 * @author Francesco Guerrisi
25 */

26 final public class Cve extends JFrame {
27
28    static JDesktopPane desktop;
29    // frame root (this)
30
JFrame frameA;
31    // EEL environment
32
IEnvironmentEEL envEEL;
33    // environment visualizer
34
ViewEnvironment viewEnv=null;
35    //menu environment items
36
JMenuItem menuItemOpen, menuItemNew,menuItemClose,menuItemE,viewItemTree,viewItemNav,viewItemLogA,viewItemLogE;
37    // log management
38
ViewLog vlog;
39    static public Logger streamLog=null;
40    static public Logger errLog=null;
41    //environment selection
42
private ChoiceEnvironment chooiceEnv;
43    //if a environment is open
44
private static boolean chooiceEnvIsOpen = false;
45
46    /**
47    * Inizialization log static instance
48    */

49    static protected void setLogging(){
50       PropertyConfigurator.configure("conf/log4jconf.properties");
51       streamLog = Logger.getLogger("streamLog");
52       errLog = Logger.getLogger("errLog");
53    }
54
55    /**
56    * Choice environment
57    */

58    public Action sceltoEnv = new AbstractAction("") {
59       public void actionPerformed(ActionEvent e) {
60          Cve.errLog.debug("");
61          menuItemNew.setEnabled(false);
62          menuItemClose.setEnabled(true);
63       }
64    };
65
66    /**
67    * The dialog manages the choice environment
68    */

69    public Action choiceEnv = new AbstractAction("") {
70       public void actionPerformed(ActionEvent e) {
71          Cve.errLog.debug("");
72          openChoiceEnv();
73       }
74    };
75
76    /**
77    * It manages the main cve window
78    */

79    public Cve() {
80       super(" COOPERATIVE VISUAL ENVIRONMENT (CVE 1.0) - Università degli studi di Roma 'La Sapienza'");
81       Cve.errLog.debug("");
82       ConfigurationRead.getCveRoot();
83
84       //GF Icon CVE
85
Image IconImage;
86       IconImage = null;
87       try {
88          //Creazione del Toolkit
89
Toolkit toolkit = null;
90          toolkit = Toolkit.getDefaultToolkit();
91          String JavaDoc url = ConfigurationRead.getCveRoot()+"/resource/cve/cve.gif";
92          IconImage = toolkit.getImage(url);
93       }
94       catch(Exception JavaDoc exception) {
95          Cve.errLog.error(exception.toString());
96          System.err.println("ImageLoader(): " + exception);
97       }
98       frameA=this;
99       frameA.setIconImage(IconImage);
100
101       // log area
102
JTextArea textA=new JTextArea();
103       vlog=new ViewLog(textA);
104       //Make the big window be indented 1 pixels from each edge of the screen.
105
int inset = 1;
106       Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
107       setBounds(inset, inset,
108       screenSize.width - inset*2,
109       screenSize.height-inset*2);
110       //Quit this app when the big window closes.
111
addWindowListener(new WindowAdapter() {
112          public void windowClosing(WindowEvent e) {
113             System.exit(0);
114          }
115       });
116
117       //Set up the GUI.
118
desktop = new JDesktopPane(); //a specialized layered pane
119
setContentPane(desktop);
120       setJMenuBar(createMenuBar());
121       //Make dragging faster:
122
desktop.putClientProperty("JDesktopPane.dragMode", "outline");
123    }
124
125    /**
126    * It runs gui cve
127    */

128    public static void main(String JavaDoc[] args) {
129       setLogging();
130       Cve.errLog.debug("");
131       try { // Look&Feel
132
UIManager.setLookAndFeel(
133          UIManager.getCrossPlatformLookAndFeelClassName());
134       } catch (Exception JavaDoc e) {
135          setLogging();
136          Cve.errLog.debug(e.toString());
137       }
138       Cve frame = new Cve();
139       frame.setVisible(true);
140    }
141
142    /**
143    * It sets botton state, EEL environment, presenter unit
144    */

145    void setEnvironment(IEnvironmentEEL envEEL){
146       Cve.errLog.debug("");
147       enableChoiceEnv();
148       this.envEEL=envEEL;
149       viewCurrentUnit();
150    }
151
152    /**
153    * It generates InternalFrame
154    *
155    * @return JDesktopPane
156    */

157    public static JDesktopPane getDesktop(){
158       Cve.errLog.debug("");
159       return desktop;
160    }
161
162
163    /* ############### Private methods ######################## */
164
165    /**
166    * It sets default button
167    */

168    private void enableInit(){
169       Cve.errLog.debug("");
170       menuItemNew.setEnabled(false);
171       viewItemTree.setEnabled(false);
172       viewItemNav.setEnabled(false);
173       viewItemLogA.setEnabled(false);
174       viewItemLogE.setEnabled(false);
175       menuItemClose.setEnabled(false);
176    }
177
178    /**
179    * It sets button state
180    */

181    private void enableChoiceEnv(){
182       Cve.errLog.debug("");
183       menuItemNew.setEnabled(false);
184       viewItemTree.setEnabled(true);
185       viewItemNav.setEnabled(true);
186       viewItemLogA.setEnabled(true);
187       viewItemLogE.setEnabled(false);
188    }
189
190    /**
191    * It builds environment view
192    */

193    private void createViewEnv() {
194       Cve.errLog.debug("");
195       viewEnv = new ViewEnvironment(envEEL);
196       viewEnv.setVisible(true); //necessary as of kestrel
197
desktop.add(viewEnv);
198       try {
199          viewEnv.setSelected(true);
200       } catch (java.beans.PropertyVetoException JavaDoc e) {
201          Cve.errLog.error(e.toString());}
202       }
203
204       /**
205       * It builds view Log
206       */

207       private void createViewLog() {
208          Cve.errLog.debug("");
209          vlog.setVisible(true); //necessary as of kestrel
210
desktop.add(vlog);
211       }
212
213       /**
214       * It builds view LogBook
215       */

216       private void createTool() {
217          Cve.errLog.debug("");
218          LogbookTool lgt=new LogbookTool();
219          lgt.setVisible(true); //necessary as of kestrel
220
desktop.add(lgt);
221       }
222
223       /**
224       * It shows current Unit
225       *
226       */

227       private void viewCurrentUnit(){
228          Cve.errLog.debug("");
229          IUnit unit=envEEL.getCurrentUnit();
230          Collection pres=unit.view();
231          Iterator itPre=pres.iterator();
232          while (itPre.hasNext()){
233             desktop.add((JInternalFrame)itPre.next());
234          }
235       }
236
237       /**
238       * It manages menuBar
239       */

240       private JMenuBar createMenuBar() {
241          Cve.errLog.debug("");
242          JMenuBar menuBar = new JMenuBar();
243          //MENU ENVIRONMENT
244
JMenu menuEnv = new JMenu("Environment");
245          menuEnv.setMnemonic(KeyEvent.VK_D);
246          menuItemOpen = new JMenuItem("Open");
247          menuItemNew = new JMenuItem("New");
248          menuItemClose = new JMenuItem("Close");
249          menuItemOpen.setMnemonic(KeyEvent.VK_N);
250          menuItemOpen.addActionListener(new ActionListener() {
251             public void actionPerformed(ActionEvent e) {
252                Cve.errLog.debug("");
253                openChoiceEnv();
254             }
255          });
256
257          menuEnv.add(menuItemOpen);
258          menuEnv.add(menuItemNew);
259          menuEnv.add(menuItemClose);
260
261          // MENU VIEW
262
JMenu menuView = new JMenu("View");
263          menuView.setMnemonic(KeyEvent.VK_D);
264          viewItemTree = new JMenuItem("Environment tree");
265          viewItemNav = new JMenuItem("Navigator");
266          viewItemLogA = new JMenuItem("Log activity");
267          viewItemLogE = new JMenuItem("Log expections");
268          viewItemTree.addActionListener(new ActionListener() {
269             public void actionPerformed(ActionEvent e) {
270                // visualizza struttura ambiente scelto
271
Cve.errLog.debug("");
272                createViewEnv();
273             }
274          });
275
276          viewItemNav.addActionListener(new ActionListener() {
277             public void actionPerformed(ActionEvent e) {
278                Cve.errLog.debug("");
279                // toolbar logbook che consente la navigazione
280
createTool();
281             }
282          });
283
284          viewItemLogA.addActionListener(new ActionListener() {
285             public void actionPerformed(ActionEvent e) {
286                Cve.errLog.debug("");
287                // visualizza struttura ambiente scelto
288
createViewLog();
289             }
290          });
291
292          menuView.add(viewItemNav);
293          menuView.add(viewItemTree);
294          menuView.add(viewItemLogA);
295          menuView.add(viewItemLogE);
296
297          // MENU FILE
298
JMenu menuSession = new JMenu("Session");
299          menuView.setMnemonic(KeyEvent.VK_D);
300          menuItemE = new JMenuItem("Exit");
301          menuItemE.addActionListener(new ActionListener() {
302             public void actionPerformed(ActionEvent e) {
303                System.exit(0);
304             }
305          });
306          menuSession.add(menuItemE);
307          // gestione globale menu
308
menuBar.add(menuSession);
309          menuBar.add(menuEnv);
310          menuBar.add(menuView);
311          enableInit();
312          return menuBar;
313       }
314
315       /**
316       * It open frame in order to choice the environment
317       */

318       private void openChoiceEnv() {
319          // scelta ambiente da eseguire gli passo il frame genitore (this)
320
// setto envEEL
321
Cve.errLog.debug("");
322          if (getChoiceEnvOpen()){
323             try{
324             chooiceEnv.setSelected(true);
325          } catch (Exception JavaDoc e){
326             Cve.errLog.error(e.toString());
327          }
328       } else {
329          //Apertura Maschera Visualizzazione Informazioni
330
chooiceEnv = new ChoiceEnvironment(ConfigurationRead.getEnvironmentTitle(),"/resource/cve/choiceEnv.gif");
331          //Impostazioni Frame
332
chooiceEnv.init(frameA);
333          //Visualizzazione
334
JDesktopPane desktop;
335          desktop =Cve.getDesktop();
336          desktop.add(chooiceEnv);
337          try {
338             chooiceEnv.setSelected(true);
339          }catch (Exception JavaDoc e) {
340             Cve.errLog.error(e.toString());
341          }
342          setChoiceEnvOpen(true);
343       }
344    }
345
346    /**
347    * It sets Flag in order to know the open environment
348    *
349    * @param flag open environment
350    */

351    public static void setChoiceEnvOpen(boolean flag){
352       Cve.errLog.debug("");
353       chooiceEnvIsOpen = flag;
354    }
355
356    /**
357    * It reads open environment
358    *
359    * @return boolean Flag di Maschera di Selezione Ambienti Aperta
360    */

361    public static boolean getChoiceEnvOpen(){
362       Cve.errLog.debug("");
363       return chooiceEnvIsOpen;
364    }
365
366 }
Popular Tags