r514 - in masc/masc-ui: . src/main/java/fr/inra/mask src/main/java/fr/inra/mask/ui
Author: sletellier Date: 2011-12-09 19:10:32 +0100 (Fri, 09 Dec 2011) New Revision: 514 Url: http://nuiton.org/repositories/revision/sandbox/514 Log: - Creation of masc main ui Added: masc/masc-ui/src/main/java/fr/inra/mask/MascApplicationContext.java masc/masc-ui/src/main/java/fr/inra/mask/RunMasc.java masc/masc-ui/src/main/java/fr/inra/mask/ui/ masc/masc-ui/src/main/java/fr/inra/mask/ui/MascMainUI.jaxx masc/masc-ui/src/main/java/fr/inra/mask/ui/MascMainUIHandler.java Modified: masc/masc-ui/pom.xml Modified: masc/masc-ui/pom.xml =================================================================== --- masc/masc-ui/pom.xml 2011-12-08 16:04:32 UTC (rev 513) +++ masc/masc-ui/pom.xml 2011-12-09 18:10:32 UTC (rev 514) @@ -18,6 +18,34 @@ <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>masc-api</artifactId> + <version>${project.version}</version> + </dependency> + + <!-- jaxx dependencies --> + <dependency> + <groupId>org.nuiton.jaxx</groupId> + <artifactId>jaxx-runtime</artifactId> + </dependency> + + <dependency> + <groupId>org.nuiton.jaxx</groupId> + <artifactId>jaxx-validator</artifactId> + </dependency> + + <dependency> + <groupId>org.nuiton.jaxx</groupId> + <artifactId>jaxx-widgets</artifactId> + </dependency> + + <!-- logging dependencies --> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + </dependencies> <!-- ************************************************************* --> Added: masc/masc-ui/src/main/java/fr/inra/mask/MascApplicationContext.java =================================================================== --- masc/masc-ui/src/main/java/fr/inra/mask/MascApplicationContext.java (rev 0) +++ masc/masc-ui/src/main/java/fr/inra/mask/MascApplicationContext.java 2011-12-09 18:10:32 UTC (rev 514) @@ -0,0 +1,46 @@ +package fr.inra.mask; + +import fr.inra.masc.MascConfig; +import fr.inra.masc.model.MascModel; + +/** + * Context of masc application + * + * @author sletellier <letellier@codelutin.com> + * @since 0.1 + */ +public class MascApplicationContext { + + protected static ThreadLocal<MascApplicationContext> threadLocal; + + protected MascConfig config; + protected MascModel mascModel; + + public static MascApplicationContext getContext() { + if (threadLocal == null) { + threadLocal = new ThreadLocal<MascApplicationContext>(); + threadLocal.set(new MascApplicationContext()); + } + return threadLocal.get(); + } + + // use singleton + protected MascApplicationContext() { + } + + public MascModel getMascModel() { + return mascModel; + } + + public void setMascModel(MascModel mascModel) { + this.mascModel = mascModel; + } + + public MascConfig getConfig() { + return config; + } + + public void setConfig(MascConfig config) { + this.config = config; + } +} Added: masc/masc-ui/src/main/java/fr/inra/mask/RunMasc.java =================================================================== --- masc/masc-ui/src/main/java/fr/inra/mask/RunMasc.java (rev 0) +++ masc/masc-ui/src/main/java/fr/inra/mask/RunMasc.java 2011-12-09 18:10:32 UTC (rev 514) @@ -0,0 +1,34 @@ +package fr.inra.mask; + +import fr.inra.mask.ui.MascMainUI; +import fr.inra.mask.ui.MascMainUIHandler; +import jaxx.runtime.context.JAXXInitialContext; +import jaxx.runtime.swing.ErrorDialogUI; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * @author sletellier <letellier@codelutin.com> + * @since 0.1 + */ +public class RunMasc { + + /** Logger */ + private static Log log = LogFactory.getLog(RunMasc.class); + + public static void main(String[] args) { + + try { + MascApplicationContext applicationContext = MascApplicationContext.getContext(); + JAXXInitialContext jaxxContext = new JAXXInitialContext(); + jaxxContext.add(applicationContext); + + MascMainUIHandler mainHandler = new MascMainUIHandler(); + MascMainUI mainUI = mainHandler.initUI(jaxxContext); + } catch (Exception eee) { + log.error(eee.getMessage(), eee); + ErrorDialogUI.showError(eee); + System.exit(1); + } + } +} Added: masc/masc-ui/src/main/java/fr/inra/mask/ui/MascMainUI.jaxx =================================================================== --- masc/masc-ui/src/main/java/fr/inra/mask/ui/MascMainUI.jaxx (rev 0) +++ masc/masc-ui/src/main/java/fr/inra/mask/ui/MascMainUI.jaxx 2011-12-09 18:10:32 UTC (rev 514) @@ -0,0 +1,7 @@ +<JFrame id='mainFrame' decorator='help' + width='800' height='800' + onWindowClosing='getHandler().closeApplication(this)'> + + <MascMainUIHandler id="handler" + initializer='getContextValue(MascMainUIHandler.class)'/> +</JFrame> \ No newline at end of file Added: masc/masc-ui/src/main/java/fr/inra/mask/ui/MascMainUIHandler.java =================================================================== --- masc/masc-ui/src/main/java/fr/inra/mask/ui/MascMainUIHandler.java (rev 0) +++ masc/masc-ui/src/main/java/fr/inra/mask/ui/MascMainUIHandler.java 2011-12-09 18:10:32 UTC (rev 514) @@ -0,0 +1,34 @@ +package fr.inra.mask.ui; + +import jaxx.runtime.context.JAXXInitialContext; +import jaxx.runtime.swing.ErrorDialogUI; + +/** + * Handler of main UI + * + * @author sletellier <letellier@codelutin.com> + * @since 0.1 + */ +public class MascMainUIHandler { + + public void closeApplication(MascMainUI ui) { + ui.dispose(); + } + + public MascMainUI initUI(JAXXInitialContext context) { + + // share handler + context.add(this); + + // construt main UI + MascMainUI ui = new MascMainUI(context); + + // display + ui.setVisible(true); + + // synch to error dialog + ErrorDialogUI.init(ui); + + return ui; + } +}
participants (1)
-
sletellier@users.nuiton.org