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