Author: chatellier Date: 2010-11-24 14:51:28 +0000 (Wed, 24 Nov 2010) New Revision: 265 Log: Add basic summary view Added: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectSummaryView.jaxx trunk/coser-ui/src/main/resources/icons/cancel.png Modified: trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrame.jaxx trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties Modified: trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties =================================================================== --- trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2010-11-24 14:04:29 UTC (rev 264) +++ trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2010-11-24 14:51:28 UTC (rev 265) @@ -31,9 +31,6 @@ coser.business.control.error.diffCatchLengthDetail= coser.business.control.error.duplicatedLine= coser.business.control.error.duplicatedLineDetails= -coser.business.control.error.incompleteHaulDataCatch= -coser.business.control.error.incompleteHaulDataLength= -coser.business.control.error.incompleteHaulSpeciesData= coser.business.control.error.invalidLengthLengthStep= coser.business.control.error.minObservationCount= coser.business.control.error.minObservationCountDetail= Modified: trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties =================================================================== --- trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2010-11-24 14:04:29 UTC (rev 264) +++ trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2010-11-24 14:51:28 UTC (rev 265) @@ -31,8 +31,6 @@ coser.business.control.error.diffCatchLengthDetail=Diff\u00E9rence entre les captures et taille pour l'esp\u00E8ce %s (ann\u00E9e %s) coser.business.control.error.duplicatedLine=Ligne en doublon coser.business.control.error.duplicatedLineDetails=Ligne en doublon pour la cl\u00E9 \: %s -coser.business.control.error.incompleteHaulDataCatch=Certains couples Annee|Trait ne sont pas pr\u00E9sents dans les captures -coser.business.control.error.incompleteHaulDataLength=Certains couples Annee|Trait ne sont pas pr\u00E9sents dans les tailles coser.business.control.error.invalidLengthLengthStep=Pas de longeur invalide (autoris\u00E9 centim\u00E8tre et demi-centim\u00E8tre) coser.business.control.error.minObservationCount=Nombre minimal d'observation non atteint coser.business.control.error.minObservationCountDetail=Nombre minimal d'observation non atteint (%s) \: %.2f Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrame.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrame.jaxx 2010-11-24 14:04:29 UTC (rev 264) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrame.jaxx 2010-11-24 14:51:28 UTC (rev 265) @@ -33,13 +33,14 @@ <JMenuItem text="coser.ui.mainframe.menu.newProject" onActionPerformed="getHandler().showProjectCreationView()"/> <JMenuItem text="coser.ui.mainframe.menu.openProject" onActionPerformed="getHandler().showProjectOpenView()"/> <JSeparator/> - <JMenuItem actionIcon="i18n-fr" text="coser.ui.mainframe.menu.locale.fr" onActionPerformed="getHandler().switchLanguage(Locale.FRANCE)"/> - <JMenuItem actionIcon="i18n-gb" text="coser.ui.mainframe.menu.locale.uk" onActionPerformed="getHandler().switchLanguage(Locale.UK)"/> + <JMenuItem actionIcon="i18n-fr" text="coser.ui.mainframe.menu.locale.fr" onActionPerformed="getHandler().switchLanguage(this, Locale.FRANCE)"/> + <JMenuItem actionIcon="i18n-gb" text="coser.ui.mainframe.menu.locale.uk" onActionPerformed="getHandler().switchLanguage(this, Locale.UK)"/> <JSeparator/> <JMenuItem text="coser.ui.mainframe.menu.quit" onActionPerformed="getHandler().quit()"/> </JMenu> <JMenu id='menuWindow' text="coser.ui.mainframe.menu.data" enabled="false"> + <JMenuItem text="coser.ui.mainframe.menu.data.summary" onActionPerformed="getHandler().showSummaryView()"/> <JMenuItem text="coser.ui.mainframe.menu.data.control" onActionPerformed="getHandler().showControlView()"/> <SelectionsListMenuItem id="menuWindowSelectionMenuItem" text="coser.ui.mainframe.menu.data.selection" constructorParams="this" /> Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2010-11-24 14:04:29 UTC (rev 264) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2010-11-24 14:51:28 UTC (rev 265) @@ -27,8 +27,6 @@ import java.awt.BorderLayout; import java.awt.Component; -import java.awt.Frame; -import java.awt.Window; import java.beans.PropertyChangeEvent; import java.io.File; import java.net.URL; @@ -40,17 +38,13 @@ import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.JTextField; -import javax.swing.SwingUtilities; import javax.swing.SwingWorker; import jaxx.runtime.swing.editor.config.ConfigUI; import jaxx.runtime.swing.editor.config.ConfigUIHelper; -import org.apache.commons.lang.xwork.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.i18n.I18n; -import org.nuiton.util.StringUtil; import org.nuiton.widget.SwingSession; import fr.ifremer.coser.CoserBusinessConfig; @@ -66,6 +60,7 @@ import fr.ifremer.coser.ui.control.ControlView; import fr.ifremer.coser.ui.project.ProjectCreationView; import fr.ifremer.coser.ui.project.ProjectOpenView; +import fr.ifremer.coser.ui.project.ProjectSummaryView; import fr.ifremer.coser.ui.selection.SelectionHandler; import fr.ifremer.coser.ui.selection.SelectionView; import fr.ifremer.coser.ui.widgets.LookAndFeelViewMenuItem; @@ -94,15 +89,15 @@ /** * Switch application locale. * - * @param newLocale + * @param frame frame + * @param newLocale new locale */ - public void switchLanguage(Locale newLocale) { - I18n.init(newLocale); - // refresh uis - Window windows[] = Frame.getWindows(); - for (Window window : windows) { - SwingUtilities.updateComponentTreeUI(window); - } + public void switchLanguage(CoserFrame frame, Locale newLocale) { + CoserConfig config = frame.getContextValue(CoserConfig.class); + config.setLocale(newLocale); + config.saveForUser(); + JOptionPane.showMessageDialog(frame, _("coser.ui.locale.mustRestart"), + _("coser.ui.locale.title"), JOptionPane.INFORMATION_MESSAGE); } /** @@ -318,8 +313,7 @@ try { Project project = projectService.openProject(projectName); projectLoaded(project); - //showControlView(); - setMainComponent(null); + showSummaryView(); } catch (CoserBusinessException ex) { if (log.isErrorEnabled()) { log.error("Can't open project", ex); @@ -339,6 +333,19 @@ } /** + * Affiche la fenêtre de résumé d'un projet. + */ + public void showSummaryView() { + Project project = view.getContextValue(Project.class); + + ProjectSummaryView projectSummaryView = new ProjectSummaryView(view); + projectSummaryView.setHandler(this); + projectSummaryView.setProject(project); + + setMainComponent(projectSummaryView); + } + + /** * Charge les données de control et affiche la vue de control. */ public void showControlView() { Added: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectSummaryView.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectSummaryView.jaxx (rev 0) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectSummaryView.jaxx 2010-11-24 14:51:28 UTC (rev 265) @@ -0,0 +1,55 @@ +<!-- + #%L + Coser :: UI + + $Id$ + $HeadURL$ + %% + Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric + %% + 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 3 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, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> +<Table> + <fr.ifremer.coser.ui.CoserFrameHandler id="handler" javaBean="null" /> + + <fr.ifremer.coser.bean.Project id="project" javaBean="null" /> + + <row> + <cell weightx="1" fill="horizontal"> + <Table border='{BorderFactory.createTitledBorder(_("coser.ui.project.summary.title"))}'> + <row> + <cell anchor="west"> + <JLabel text="coser.ui.project.summary.path" /> + </cell> + <cell anchor="west" weightx="1" fill="horizontal"> + <JLabel text='{getContextValue(fr.ifremer.coser.CoserConfig.class).getProjectsDirectory().getAbsolutePath() + File.separator + getProject().getName()}' /> + </cell> + </row> + <row> + <cell anchor="west"> + <JLabel text="coser.ui.project.summary.validated" /> + </cell> + <cell anchor="west"> + <JPanel> + <JLabel icon='accept.png' visible="{getProject().getControl().isValidated()}" /> + <JLabel icon='cancel.png' visible="{!getProject().getControl().isValidated()}" /> + </JPanel> + </cell> + </row> + </Table> + </cell> + </row> +</Table> Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties =================================================================== --- trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-11-24 14:04:29 UTC (rev 264) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-11-24 14:51:28 UTC (rev 265) @@ -49,10 +49,11 @@ coser.ui.control.validcontrol= coser.ui.control.validcontroltip= coser.ui.error.htmlmessage=An error occurs \: %s -coser.ui.error.missingFile= coser.ui.error.title=Global application error coser.ui.graph.compareNumberCatchSize= coser.ui.graph.lengthStructure= +coser.ui.locale.mustRestart=You must restart application to take effect +coser.ui.locale.title=Locale modification coser.ui.mainframe.menu.configuration=Configuration coser.ui.mainframe.menu.data=Data coser.ui.mainframe.menu.data.control=Control @@ -60,6 +61,7 @@ coser.ui.mainframe.menu.data.noSelection=No selection coser.ui.mainframe.menu.data.noValidation= coser.ui.mainframe.menu.data.selection=S\u00E9lection +coser.ui.mainframe.menu.data.summary= coser.ui.mainframe.menu.file=File coser.ui.mainframe.menu.locale.fr=Fran\u00E7ais coser.ui.mainframe.menu.locale.uk=English @@ -88,6 +90,9 @@ coser.ui.project.projectcomment=Comments \: coser.ui.project.projectname=Project name \: coser.ui.project.stratesFile=Strates file \: +coser.ui.project.summary.path= +coser.ui.project.summary.title= +coser.ui.project.summary.validated= coser.ui.project.traitsFile=Traits file \: coser.ui.project.useCustomReferenceSpeciesFile=Use custom reference file coser.ui.project.usedReferenceSpeciesFile=Current reference file (Reffax) \: Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties =================================================================== --- trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-11-24 14:04:29 UTC (rev 264) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-11-24 14:51:28 UTC (rev 265) @@ -52,6 +52,8 @@ coser.ui.error.title=Erreur globale coser.ui.graph.compareNumberCatchSize=Comparaison Captures/Tailles coser.ui.graph.lengthStructure=Structures en taille +coser.ui.locale.mustRestart=Vous devez red\u00E9marrer l'application pour prendre en compte la modification. +coser.ui.locale.title=Modification de la langue coser.ui.mainframe.menu.configuration=Configuration coser.ui.mainframe.menu.data=Donn\u00E9es coser.ui.mainframe.menu.data.control=Contr\u00F4le @@ -59,6 +61,7 @@ coser.ui.mainframe.menu.data.noSelection=Aucune s\u00E9lection coser.ui.mainframe.menu.data.noValidation=Contr\u00F4le non valid\u00E9 coser.ui.mainframe.menu.data.selection=S\u00E9lections +coser.ui.mainframe.menu.data.summary=R\u00E9sum\u00E9 coser.ui.mainframe.menu.file=Fichier coser.ui.mainframe.menu.locale.fr=Fran\u00E7ais coser.ui.mainframe.menu.locale.uk=English @@ -87,6 +90,9 @@ coser.ui.project.projectcomment=Commentaire \: coser.ui.project.projectname=Nom du projet \: coser.ui.project.stratesFile=Fichiers des strates \: +coser.ui.project.summary.path=Chemin du projet \: +coser.ui.project.summary.title=R\u00E9sum\u00E9 du projet +coser.ui.project.summary.validated=Contr\u00F4le valid\u00E9 \: coser.ui.project.traitsFile=Fichiers des traits \: coser.ui.project.useCustomReferenceSpeciesFile=Utiliser un autre fichier de r\u00E9f\u00E9rence coser.ui.project.usedReferenceSpeciesFile=Fichier de r\u00E9f\u00E9rence utilis\u00E9 (Reftax) \: Added: trunk/coser-ui/src/main/resources/icons/cancel.png =================================================================== (Binary files differ) Property changes on: trunk/coser-ui/src/main/resources/icons/cancel.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream