r1680 - in isis-fish/trunk: . src/main/java/fr/ifremer/isisfish src/main/java/fr/ifremer/isisfish/ui src/main/resources/i18n
Author: chatellier Date: 2008-12-17 17:18:58 +0000 (Wed, 17 Dec 2008) New Revision: 1680 Removed: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/AboutFrameUI.jaxx Modified: isis-fish/trunk/pom.xml isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties Log: Add about frame Modified: isis-fish/trunk/pom.xml =================================================================== --- isis-fish/trunk/pom.xml 2008-12-17 17:18:41 UTC (rev 1679) +++ isis-fish/trunk/pom.xml 2008-12-17 17:18:58 UTC (rev 1680) @@ -317,7 +317,7 @@ <topia.version>2.1.2-SNAPSHOT</topia.version> <!-- lutinwidget version --> - <lutinwidget.version>0.11</lutinwidget.version> + <lutinwidget.version>0.12-SNAPSHOT</lutinwidget.version> <!-- lutinmatrix version --> <lutinmatrix.version>1.2-SNAPSHOT</lutinmatrix.version> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java 2008-12-17 17:18:41 UTC (rev 1679) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java 2008-12-17 17:18:58 UTC (rev 1680) @@ -31,6 +31,27 @@ package fr.ifremer.isisfish; +import static org.codelutin.i18n.I18n._; + +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.List; +import java.util.Locale; + +import javax.swing.JOptionPane; + +import org.apache.commons.beanutils.ConvertUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.codelutin.i18n.I18n; +import org.codelutin.log.LutinLogFactory; +import org.codelutin.log.UserLog; +import org.codelutin.math.matrix.DoubleBigVector; +import org.codelutin.math.matrix.MatrixFactory; +import org.codelutin.topia.TopiaException; +import org.codelutin.util.LocaleConverter; +import org.codelutin.util.VersionNumber; + import fr.ifremer.isisfish.datastore.AnalysePlanStorage; import fr.ifremer.isisfish.datastore.ExportStorage; import fr.ifremer.isisfish.datastore.FormuleStorage; @@ -44,6 +65,7 @@ import fr.ifremer.isisfish.types.Month; import fr.ifremer.isisfish.types.RangeOfValues; import fr.ifremer.isisfish.types.TimeUnit; +import fr.ifremer.isisfish.ui.WelcomeUI; import fr.ifremer.isisfish.util.DateConverter; import fr.ifremer.isisfish.util.MonthConverter; import fr.ifremer.isisfish.util.RangeOfValuesConverter; @@ -54,26 +76,7 @@ import fr.ifremer.isisfish.vcs.VCSException; import fr.ifremer.isisfish.vcs.VCSFactory; import fr.ifremer.isisfish.vcs.VetoableActionListener; -import java.io.File; -import java.text.SimpleDateFormat; -import org.apache.commons.beanutils.ConvertUtils; -import org.apache.commons.logging.LogFactory; -import static org.codelutin.i18n.I18n._; -import org.codelutin.log.LutinLogFactory; -import org.codelutin.math.matrix.DoubleBigVector; -import org.codelutin.math.matrix.MatrixFactory; -import java.util.Locale; -import javax.swing.JOptionPane; -import org.apache.commons.logging.Log; -import org.codelutin.i18n.I18n; -import org.codelutin.log.UserLog; -import org.codelutin.topia.TopiaException; -import org.codelutin.util.LocaleConverter; -import org.codelutin.util.VersionNumber; - -import fr.ifremer.isisfish.ui.WelcomeUI; - /** * This is the main class of <code>IsisFish</code> application. * @@ -207,7 +210,7 @@ } } else if (action == VCSActionEvent.UPDATE_REPOSITORY) { - // consctuit une chaine plutot qu'un Arrays.toString() qui + // construit une chaine plutot qu'un Arrays.toString() qui // est illisible String modifiedFiles = ""; for(File file : files) { @@ -225,10 +228,10 @@ * Permet de faire une demande a l'utilisateur. S'il repond annuler, on * quit l'application * - * @param msg + * @param msg question to ask * @return true if user confirm question */ - public static boolean ask(String msg) { + protected static boolean ask(String msg) { boolean result = true; int value = JOptionPane.showConfirmDialog(null, msg); if (value == JOptionPane.CANCEL_OPTION) { @@ -237,6 +240,19 @@ result = value == JOptionPane.OK_OPTION; return result; } + + /** + * Permet d'afficher un message d'avertissement + * à l'utilisateur. + * + * @param msg msg to show + * @return true if user confirm question + */ + protected static void warn(String msg) { + JOptionPane.showMessageDialog(null, msg, + _("isisfish.error.warning.title"), + JOptionPane.WARNING_MESSAGE); + } /** * Switch le vcs vers VCSNone et le sauvegarde pour le prochain lancement @@ -249,8 +265,9 @@ } /** - * Initialise le VCS et check s'il y a des mises a jour pour prevenir - * l'utilisateur + * Initialise le VCS et check s'il y a des mises à jour pour + * prevenir l'utilisateur. + * * @throws VCSException */ static public void initVCS() throws VCSException { @@ -269,9 +286,7 @@ if (local.exists()) { if (!vcs.isValidLocalRepository()) { log.info(_("Local repository exists but it's not valide for current vcs: %s", config.getOption(VCS.VCS_TYPE))); - if (ask(_("Your database repository: %s\n don't use correct" + - " protocol.\nDo you want to make backup of your database" + - " and take the correct one ?", local))) { + if (ask(_("isisfish.vcs.init.wrongprotocol", local))) { File localBackup = new File(local.getParentFile(), local.getName() + "-" + new SimpleDateFormat("yyyy-mm-dd-HH-mm-ss").format(new java.util.Date())); @@ -291,8 +306,7 @@ log.info(_("Local repository don't exist")); if (!vcs.isConnected()) { UserLog.warn(_( - "No database version %s found and can't get it.\n" + - "You must go to ISIS-Fish web site and download database manualy.", + "isisfish.vcs.init.notfoundcantdownload", IsisConfig.getDatabaseVersion())); } else { // Si on utilise pas le bon tag on change de tag @@ -345,13 +359,31 @@ } else { // Si on utilise pas le bon tag on change de tag VersionNumber tag = IsisConfig.getApiVersion(); + + List<File> filesInClonflict = null; if (vcs.isTag(tag)) { // un tag dispo, on a donc pas la derniere version, on switch - vcs.setTag(tag); + filesInClonflict = vcs.setTag(tag); } else { // pas de tag dispo on retourne sur le trunk - vcs.setTag(null); + filesInClonflict = vcs.setTag(null); } + + // TODO change code is case of conflict + // display a beautiful frame to manage each case + // for now, display a simple warning message + // si refus de l'utilisateur, c'est null aussi + if(filesInClonflict != null && !filesInClonflict.isEmpty()) { + + // construit une chaine plutot qu'un Arrays.toString() qui + // est illisible + String conflictFiles = ""; + for(File file : filesInClonflict) { + conflictFiles += " - " + file.toString() + "\n"; + } + + warn(_("isisfish.vcs.switchtag.warningconflict", conflictFiles)); + } } // check file status @@ -379,24 +411,18 @@ // add context welcome.setVisible(true); } + else { + if (log.isInfoEnabled()) { + log.info(_("isisfish.message.launchui.notlaunch")); + } + } } -// static public void checkout() throws VCSException { -// checkout(true); -// } -// -// static public void checkout(boolean createRegion) throws VCSException { -// if (config.isUseVCS()) { -// IsisVCSHelper.doCheckoutModule(context.handler, SCRIPT, EXPORT, SIMULATOR, FORMULE, RULE, ANALYSE_PLAN); -// VCSHelper.doCheckoutDir(context.handler, SIMULATION.getDirectory(), REGION.getDirectory()); -// IsisVCSHelper.doCheckoutRegion(context.handler, "DemoRegion", createRegion); -// } -// } + /** + * Initialise les convertiseurs utilisé par commons-beansutils. + */ + protected static void initConvertersAndMatrixFactory() { - public static void initConvertersAndMatrixFactory() { - // ajout du support de XMLGridLayout dans SwiXml -// ConverterLibrary.getInstance().register(java.awt.LayoutManager.class, new LayoutConverter()); - ConvertUtils.register(new LocaleConverter(), Locale.class); // init converters @@ -410,4 +436,5 @@ // par defaut on utilise des doubles pour les matrices MatrixFactory.setDefaultVectorClass(DoubleBigVector.class); } + } // IsisFish Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/AboutFrameUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/AboutFrameUI.jaxx 2008-12-17 17:18:41 UTC (rev 1679) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/AboutFrameUI.jaxx 2008-12-17 17:18:58 UTC (rev 1680) @@ -1,37 +0,0 @@ -<!-- -/* *##% - * Copyright (C) 2005 - * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - *##%*/ - -/* * - * IsisFish.java - * - * Created: 1 aout 2005 18:37:25 CEST - * - * @author Benjamin POUSSIN <poussin at codelutin.com> - * @version $Revision: 1312 $ - * - * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $ - * by : $Author: sletellier $ - */ - --> -<JPanel id="aboutFrame" layout='{new BorderLayout()}'> - <JLabel id="version" text='{_("isisfish.about.text") + " " + fr.ifremer.isisfish.IsisConfig.getVersion()}' constraints='BorderLayout.NORTH'/> - <JLabel text="isisfish.about.site" constraints='BorderLayout.CENTER'/> - <JButton text="isisfish.common.ok" constraints='BorderLayout.SOUTH' onActionPerformed='getParentContainer(JFrame.class).dispose()'/> -</JPanel> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx 2008-12-17 17:18:41 UTC (rev 1679) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx 2008-12-17 17:18:58 UTC (rev 1680) @@ -42,7 +42,10 @@ import fr.ifremer.isisfish.ui.simulator.SimulQueueUI; import fr.ifremer.isisfish.ui.simulator.SimulUI; import fr.ifremer.isisfish.IsisFish; + import fr.ifremer.isisfish.IsisConfig; import javax.swing.JFrame; + import org.codelutin.widget.AboutFrame; + welcomePanelUI.setContent(new WelcomeTabUI()); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); protected void openFrame(Container c, String title){ @@ -75,12 +78,18 @@ // FIXME a reimplanter } protected void about(){ - JFrame f = new JFrame(); - f.setLayout(new BorderLayout()); - f.add(new AboutFrameUI(), BorderLayout.CENTER); - f.setTitle(_("isisfish.about.title")); - f.setVisible(true); - f.pack(); + AboutFrame about = new AboutFrame(); + about.setTitle(_("isisfish.about.title")); + about.setIconPath("images/strategy.jpg"); + about.setAboutHtmlText(_("isisfish.about.abouthtmltext", IsisConfig.getVersion())); + about.setLicenseText(_("isisfish.about.licensetext")); + about.setBackgroundColor(Color.WHITE); + // center frame + Dimension dim = getToolkit().getScreenSize(); + about.setSize(640, 520); + about.setLocation((dim.width - about.getSize().width) / 2, + (dim.height - about.getSize().height) / 2); + about.setVisible(true); } ]]> </script> Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2008-12-17 17:18:41 UTC (rev 1679) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2008-12-17 17:18:58 UTC (rev 1680) @@ -62,8 +62,8 @@ destination\ already\ exists\ %s\ use\ \\'force\\'\ argument\ to\ force\ overwrite= directory\ %s\ must\ be\ a\ directory= filter\ loaded\ in\ %1$s\ ms\ \:\ found\ %2$s\ lines.=filter loaded in %1$s ms \: found %2$s lines. -isisfish.about.site=http\://isisfish.labs.libre-entreprise.org - by B.Poussin -isisfish.about.text=Isis-Fish Simulator +isisfish.about.abouthtmltext=<html><b>Isis-Fish (%s)</b><br /><br />Copyright 2002 - 2008, Code Lutin.<br /><br /><a href\="http\://isis-fish.labs.libre-entreprise.org">http\://isis-fish.labs.libre-entreprise.org</a><br /><br />Please, report any bug you can found.<html> +isisfish.about.licensetext=You can modify and redistribute the program under the conditions of the GNU General Public License (version 2 or later). A copy of the GPL is in the file "LICENSE.txt" provided with Isis-Fish. All rights reserved. No guarantees are provided for use of this program. isisfish.about.title=About Isis-Fish... isisfish.advancedParameters.title=advanced Parameters isisfish.advancedParams.freeParameters= @@ -211,7 +211,7 @@ isisfish.error.delete.file=could not delete file %1$s isisfish.error.delete.vcs.files=Can't delete vcs files isisfish.error.dialog.message=Some errors have been detected -isisfish.error.dialog.title=Error... +isisfish.error.dialog.title=Error isisfish.error.during.simulation=Error during simulation isisfish.error.emigration.negative=emigration negative isisfish.error.empty.code.rubbin=rubbin's code is empty @@ -337,6 +337,7 @@ isisfish.error.undefined.zone.reproduction=No reprodution's zone defined isisfish.error.unsupported.equation.langage=unsupported langage '%1$s' for equation\: %2$s isisfish.error.wait.simThread=Can't wait SimThread +isisfish.error.warning.title=Warning isisfish.error.write.simulation=Can't write information %1$s isisfish.exit.text=Something has change, please enter a comment isisfish.exit.title=Exit @@ -536,6 +537,7 @@ isisfish.message.import.scripts.file.cancelled=Import scripts cancelled isisfish.message.import.xml.v2.file=Import xml v2 file isisfish.message.import.zip=Import zip file +isisfish.message.launchui.notlaunch= isisfish.message.load.finished=load finished isisfish.message.load.map=Try to load map file\: %1$s (%2$s, %3$s) isisfish.message.loading.old.simulation=Loading old simulation ... @@ -886,7 +888,10 @@ isisfish.vcs.commit.cancel=vcs.commit.cancel isisfish.vcs.commit.label=vcs.commit.label isisfish.vcs.commit.ok=vcs.commit.ok +isisfish.vcs.init.notfoundcantdownload=No database version %s found and can't get it.\nYou must go to ISIS-Fish web site and download database manually. +isisfish.vcs.init.wrongprotocol=Your database repository\: %s\n don't use correct protocol.\nDo you want to make backup of your database and take the correct one ? isisfish.vcs.switchprotocol.confirm=Protocol to access repository script has changed.\nDo you want to switch your repository ? +isisfish.vcs.switchtag.warningconflict=Your repository is now up-to-date, but following files are conflicted, you may check them \:\n%s isisfish.vcs.switchversion.confirm=You don't use correct repository script for your application version %s.\nDo you want to switch your repository ? isisfish.vcs.update=vcs.update isisfish.vcs.update.cancel=cancel Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2008-12-17 17:18:41 UTC (rev 1679) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2008-12-17 17:18:58 UTC (rev 1680) @@ -62,9 +62,9 @@ destination\ already\ exists\ %s\ use\ \\'force\\'\ argument\ to\ force\ overwrite= directory\ %s\ must\ be\ a\ directory= filter\ loaded\ in\ %1$s\ ms\ \:\ found\ %2$s\ lines.=filter loaded in %1$s ms \: found %2$s lines. -isisfish.about.site=http\://isisfish.labs.libre-entreprise.org - par B.Poussin -isisfish.about.text=Simulateur Isis-Fish -isisfish.about.title=A propos de Isis-Fish... +isisfish.about.abouthtmltext=<html><b>Isis-Fish (%s)</b><br /><br />Copyright 2002 - 2008, Code Lutin.<br /><br /><a href\="http\://isis-fish.labs.libre-entreprise.org">http\://isis-fish.labs.libre-entreprise.org</a><br /><br />Merci de rapporter les bugs.<html> +isisfish.about.licensetext=Vous pouvez modifier et redistribuer ce programme sous les conditions \u00E9nonc\u00E9es par la licence GNU GPL (version 2 ou ult\u00E9rieure). Une copie de la licence GPL est dans le fichier \u00AB\u00A0LICENSE.txt\u00A0\u00BB fourni avec Isis-Fish. Tous droits r\u00E9serv\u00E9s. Aucune garantie n'est fournie pour l'utilisation de ce programme. +isisfish.about.title=\u00C0 propos de Isis-Fish... isisfish.advancedParameters.title=Param\u00E8tres avanc\u00E9s isisfish.advancedParams.freeParameters=Param\u00E8tres libres isisfish.advancedParams.libLevelLogger=Niveau de tracage des librairies @@ -211,7 +211,7 @@ isisfish.error.delete.file=could not delete file %1$s isisfish.error.delete.vcs.files=Can't delete vcs files isisfish.error.dialog.message=Une erreur a \u00E9t\u00E9 d\u00E9tect\u00E9e -isisfish.error.dialog.title=Erreur... +isisfish.error.dialog.title=Erreur isisfish.error.during.simulation=Error during simulation isisfish.error.emigration.negative=emigration negative isisfish.error.empty.code.rubbin=le code rubbin est vide @@ -337,6 +337,7 @@ isisfish.error.undefined.zone.reproduction=il n'y a pas de zone de reproduction de d\u00E9finit isisfish.error.unsupported.equation.langage=unsupported langage '%1$s' for equation\: %2$s isisfish.error.wait.simThread=Can't wait SimThread +isisfish.error.warning.title=Attention isisfish.error.write.simulation=Can't write information %1$s isisfish.exit.text=Quelque chose a chang\u00E9, merci de saisir un commentaire isisfish.exit.title=Exit @@ -536,6 +537,7 @@ isisfish.message.import.scripts.file.cancelled=Importation des scripts annul\u00E9 isisfish.message.import.xml.v2.file=Import xml v2 file isisfish.message.import.zip=Import zip file +isisfish.message.launchui.notlaunch= isisfish.message.load.finished=Chargement termin\u00E9 isisfish.message.load.map=Chargement de la carte \: %1$s (%2$s, %3$s) isisfish.message.loading.old.simulation=Chargement d'une ancienne simulation ... @@ -886,7 +888,10 @@ isisfish.vcs.commit.cancel=annuler isisfish.vcs.commit.label=Entrer quelques mots concernant la modification des scripts isisfish.vcs.commit.ok=confirmer +isisfish.vcs.init.notfoundcantdownload=La base de donn\u00E9es pour la version %s n'a ni pu \u00EAtre trouv\u00E9e, ni t\u00E9l\u00E9charg\u00E9e.\nVous devez la t\u00E9l\u00E9charger manullement \u00E0 partir du site d'Isis-Fish. +isisfish.vcs.init.wrongprotocol=Votre base de donn\u00E9es locale \: %s n'utilise pas un protocole correct.\nVoulez-vous faire une sauvegarde de cette base et r\u00E9cup\u00E9rer une meilleure version ? isisfish.vcs.switchprotocol.confirm=Le protocole d'acc\u00E8s au d\u00E9p\u00F4t des scripts a chang\u00E9.\nVoulez-vous changer vers le nouveau d\u00E9p\u00F4t ? +isisfish.vcs.switchtag.warningconflict=Votre base de donn\u00E9es a \u00E9t\u00E9 mise \u00E0 jour\nmais les fichiers suivants sont en conflit, merci de les v\u00E9rifier \:\n%s isisfish.vcs.switchversion.confirm=Vous n'utilisez pas le d\u00E9p\u00F4t correct pour votre version d'Isis-Fish \: %s.\nVoulez-vous changer de d\u00E9p\u00F4t ? isisfish.vcs.update=R\u00E9sultats de la synchronisation avec le serveur isisfish.vcs.update.cancel=annuler
participants (1)
-
chatellier@users.labs.libre-entreprise.org