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 .*; 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 26 final public class Cve extends JFrame { 27 28 static JDesktopPane desktop; 29 JFrame frameA; 31 IEnvironmentEEL envEEL; 33 ViewEnvironment viewEnv=null; 35 JMenuItem menuItemOpen, menuItemNew,menuItemClose,menuItemE,viewItemTree,viewItemNav,viewItemLogA,viewItemLogE; 37 ViewLog vlog; 39 static public Logger streamLog=null; 40 static public Logger errLog=null; 41 private ChoiceEnvironment chooiceEnv; 43 private static boolean chooiceEnvIsOpen = false; 45 46 49 static protected void setLogging(){ 50 PropertyConfigurator.configure("conf/log4jconf.properties"); 51 streamLog = Logger.getLogger("streamLog"); 52 errLog = Logger.getLogger("errLog"); 53 } 54 55 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 69 public Action choiceEnv = new AbstractAction("") { 70 public void actionPerformed(ActionEvent e) { 71 Cve.errLog.debug(""); 72 openChoiceEnv(); 73 } 74 }; 75 76 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 Image IconImage; 86 IconImage = null; 87 try { 88 Toolkit toolkit = null; 90 toolkit = Toolkit.getDefaultToolkit(); 91 String url = ConfigurationRead.getCveRoot()+"/resource/cve/cve.gif"; 92 IconImage = toolkit.getImage(url); 93 } 94 catch(Exception exception) { 95 Cve.errLog.error(exception.toString()); 96 System.err.println("ImageLoader(): " + exception); 97 } 98 frameA=this; 99 frameA.setIconImage(IconImage); 100 101 JTextArea textA=new JTextArea(); 103 vlog=new ViewLog(textA); 104 int inset = 1; 106 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 107 setBounds(inset, inset, 108 screenSize.width - inset*2, 109 screenSize.height-inset*2); 110 addWindowListener(new WindowAdapter() { 112 public void windowClosing(WindowEvent e) { 113 System.exit(0); 114 } 115 }); 116 117 desktop = new JDesktopPane(); setContentPane(desktop); 120 setJMenuBar(createMenuBar()); 121 desktop.putClientProperty("JDesktopPane.dragMode", "outline"); 123 } 124 125 128 public static void main(String [] args) { 129 setLogging(); 130 Cve.errLog.debug(""); 131 try { UIManager.setLookAndFeel( 133 UIManager.getCrossPlatformLookAndFeelClassName()); 134 } catch (Exception e) { 135 setLogging(); 136 Cve.errLog.debug(e.toString()); 137 } 138 Cve frame = new Cve(); 139 frame.setVisible(true); 140 } 141 142 145 void setEnvironment(IEnvironmentEEL envEEL){ 146 Cve.errLog.debug(""); 147 enableChoiceEnv(); 148 this.envEEL=envEEL; 149 viewCurrentUnit(); 150 } 151 152 157 public static JDesktopPane getDesktop(){ 158 Cve.errLog.debug(""); 159 return desktop; 160 } 161 162 163 164 165 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 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 193 private void createViewEnv() { 194 Cve.errLog.debug(""); 195 viewEnv = new ViewEnvironment(envEEL); 196 viewEnv.setVisible(true); desktop.add(viewEnv); 198 try { 199 viewEnv.setSelected(true); 200 } catch (java.beans.PropertyVetoException e) { 201 Cve.errLog.error(e.toString());} 202 } 203 204 207 private void createViewLog() { 208 Cve.errLog.debug(""); 209 vlog.setVisible(true); desktop.add(vlog); 211 } 212 213 216 private void createTool() { 217 Cve.errLog.debug(""); 218 LogbookTool lgt=new LogbookTool(); 219 lgt.setVisible(true); desktop.add(lgt); 221 } 222 223 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 240 private JMenuBar createMenuBar() { 241 Cve.errLog.debug(""); 242 JMenuBar menuBar = new JMenuBar(); 243 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 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 Cve.errLog.debug(""); 272 createViewEnv(); 273 } 274 }); 275 276 viewItemNav.addActionListener(new ActionListener() { 277 public void actionPerformed(ActionEvent e) { 278 Cve.errLog.debug(""); 279 createTool(); 281 } 282 }); 283 284 viewItemLogA.addActionListener(new ActionListener() { 285 public void actionPerformed(ActionEvent e) { 286 Cve.errLog.debug(""); 287 createViewLog(); 289 } 290 }); 291 292 menuView.add(viewItemNav); 293 menuView.add(viewItemTree); 294 menuView.add(viewItemLogA); 295 menuView.add(viewItemLogE); 296 297 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 menuBar.add(menuSession); 309 menuBar.add(menuEnv); 310 menuBar.add(menuView); 311 enableInit(); 312 return menuBar; 313 } 314 315 318 private void openChoiceEnv() { 319 Cve.errLog.debug(""); 322 if (getChoiceEnvOpen()){ 323 try{ 324 chooiceEnv.setSelected(true); 325 } catch (Exception e){ 326 Cve.errLog.error(e.toString()); 327 } 328 } else { 329 chooiceEnv = new ChoiceEnvironment(ConfigurationRead.getEnvironmentTitle(),"/resource/cve/choiceEnv.gif"); 331 chooiceEnv.init(frameA); 333 JDesktopPane desktop; 335 desktop =Cve.getDesktop(); 336 desktop.add(chooiceEnv); 337 try { 338 chooiceEnv.setSelected(true); 339 }catch (Exception e) { 340 Cve.errLog.error(e.toString()); 341 } 342 setChoiceEnvOpen(true); 343 } 344 } 345 346 351 public static void setChoiceEnvOpen(boolean flag){ 352 Cve.errLog.debug(""); 353 chooiceEnvIsOpen = flag; 354 } 355 356 361 public static boolean getChoiceEnvOpen(){ 362 Cve.errLog.debug(""); 363 return chooiceEnvIsOpen; 364 } 365 366 } | Popular Tags |