Author: chatellier Date: 2010-11-25 09:27:45 +0000 (Thu, 25 Nov 2010) New Revision: 272 Log: Ajout de bindings pour activer les boutons et listes seulement quand n?\195?\169c?\195?\169ssaire. Filter occurrence and density with occurrence and density 'mean value'. Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionDetailsView.jaxx trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/model/OccurrenceDensitySpecyListModel.java Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionDetailsView.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionDetailsView.jaxx 2010-11-25 09:26:21 UTC (rev 271) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionDetailsView.jaxx 2010-11-25 09:27:45 UTC (rev 272) @@ -37,6 +37,8 @@ <SelectionHandler id="handler" javaBean="null" /> <Boolean id="creationState" javaBean="false" /> + <Boolean id="yearsValidated" javaBean="false" /> + <Boolean id="strataValidated" javaBean="false" /> <!-- Validation --> <fr.ifremer.coser.bean.Selection id="selection" javaBean="null" /> @@ -46,6 +48,7 @@ uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI" errorTableModel="errorsTableModel"> <field name="name" component="detailsSelectionNameField" /> + <field name="description" component="detailsDescription" /> </BeanValidator> <row> @@ -92,14 +95,15 @@ <JScrollPane> <YearListModel id="datesListModel" /> <JList id="datesList" model="{datesListModel}" - onValueChanged="validDatesButton.setEnabled(true)" - selectionModel="{new CoserListSelectionModel(datesList.getSelectionModel(), datesListModel)}" /> + selectionModel="{new CoserListSelectionModel(datesList.getSelectionModel(), datesListModel)}" + onValueChanged="setYearsValidated(false)" /> <ListSelectionModel id="datesListSelectionModel" javaBean="datesList.getSelectionModel()" /> </JScrollPane> </cell> <cell anchor="south" columns="2"> <JButton id="validDatesButton" text="coser.ui.selection.details.validDates" - onActionPerformed="getHandler().updateSelectionDateData(this);" /> + onActionPerformed="getHandler().updateSelectionDateData(this);setYearsValidated(true)" + enabled="{!isYearsValidated()}"/> </cell> </row> <row> @@ -121,12 +125,13 @@ <StrataListModel id="strataListModel" /> <JList id="strataList" model="{strataListModel}" selectionModel="{new CoserListSelectionModel(strataList.getSelectionModel(), strataListModel)}" - onValueChanged="validStrataButton.setEnabled(true)"/> + onValueChanged="setStrataValidated(false)"/> </JScrollPane> </cell> <cell anchor="south" columns="2"> <JButton id="validStrataButton" text="coser.ui.selection.details.validStrata" - onActionPerformed="getHandler().strataListChanged(this)" /> + onActionPerformed="getHandler().strataListChanged(this);setStrataValidated(true)" + enabled="{isYearsValidated() && !isStrataValidated()}"/> </cell> </row> <row> @@ -140,12 +145,14 @@ <SpecyTypesListModel id="typeSpecyModel" constructorParams="this" /> <JList id="typeSpecyList" model="{typeSpecyModel}" selectionModel="{new CoserListSelectionModel(typeSpecyList.getSelectionModel(), typeSpecyModel)}" - onValueChanged="validFilterButton.setEnabled(true)"/> + onValueChanged="validFilterButton.setEnabled(true)" + enabled="{isYearsValidated() && isStrataValidated()}" /> </JScrollPane> </cell> <cell anchor="south" columns="2"> <JButton id="validFilterButton" text="coser.ui.selection.details.validFilter" - onActionPerformed="getHandler().updateSelectionSpecies(this)" /> + onActionPerformed="getHandler().updateSelectionSpecies(this);validFilterButton.setEnabled(false)" + enabled="false"/> </cell> </row> <row> @@ -165,7 +172,8 @@ <SpecyListModel id="filteredSpecyListModel" /> <JList id="filteredSpecyList" model="{filteredSpecyListModel}" onMouseClicked="getHandler().showSpeciesContextMenu(this, event)" - selectionModel="{new CoserListSelectionModel(filteredSpecyList.getSelectionModel(), filteredSpecyListModel)}" /> + selectionModel="{new CoserListSelectionModel(filteredSpecyList.getSelectionModel(), filteredSpecyListModel)}" + enabled="{isYearsValidated() && isStrataValidated()}" /> <ListSelectionModel id="filteredSpecyListSelectionModel" javaBean="filteredSpecyList.getSelectionModel()" /> </JScrollPane> </cell> @@ -175,21 +183,21 @@ <cell> <JButton icon="arrow_right.png" onActionPerformed="getHandler().addSelectedFilteredSpecies(this)" - enabled="{getFilteredSpecyList().getSelectedIndex() != -1}"/> + enabled="{getFilteredSpecyList().getSelectedIndex() != -1 && isYearsValidated() && isStrataValidated()}"/> </cell> </row> <row> <cell> <JButton icon="arrow_left.png" onActionPerformed="getHandler().removeSelectedSpecies(this)" - enabled="{getSelectedSpecyList().getSelectedIndex() != -1}"/> + enabled="{getSelectedSpecyList().getSelectedIndex() != -1 && isYearsValidated() && isStrataValidated()}"/> </cell> </row> <row> <cell> <JButton icon="chart_curve.png" onActionPerformed='getHandler().showSelectedSpeciesGraph(this, "SPECIESGRAPH")' - enabled="{getFilteredSpecyList().getSelectedIndex() != -1}" /> + enabled="{getFilteredSpecyList().getSelectedIndex() != -1 && isYearsValidated() && isStrataValidated()}" /> </cell> </row> </Table> @@ -198,8 +206,8 @@ <JScrollPane> <SpecyListModel id="selectedSpecyListModel" /> <JList id="selectedSpecyList" model="{selectedSpecyListModel}" - onMouseClicked="getHandler().showSpeciesContextMenu(this, event)" - selectionModel="{new CoserListSelectionModel(selectedSpecyList.getSelectionModel(), selectedSpecyListModel)}" /> + selectionModel="{new CoserListSelectionModel(selectedSpecyList.getSelectionModel(), selectedSpecyListModel)}" + enabled="{isYearsValidated() && isStrataValidated()}" /> <ListSelectionModel id="selectedSpecyListSelectionModel" javaBean="selectedSpecyList.getSelectionModel()" /> </JScrollPane> </cell> 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-11-25 09:26:21 UTC (rev 271) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java 2010-11-25 09:27:45 UTC (rev 272) @@ -111,7 +111,9 @@ Project project = view.getContextValue(Project.class); ProjectService projectService = view.getContextValue(ProjectService.class); MatrixND occurrence = projectService.getOccurrence(project, selection); + occurrence.meanOverDim(1); // moyenne sur les années MatrixND density = projectService.getDensity(project, selection); + density.meanOverDim(1); // moyenne sur les années Collection<String> speciesAllYear = projectService.getSpeciesWithSizeAllYears(selection); Collection<String> speciesWithMaturity = projectService.getSpeciesWithMaturity(selection); //MatrixND samplingEffort = projectService.getSamplingEffort(project, selection); @@ -201,7 +203,9 @@ log.debug("Selection reloaded."); } - // disable tabs + // disable tabs and other actions + detailView.setYearsValidated(!selectedYears.isEmpty()); + detailView.setStrataValidated(!selectedStrata.isEmpty()); view.setEnabledAt(2, selection.isValidated()); // rsufi } Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/model/OccurrenceDensitySpecyListModel.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/model/OccurrenceDensitySpecyListModel.java 2010-11-25 09:26:21 UTC (rev 271) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/model/OccurrenceDensitySpecyListModel.java 2010-11-25 09:27:45 UTC (rev 272) @@ -76,12 +76,14 @@ public double getOccurrence(String specy) { List<String> years = (List<String>)occurrence.getSemantic(1); + // get(0) == mean value (meanOverDim(1)) double result = occurrence.getValue(specy, years.get(0)); return result; } public double getDensity(String specy) { List<String> years = (List<String>)density.getSemantic(1); + // get(0) == mean value (meanOverDim(1)) double result = density.getValue(specy, years.get(0)); return result; }