Author: chatellier Date: 2009-09-02 07:42:30 +0000 (Wed, 02 Sep 2009) New Revision: 2562 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisTray.java Log: Update documentation. Prepare for multi simulation tray support (not done yet). Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisTray.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisTray.java 2009-09-01 09:55:25 UTC (rev 2561) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisTray.java 2009-09-02 07:42:30 UTC (rev 2562) @@ -23,6 +23,7 @@ import java.awt.AWTException; import java.awt.SystemTray; +import java.awt.TrayIcon; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -38,7 +39,7 @@ import fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener; /** - * IsisTray.java + * Isis tray icon implementation. * * Created: 6 janv. 07 13:52:25 * @@ -54,9 +55,13 @@ /** to use log facility, just put in your code: log.info(\"...\"); */ protected static final Log log = LogFactory.getLog(IsisTray.class); + /** Non running icon. */ protected static final ImageIcon TRAY_IMAGE_STOP = Resource.getIcon("/images/BulbR.gif"); + + /** Running icon. */ protected static final ImageIcon TRAY_IMAGE_START = Resource.getIcon("/images/BulbG.gif"); + /** Non running simulation tooltip text. */ private static final String NO_SIMULATION_TEXT = n_("isisfish.tray.simulation.no"); /** @@ -68,12 +73,32 @@ */ private static final String SIMULATION_TEXT = n_("isisfish.tray.simulation"); + /** System tray tooltip when multiple simulation are running. */ + private static final String MULTI_SIMULATION_TEXT = n_("isisfish.tray.simulation.multi"); + + /** Tray implementation instance. */ private static IsisTray instance = null; - + + /** + * Change image. + * + * @param image new image + */ public abstract void setImage(ImageIcon image); + /** + * Change tooltip. + * + * @param text new tooltip + */ public abstract void setToolTip(String text); + /** + * Factory method to get instance. + * + * @return tray implementation + * @see SystemTray#isSupported() + */ public static IsisTray getInstance() { if (instance == null) { if (AWTSystemTray.isSupported()) { @@ -82,7 +107,7 @@ instance = new DummySystemTray(); } if (log.isInfoEnabled()) { - log.info("Use System tray: " + instance.getClass().getName()); + log.info("Use system tray: " + instance.getClass().getName()); } instance.setToolTip(_(NO_SIMULATION_TEXT)); SimulationService.getService().addSimulationServiceListener( @@ -91,9 +116,11 @@ return instance; } + /* - * @see fr.ifremer.isisfish.simulator.SimulationQueueListener#simulationStart(fr.ifremer.isisfish.simulator.SimulationQueueEvent) + * @see fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener#simulationStart(fr.ifremer.isisfish.simulator.launcher.SimulationService, fr.ifremer.isisfish.simulator.launcher.SimulationJob) */ + @Override public void simulationStart(SimulationService simService, SimulationJob job) { SimulationControl control = job.getItem().getControl(); control.addPropertyChangeListener(this); @@ -104,8 +131,9 @@ } /* - * @see fr.ifremer.isisfish.simulator.SimulationQueueListener#simulationStop(fr.ifremer.isisfish.simulator.SimulationQueueEvent) + * @see fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener#simulationStop(fr.ifremer.isisfish.simulator.launcher.SimulationService, fr.ifremer.isisfish.simulator.launcher.SimulationJob) */ + @Override public void simulationStop(SimulationService simService, SimulationJob job) { SimulationControl control = job.getItem().getControl(); control.removePropertyChangeListener(this); @@ -113,6 +141,10 @@ getInstance().setImage(TRAY_IMAGE_STOP); } + /* + * @see fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener#clearJobDone(fr.ifremer.isisfish.simulator.launcher.SimulationService) + */ + @Override public void clearJobDone(SimulationService simService) { // nothing to do } @@ -120,6 +152,7 @@ /* * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) */ + @Override public void propertyChange(PropertyChangeEvent evt) { SimulationControl control = (SimulationControl) evt.getSource(); getInstance().setToolTip( @@ -127,6 +160,12 @@ control.getProgressMax())); } + /** + * Empty system tray implementation. + * + * All method are empty, do nothing, for system without system + * tray implementation. + */ static class DummySystemTray extends IsisTray { /* @@ -145,10 +184,24 @@ } + /** + * AWT system tray implementation. + * + * @see SystemTray + */ static class AWTSystemTray extends IsisTray { - protected java.awt.TrayIcon trayIcon = null; - - static public boolean isSupported() { + + /** AWT tray icon. */ + protected TrayIcon trayIcon = null; + + /** + * Is swt system try supported. + * + * @return {@code true} if awt systray is supported + * + * @see SystemTray#isSupported() + */ + public static boolean isSupported() { boolean result = SystemTray.isSupported(); return result; } @@ -188,7 +241,7 @@ /// ... add other items // construct a TrayIcon trayIcon = new java.awt.TrayIcon(TRAY_IMAGE_STOP.getImage(), - "Tray Demo", null); + _(NO_SIMULATION_TEXT), null); trayIcon.setImageAutoSize(true); // set the TrayIcon properties //trayIcon.addActionListener(trayListener);
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org