Author: chatellier Date: 2010-12-06 10:11:28 +0000 (Mon, 06 Dec 2010) New Revision: 363 Log: Ajout du nombre de selection sur les labels des listes. Ajout de messages de confirmation Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx 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-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java 2010-12-06 09:19:18 UTC (rev 362) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java 2010-12-06 10:11:28 UTC (rev 363) @@ -819,7 +819,7 @@ } /** - * Save project after control. + * Save project after control and display message. * * Can't save if : * - validation contains error @@ -828,6 +828,17 @@ * @param view view */ public void saveControl(ControlView view) { + saveProjectControl(view); + JOptionPane.showMessageDialog(view, _("coser.ui.control.controlSaved"), + _("coser.ui.control.controlTitle"), JOptionPane.INFORMATION_MESSAGE); + } + + /** + * Save project after control. + * + * @param view view + */ + protected void saveProjectControl(ControlView view) { Project project = view.getContextValue(Project.class); ProjectService service = view.getContextValue(ProjectService.class); @@ -1012,7 +1023,7 @@ public void validControl(ControlView view) { Project project = view.getContextValue(Project.class); project.getControl().setValidated(true); - saveControl(view); + saveProjectControl(view); JOptionPane.showMessageDialog(view, _("coser.ui.control.controlValidated"), _("coser.ui.control.controlTitle"), JOptionPane.INFORMATION_MESSAGE); } Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java 2010-12-06 09:19:18 UTC (rev 362) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java 2010-12-06 10:11:28 UTC (rev 363) @@ -390,9 +390,15 @@ if (view.isCreationState()) { service.createProjectSelection(project, selection); selectionView.setCreationState(false); + + JOptionPane.showMessageDialog(view, _("coser.ui.selection.selectionCreated"), + _("coser.ui.selection.selectionTitle"), JOptionPane.INFORMATION_MESSAGE); } else { service.saveProjectSelection(project, selection); + + JOptionPane.showMessageDialog(view, _("coser.ui.selection.selectionSaved"), + _("coser.ui.selection.selectionTitle"), JOptionPane.INFORMATION_MESSAGE); } } catch (CoserBusinessException ex) { @@ -405,11 +411,23 @@ } /** + * Sauvegarde la sélection (partie listes de selection) + * et affiche un message utilisateur. + * + * @param view parent view + */ + public void saveSelection(SelectionListsView view) { + saveProjectSelection(view); + JOptionPane.showMessageDialog(view, _("coser.ui.selection.selectionSaved"), + _("coser.ui.selection.selectionTitle"), JOptionPane.INFORMATION_MESSAGE); + } + + /** * Sauvegarde la sélection (partie listes de selection). * * @param view parent view */ - public void saveSelection(SelectionListsView view) { + protected void saveProjectSelection(SelectionListsView view) { Project project = view.getContextValue(Project.class); Selection selection = view.getContextValue(Selection.class); ProjectService service = view.getContextValue(ProjectService.class); @@ -476,7 +494,7 @@ boolean canBeValidated = checkSelectionListComments(view, selection); if (canBeValidated) { selection.setValidated(true); - saveSelection(view); + saveProjectSelection(view); JOptionPane.showMessageDialog(view, _("coser.ui.selection.selectionValidated"), _("coser.ui.selection.selectionTitle"), JOptionPane.INFORMATION_MESSAGE); @@ -502,8 +520,7 @@ double occurrence = selection.getOccurrenceFilter(); double density = selection.getDensityFilter(); Set<String> originalOccDensSelection = getOccurenceDensityFilteredSpecies(view, occurrence, density); - System.out.println("1 = " + currentOccDensSelection); - System.out.println("2 = " + originalOccDensSelection); + if (!currentOccDensSelection.equals(originalOccDensSelection) && StringUtils.isBlank(selection.getSelectedSpeciesOccDensComment())) { JOptionPane.showMessageDialog(view, _("coser.ui.selection.nonJustifiedOccurenceDensity"), @@ -643,8 +660,11 @@ catch (CoserBusinessException ex) { throw new CoserException("Can't merge species", ex); } + updateSelectionSpecies(parent); view.dispose(); + JOptionPane.showMessageDialog(view, _("coser.ui.selection.speciesMerged"), + _("coser.ui.selection.selectionTitle"), JOptionPane.INFORMATION_MESSAGE); } } Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx 2010-12-06 09:19:18 UTC (rev 362) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx 2010-12-06 10:11:28 UTC (rev 363) @@ -59,16 +59,16 @@ </row> <row> <cell fill="horizontal" columns="2"> - <JXTitledSeparator title="coser.ui.selection.allSpecies" /> + <JXTitledSeparator id="allSpeciesLabel" title='{_("coser.ui.selection.allSpecies", 0, 0)}' /> </cell> <cell fill="horizontal" columns="2"> - <JXTitledSeparator title="coser.ui.selection.occurenceDensitySpecies" /> + <JXTitledSeparator id="occurrenceDensitySpeciesLabel" title='{_("coser.ui.selection.occurrenceDensitySpecies", 0, 0)}' /> </cell> <cell fill="horizontal" columns="2"> - <JXTitledSeparator title="coser.ui.selection.sizeAllYearSpecies" /> + <JXTitledSeparator id="sizeAllYearSpeciesLabel" title='{_("coser.ui.selection.sizeAllYearSpecies", 0, 0)}' /> </cell> <cell fill="horizontal" columns="2"> - <JXTitledSeparator title="coser.ui.selection.maturitySpecies" /> + <JXTitledSeparator id="maturitySpeciesLabel" title='{_("coser.ui.selection.maturitySpecies", 0, 0)}' /> </cell> </row> <row> @@ -99,33 +99,40 @@ <row> <cell weighty="1" weightx="1" fill="both" columns="2"> <JScrollPane> - <SpecyListModel id="selectionAllSpeciesListModel" /> + <SpecyListModel id="selectionAllSpeciesListModel" + onContentsChanged='allSpeciesLabel.setTitle(_("coser.ui.selection.allSpecies", selectionAllSpeciesList.getSelectedIndices().length, selectionAllSpeciesList.getModel().getSize()))' /> <JList id="selectionAllSpeciesList" model="{selectionAllSpeciesListModel}" selectionModel="{new CoserListSelectionModel(selectionAllSpeciesList.getSelectionModel(), selectionAllSpeciesListModel)}" - enabled="false" /> + enabled="false" + onValueChanged='allSpeciesLabel.setTitle(_("coser.ui.selection.allSpecies", selectionAllSpeciesList.getSelectedIndices().length, selectionAllSpeciesList.getModel().getSize()))' /> </JScrollPane> </cell> <cell weightx="1" fill="both" columns="2"> <JScrollPane> - <OccurrenceDensitySpecyListModel id="selectionOccurrenceDensityListModel" /> + <OccurrenceDensitySpecyListModel id="selectionOccurrenceDensityListModel" + onContentsChanged='occurrenceDensitySpeciesLabel.setTitle(_("coser.ui.selection.occurrenceDensitySpecies", selectionOccurrenceDensityList.getSelectedIndices().length, selectionOccurrenceDensityList.getModel().getSize()))' /> <JList id="selectionOccurrenceDensityList" model="{selectionOccurrenceDensityListModel}" cellRenderer="{new SpecyListOccDensRenderer(selectionOccurrenceDensityListModel)}" selectionModel="{new CoserListSelectionModel(selectionOccurrenceDensityList.getSelectionModel(), selectionOccurrenceDensityListModel)}" - onValueChanged="applyOccDensFilter.setEnabled(true)" /> + onValueChanged='applyOccDensFilter.setEnabled(true); occurrenceDensitySpeciesLabel.setTitle(_("coser.ui.selection.occurrenceDensitySpecies", selectionOccurrenceDensityList.getSelectedIndices().length, selectionOccurrenceDensityList.getModel().getSize()))' /> </JScrollPane> </cell> <cell weightx="1" fill="both" columns="2"> <JScrollPane> - <SizeAllYearSpecyListModel id="selectionSizeAllYearListModel" /> + <SizeAllYearSpecyListModel id="selectionSizeAllYearListModel" + onContentsChanged='sizeAllYearSpeciesLabel.setTitle(_("coser.ui.selection.sizeAllYearSpecies", selectionSizeAllYearList.getSelectedIndices().length, selectionSizeAllYearList.getModel().getSize()))' /> <JList id="selectionSizeAllYearList" model="{selectionSizeAllYearListModel}" - selectionModel="{new CoserListSelectionModel(selectionSizeAllYearList.getSelectionModel(), selectionSizeAllYearListModel)}"/> + selectionModel="{new CoserListSelectionModel(selectionSizeAllYearList.getSelectionModel(), selectionSizeAllYearListModel)}" + onValueChanged='sizeAllYearSpeciesLabel.setTitle(_("coser.ui.selection.sizeAllYearSpecies", selectionSizeAllYearList.getSelectedIndices().length, selectionSizeAllYearList.getModel().getSize()))' /> </JScrollPane> </cell> <cell weightx="1" fill="both" columns="2"> <JScrollPane> - <MaturitySpecyListModel id="selectionMaturityListModel" /> + <MaturitySpecyListModel id="selectionMaturityListModel" + onContentsChanged='maturitySpeciesLabel.setTitle(_("coser.ui.selection.maturitySpecies", selectionMaturityList.getSelectedIndices().length, selectionMaturityList.getModel().getSize()))' /> <JList id="selectionMaturityList" model="{selectionMaturityListModel}" - selectionModel="{new CoserListSelectionModel(selectionMaturityList.getSelectionModel(), selectionMaturityListModel)}"/> + selectionModel="{new CoserListSelectionModel(selectionMaturityList.getSelectionModel(), selectionMaturityListModel)}" + onValueChanged='maturitySpeciesLabel.setTitle(_("coser.ui.selection.maturitySpecies", selectionMaturityList.getSelectedIndices().length, selectionMaturityList.getModel().getSize()))' /> </JScrollPane> </cell> </row> 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-12-06 09:19:18 UTC (rev 362) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-12-06 10:11:28 UTC (rev 363) @@ -25,6 +25,7 @@ coser.ui.control.confirmDeletionMessage=Are you sure you want to delete this data ? coser.ui.control.confirmDeletionTitle=Confirm delete coser.ui.control.confirmDeletionsMessage=Are you sure you want to delete %d selected lines ? +coser.ui.control.controlSaved=Control saved. coser.ui.control.controlTitle=Control coser.ui.control.controlValidated=Control validated. coser.ui.control.dataMenuDeleteSelected=Deleted selected lines @@ -141,7 +142,7 @@ coser.ui.result.table.resultName=Result name coser.ui.result.table.rsufiVersion=RSufi Version coser.ui.result.validNewResult=Add this result -coser.ui.selection.allSpecies=L1 \: All species +coser.ui.selection.allSpecies=L1 \: All species (%d/%d) coser.ui.selection.comment=Comment \: coser.ui.selection.createError=Creation error coser.ui.selection.detail.mainAccordion=Details @@ -175,28 +176,31 @@ coser.ui.selection.fusion.title=Merge coser.ui.selection.fusionError=Merge error coser.ui.selection.invalidFusionName=Selection fusion name not found in referential \! -coser.ui.selection.maturitySpecies=L4 \: Species with maturity +coser.ui.selection.maturitySpecies=L4 \: Species with maturity (%d/%d) coser.ui.selection.nonJustifiedMaturity=Maturity species list is not all selected.\nYou must justify this selection with a comment. coser.ui.selection.nonJustifiedOccurenceDensity=Filtered list selection doesn't match filter selection.\nYou must justify this selection with a comment. coser.ui.selection.nonJustifiedSizeAllYear=Size all year species list is not all selected.\nYou must justify this selection with a comment. coser.ui.selection.nonJustifiedTitle=Unjustified selection -coser.ui.selection.occurenceDensitySpecies=L2 \: Filtered species +coser.ui.selection.occurrenceDensitySpecies=L2 \: Filtered species (%d/%d) coser.ui.selection.occurrencedensityrenderer=<html>%s<span style\='font-size\:85%%;color\:gray;'>(Occ\=%.2f, Dens\=%.2f)</span></html> coser.ui.selection.replayerror=Replay error coser.ui.selection.saveError=Save error coser.ui.selection.selection.requiredDescription=Selection description is required coser.ui.selection.selection.requiredName=Selection name is required +coser.ui.selection.selectionCreated=Selection created. coser.ui.selection.selectionFilterDescription=Coser selection (*.selection) +coser.ui.selection.selectionSaved=Selection saved. coser.ui.selection.selectionTitle=Selection coser.ui.selection.selectionValidated=Selection validated. -coser.ui.selection.sizeAllYearSpecies=L3 \: Species with size all year +coser.ui.selection.sizeAllYearSpecies=L3 \: Species with size all year (%d/%d) coser.ui.selection.speciesMenuFusion=Merge coser.ui.selection.speciesMenuLabel=Species menu +coser.ui.selection.speciesMerged=Species merged. coser.ui.selection.tab.details=Selection details coser.ui.selection.tab.lists=Species lists coser.ui.selection.tab.rsufi=RSufi coser.ui.validators.cancel=Cancel -coser.ui.validators.deleteValidator=Supprimer +coser.ui.validators.deleteValidator=Delete coser.ui.validators.description=Application must be restarted after validators modification. coser.ui.validators.entity=Entity coser.ui.validators.newValidator=New Validator 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-12-06 09:19:18 UTC (rev 362) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-12-06 10:11:28 UTC (rev 363) @@ -1,7 +1,7 @@ coser.config.application.version.description=Version de l'application coser.config.category.configuration=Configuration coser.config.category.configuration.description=Configuration (donn\u00E9es num\u00E9riques) -coser.config.category.misc=Disers +coser.config.category.misc=Divers coser.config.category.misc.description=Divers coser.config.category.path=Chemins coser.config.category.path.description=Configuration des fichiers et r\u00E9pertoires @@ -25,6 +25,7 @@ coser.ui.control.confirmDeletionMessage=\u00CAtes vous s\u00FBr de vouloir supprimer cette donn\u00E9e ? coser.ui.control.confirmDeletionTitle=Confirmation de suppression coser.ui.control.confirmDeletionsMessage=\u00CAtes vous s\u00FBr de vouloir supprimer les %d lignes s\u00E9lectionn\u00E9es ? +coser.ui.control.controlSaved=Contr\u00F4le sauv\u00E9. coser.ui.control.controlTitle=Contr\u00F4le coser.ui.control.controlValidated=Contr\u00F4le valid\u00E9. coser.ui.control.dataMenuDeleteSelected=Supprimer les lignes s\u00E9lectionn\u00E9es @@ -141,7 +142,7 @@ coser.ui.result.table.resultName=Nom du r\u00E9sultat coser.ui.result.table.rsufiVersion=Version de RSufi coser.ui.result.validNewResult=Ajouter le r\u00E9sultat -coser.ui.selection.allSpecies=L1 \: Toutes les esp\u00E8ces +coser.ui.selection.allSpecies=L1 \: Toutes les esp\u00E8ces (%d/%d) coser.ui.selection.comment=Commentaire \: coser.ui.selection.createError=Erreur de cr\u00E9action coser.ui.selection.detail.mainAccordion=D\u00E9tails @@ -175,23 +176,26 @@ coser.ui.selection.fusion.title=Fusion coser.ui.selection.fusionError=Erreur de fusion coser.ui.selection.invalidFusionName=Le nom de fusion choisit n'est pas pr\u00E9sent de le r\u00E9f\u00E9rentiel \! -coser.ui.selection.maturitySpecies=L4 \: Esp\u00E8ces avec maturit\u00E9 +coser.ui.selection.maturitySpecies=L4 \: Esp\u00E8ces avec maturit\u00E9 (%d/%d) coser.ui.selection.nonJustifiedMaturity=La liste esp\u00E8ces avec maturit\u00E9 n'est pas enti\u00E8rement s\u00E9lectionn\u00E9e.\nVous devez justifier cette s\u00E9lection par un commentaire. coser.ui.selection.nonJustifiedOccurenceDensity=La s\u00E9lection de la liste filtr\u00E9e ne correspond pas \u00E0 la s\u00E9lection op\u00E9r\u00E9e par le filtre.\nVous devez justifier cette s\u00E9lection par un commentaire. coser.ui.selection.nonJustifiedSizeAllYear=La liste esp\u00E8ces avec des tailles pour toutes les ann\u00E9es n'est pas enti\u00E8rement s\u00E9lectionn\u00E9e.\nVous devez justifier cette s\u00E9lection par un commentaire. coser.ui.selection.nonJustifiedTitle=S\u00E9lection non justifi\u00E9e -coser.ui.selection.occurenceDensitySpecies=L2 \: Esp\u00E8ces filtr\u00E9es +coser.ui.selection.occurrenceDensitySpecies=L2 \: Esp\u00E8ces filtr\u00E9es (%d/%d) coser.ui.selection.occurrencedensityrenderer=<html>%s<span style\='font-size\:85%%;color\:gray;'>(Occ\=%.2f, Dens\=%.2f)</span></html> coser.ui.selection.replayerror=Erreur de reapplication coser.ui.selection.saveError=Erreur de sauvegarde coser.ui.selection.selection.requiredDescription=La description de la s\u00E9lection est requise coser.ui.selection.selection.requiredName=Le nom de la s\u00E9lection est requis +coser.ui.selection.selectionCreated=S\u00E9lection cr\u00E9\u00E9e coser.ui.selection.selectionFilterDescription=Coser s\u00E9lection (*.selection) +coser.ui.selection.selectionSaved=S\u00E9lection sauv\u00E9e. coser.ui.selection.selectionTitle=S\u00E9lection coser.ui.selection.selectionValidated=S\u00E9lection valid\u00E9e. -coser.ui.selection.sizeAllYearSpecies=L3 \: Esp\u00E8ces avec taille pour toutes les ann\u00E9es +coser.ui.selection.sizeAllYearSpecies=L3 \: Esp\u00E8ces avec taille pour toutes les ann\u00E9es (%d/%d) coser.ui.selection.speciesMenuFusion=Fusion coser.ui.selection.speciesMenuLabel=Menu esp\u00E8ces +coser.ui.selection.speciesMerged=Esp\u00E8ces fusionn\u00E9es. coser.ui.selection.tab.details=D\u00E9tails de la s\u00E9lection coser.ui.selection.tab.lists=Listes des esp\u00E8ces coser.ui.selection.tab.rsufi=RSufi