Author: tchemit Date: 2009-07-27 22:29:29 +0200 (Mon, 27 Jul 2009) New Revision: 1648 Modified: trunk/nuiton-i18n-editor/pom.xml trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditor.java trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditorConfig.java trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.css trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.jaxx trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUIHandler.java trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUI.css trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-en_GB.properties trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-fr_FR.properties trunk/nuiton-i18n-editor/src/main/resources/log4j.properties Log: add config ui and configure action Modified: trunk/nuiton-i18n-editor/pom.xml =================================================================== --- trunk/nuiton-i18n-editor/pom.xml 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/pom.xml 2009-07-27 20:29:29 UTC (rev 1648) @@ -73,8 +73,8 @@ <!-- main class in jar --> <maven.jar.main.class>org.nuiton.i18n.editor.I18nEditor</maven.jar.main.class> - <jaxx.version>1.7.0</jaxx.version> - <lutinutil.version>1.1.0-rc-8</lutinutil.version> + <jaxx.version>1.7.1-SNAPSHOT</jaxx.version> + <lutinutil.version>1.1.0-rc-9-SNAPSHOT</lutinutil.version> <!-- default license to use --> <license.licenseName>gpl_v3</license.licenseName> @@ -156,6 +156,7 @@ <artifactId>maven-i18n-plugin</artifactId> <version>${project.version}</version> <configuration> + <silent>true</silent> <entries> <entry> <basedir>${maven.gen.dir}/java/</basedir> Modified: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditor.java =================================================================== --- trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditor.java 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditor.java 2009-07-27 20:29:29 UTC (rev 1648) @@ -176,6 +176,17 @@ disableMainUI(); } + public void configure() { + if (log.isDebugEnabled()) { + log.debug(this); + } + I18nEditorContext context = I18nEditorContext.get(); + I18nEditorConfig config = context.getConfig(); + I18nEditorUIHandler handler = context.getContextValue(I18nEditorUIHandler.class); + handler.showConfig(context); + config.setDisplayMainUI(false); + } + /** * Désactiver la possiblite de lancer l'ui principale. */ Modified: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditorConfig.java =================================================================== --- trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditorConfig.java 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/I18nEditorConfig.java 2009-07-27 20:29:29 UTC (rev 1648) @@ -261,24 +261,60 @@ ////////////////////////////////////////////////// // Toutes les options disponibles ////////////////////////////////////////////////// - protected static enum Option { + public static enum Option implements OptionDef { - CONFIG_FILE(CONFIG_FILE_NAME, _("i18neditor.config.configFileName.description"), "nuitoni18neditor-config"), + CONFIG_FILE(CONFIG_FILE_NAME, _("i18neditor.config.configFileName.description"), "nuitoni18neditor-config", String.class, true, true), // directories - TMP_DIRECTORY("tmp.directory", _("i18neditor.config.defaultTmpDirectory.description"), getUserDirectory() + File.separator + "tmp"), - PROJECTS_DIRECTORY("projects.directory", _("i18neditor.config.defaultProjectsDirectory.description"), getUserDirectory() + File.separator + "projects"), + TMP_DIRECTORY("tmp.directory", _("i18neditor.config.defaultTmpDirectory.description"), getUserDirectory() + File.separator + "tmp", File.class, false, false), + PROJECTS_DIRECTORY("projects.directory", _("i18neditor.config.defaultProjectsDirectory.description"), getUserDirectory() + File.separator + "projects", File.class, false, false), // ui config - FULL_SCREEN("ui.fullscreen", _("i18neditor.config.ui.fullscreen"), "false"), - LOCALE("ui.locale", _("i18neditor.config.ui.locale"), Locale.FRANCE.toString()); + FULL_SCREEN("ui.fullscreen", _("i18neditor.config.ui.fullscreen"), "false", Boolean.class, false, false), + LOCALE("ui.locale", _("i18neditor.config.ui.locale"), Locale.FRANCE.toString(), Locale.class, false, false); public final String key; public final String description; public final String defaultValue; + public final Class<?> type; + public final boolean _transient; + public final boolean _final; - private Option(String key, String description, String defaultValue) { + private Option(String key, String description, String defaultValue, Class<?> type, boolean _transient, boolean _final) { this.key = key; this.description = description; this.defaultValue = defaultValue; + this.type = type; + this._final = _final; + this._transient = _transient; } + + @Override + public boolean isFinal() { + return _final; + } + + @Override + public boolean isTransient() { + return _transient; + } + + @Override + public String getDefaultValue() { + return defaultValue; + } + + @Override + public String getDescription() { + return description; + } + + @Override + public String getKey() { + return key; + } + + @Override + public Class<?> getType() { + return type; + } } public static enum Step { @@ -289,6 +325,7 @@ public static enum Action { HELP(_("i18neditor.action.commandline.help"), I18nEditor.class.getName() + "#help", "-h", "--help"), + CONFIGURE(_("i18neditor.action.commandline.configure"), I18nEditor.class.getName() + "#configure", "-c", "--configure"), NO_MAIN_UI(_("i18neditor.action.commandline.disable.main.ui"), I18nEditor.class.getName() + "#disableMainUI", "-n", "--no-main"); public String description; public String action; Modified: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.css =================================================================== --- trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.css 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.css 2009-07-27 20:29:29 UTC (rev 1648) @@ -49,7 +49,6 @@ text:"i18neditor.action.configuration"; toolTipText:"i18neditor.action.configuration.tip"; actionIcon:"config"; - enabled:false; mnemonic:C; _help:{"ui.main.menu.file.configuration"}; } Modified: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.jaxx =================================================================== --- trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.jaxx 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUI.jaxx 2009-07-27 20:29:29 UTC (rev 1648) @@ -221,7 +221,7 @@ </script> <JMenuBar> <JMenu id='menuFile'> - <JMenuItem id='menuFileConfiguration' onActionPerformed="handler.showConfig()"/> + <JMenuItem id='menuFileConfiguration' onActionPerformed="handler.showConfig(context)"/> <JMenuItem id="menuFileCreateProject" onActionPerformed="handler.createProject(context)"/> <JMenu id="menuFileOpenProject"> <JMenuItem id="menuFileOpenProjectOther" Modified: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUIHandler.java =================================================================== --- trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUIHandler.java 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/I18nEditorUIHandler.java 2009-07-27 20:29:29 UTC (rev 1648) @@ -46,6 +46,9 @@ import jaxx.runtime.DefaultApplicationContext.AutoLoad; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.AboutPanel; +import jaxx.runtime.swing.editor.config.ConfigUI; +import jaxx.runtime.swing.editor.config.ConfigUIBuilder; +import jaxx.runtime.swing.editor.config.model.ConfigUIModel; import jaxx.runtime.swing.wizard.WizardUILancher; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -57,6 +60,7 @@ import org.nuiton.i18n.editor.ui.project.ProjectUI; import org.nuiton.i18n.editor.ui.project.ProjectUIModel; import static org.nuiton.i18n.I18n._; +import static org.nuiton.i18n.I18n.n_; /** * @@ -478,7 +482,27 @@ // } } - public void showConfig() { + public void showConfig(I18nEditorContext context) { + I18nEditorUI ui = getUI(context); + + ConfigUIModel model = new ConfigUIModel(context.getConfig()); + model.addCategory( + n_("i18neditor.config.category.directories"), + n_("i18neditor.config.category.directories.description"), + I18nEditorConfig.Option.CONFIG_FILE, + I18nEditorConfig.Option.PROJECTS_DIRECTORY, + I18nEditorConfig.Option.TMP_DIRECTORY); + + model.addCategory( + n_("i18neditor.config.category.ui"), + n_("i18neditor.config.category.ui.description"), + I18nEditorConfig.Option.FULL_SCREEN, + I18nEditorConfig.Option.LOCALE); + + ConfigUI configUI = ConfigUIBuilder.newConfigUI(context, model, "i18neditor.config.category.ui"); + + ConfigUIBuilder.showConfigUI(configUI, ui, false); +// configUI.showInDialog(ui, ui != null); } public void showHelp(JAXXContext context, String helpId) { @@ -592,7 +616,6 @@ if (!providers.isEmpty()) { model.setType(providers.iterator().next()); } -// ui.setTitle(("observe.title.import.localDB")); } @Override Modified: trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUI.css =================================================================== --- trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUI.css 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/java/org/nuiton/i18n/editor/ui/project/ProjectUI.css 2009-07-27 20:29:29 UTC (rev 1648) @@ -18,7 +18,7 @@ */ #mainUI { - title:"i18neditor.title.create.project"; + title:"i18neditor.title.noproject"; modal:true; resizable:false; defaultCloseOperation:"dispose_on_close"; Modified: trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-en_GB.properties =================================================================== --- trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-en_GB.properties 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-en_GB.properties 2009-07-27 20:29:29 UTC (rev 1648) @@ -12,6 +12,7 @@ i18neditor.action.choose.project.description= i18neditor.action.choose.projectDir= i18neditor.action.closeProject=Close the project +i18neditor.action.commandline.configure=Configure the application i18neditor.action.commandline.disable.main.ui=Do not launch main ui i18neditor.action.commandline.help=Show this help i18neditor.action.configuration=Preferences @@ -45,6 +46,10 @@ i18neditor.choose.project.to.delete= i18neditor.common.descrition= i18neditor.common.resume=Resume +i18neditor.config.category.directories=Directories +i18neditor.config.category.directories.description=Directories used by the application +i18neditor.config.category.ui=Application +i18neditor.config.category.ui.description=Other options used by the application i18neditor.config.configFileName.description=configuration file i18neditor.config.defaultProjectsDirectory.description=default directory where to store project definitions (*.i18nproject) i18neditor.config.defaultTmpDirectory.description=tempory directory used by the application @@ -108,7 +113,6 @@ i18neditor.title.choose.jar.source= i18neditor.title.choose.project= i18neditor.title.choose.projectDir= -i18neditor.title.create.project=Create a new project i18neditor.title.noproject=Nuiton i18n editor < no project loaded > i18neditor.title.project.info=Project's informations i18neditor.warning.nimbus.landf=Could not find nymbus look and feel, please use at least a 1.6u10 version of sun jre Modified: trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-fr_FR.properties =================================================================== --- trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-fr_FR.properties 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/resources/i18n/nuiton-i18n-editor-fr_FR.properties 2009-07-27 20:29:29 UTC (rev 1648) @@ -12,6 +12,7 @@ i18neditor.action.choose.project.description=Fichier de d\u00E9finition de project (*.i18nproject) i18neditor.action.choose.projectDir=Choisir ce r\u00E9pertoire i18neditor.action.closeProject=Fermer le projet +i18neditor.action.commandline.configure=Configurer l'application i18neditor.action.commandline.disable.main.ui=Ne pas lancer l'interface graphique principale i18neditor.action.commandline.help=Voir l'aide i18neditor.action.configuration=Pr\u00E9f\u00E9rences @@ -41,11 +42,14 @@ i18neditor.action.showHelp.tip=Voir l'aide contextuelle i18neditor.action.site=Site i18neditor.action.site.tip=Acc\u00E9der au site du projet -i18neditor.title.create.project=Cr\u00E9er un nouveau projet i18neditor.bundle.name=Localisation \: %1$s i18neditor.choose.project.to.delete=Choisir le projet \u00E0 supprimer i18neditor.common.descrition=Description i18neditor.common.resume=R\u00E9sum\u00E9 +i18neditor.config.category.directories=R\u00E9pertoires +i18neditor.config.category.directories.description=Les r\u00E9pertoires utilis\u00E9es par l'application +i18neditor.config.category.ui=Application +i18neditor.config.category.ui.description=Les autres options de l'application i18neditor.config.configFileName.description=Le nom du fichier de configuration i18neditor.config.defaultProjectsDirectory.description=Le r\u00E9pertoire o\u00F9 sont sauvegarder les d\u00E9finitions de projets i18neditor.config.defaultTmpDirectory.description=Le r\u00E9pertoire temporaire par d\u00E9faut @@ -67,7 +71,7 @@ i18neditor.createproject.doPersist=Sauver la d\u00E9finition du projet i18neditor.createproject.jar.source.label=Choisir le jar source i18neditor.createproject.name.label=Nom du projet -i18neditor.createproject.no.type= +i18neditor.createproject.no.type=< Aucune type de projet s\u00E9lectionn\u00E9 > i18neditor.createproject.storeProject.directory=R\u00E9pertoire de sauvegarde i18neditor.createproject.storeProject.path=Fichier de sauvegarde i18neditor.createproject.uniqueJarDefinition=Utilisation d'un bundle final @@ -109,7 +113,6 @@ i18neditor.title.choose.jar.source=Choisir un fichier de type 'jar' i18neditor.title.choose.project=Choisir le fichier de d\u00E9finition d'un projet i18neditor.title.choose.projectDir=Choisir une d\u00E9finition de projet -i18neditor.title.create.project= i18neditor.title.noproject=Nuiton i18n editor < aucun projet charg\u00E9 > i18neditor.title.project.info=Informations sur le projet i18neditor.warning.nimbus.landf=Le look and Feel Nimbus n'a pas \u00E9t\u00E9 trouv\u00E9, il faut au moins la version 1.6u10 de java. Modified: trunk/nuiton-i18n-editor/src/main/resources/log4j.properties =================================================================== --- trunk/nuiton-i18n-editor/src/main/resources/log4j.properties 2009-07-27 20:23:21 UTC (rev 1647) +++ trunk/nuiton-i18n-editor/src/main/resources/log4j.properties 2009-07-27 20:29:29 UTC (rev 1648) @@ -8,6 +8,7 @@ # package level log4j.logger.org.nuiton=WARN log4j.logger.org.nuiton.i18n.editor=INFO -log4j.logger.org.nuiton.util.Resource=DEBUG +#log4j.logger.org.nuiton.util.Resource=DEBUG #log4j.logger.org.nuiton.i18n.editor.I18nEditorConfig=DEBUG -#log4j.logger.jaxx.runtime.swing.I18nWidget=DEBUG +log4j.logger.jaxx.runtime.swing.editor.config=DEBUG +log4j.logger.jaxx.runtime.swing.editor=DEBUG