r397 - in trunk/coser-ui/src/main: java/fr/ifremer/coser/ui/selection resources/i18n
Author: chatellier Date: 2010-12-13 15:56:17 +0000 (Mon, 13 Dec 2010) New Revision: 397 Log: Ajout de menu contextuel sur les ann?\195?\169es et strates. Renomage de dates en years dans le code. 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/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/selection/SelectionDetailsView.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionDetailsView.jaxx 2010-12-13 15:39:33 UTC (rev 396) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionDetailsView.jaxx 2010-12-13 15:56:17 UTC (rev 397) @@ -113,21 +113,22 @@ <Table> <row> <cell anchor="west" columns="2"> - <JLabel text="coser.ui.selection.details.dates" /> + <JLabel text="coser.ui.selection.details.years" /> </cell> </row> <row> <cell weighty="1" weightx="1" fill="both"> <JScrollPane> - <YearListModel id="datesListModel" /> - <JList id="datesList" model="{datesListModel}" - selectionModel="{new CoserListSelectionModel(datesList.getSelectionModel(), datesListModel)}" + <YearListModel id="yearsListModel" /> + <JList id="yearsList" model="{yearsListModel}" + onMouseClicked="getHandler().showYearsContextMenu(this, event)" + selectionModel="{new CoserListSelectionModel(yearsList.getSelectionModel(), yearsListModel)}" onValueChanged="setYearsValidated(false)" /> - <ListSelectionModel id="datesListSelectionModel" javaBean="datesList.getSelectionModel()" /> + <ListSelectionModel id="yearsListSelectionModel" javaBean="yearsList.getSelectionModel()" /> </JScrollPane> </cell> <cell anchor="south"> - <JButton id="validDatesButton" text="coser.ui.selection.details.validDates" + <JButton id="validDatesButton" text="coser.ui.selection.details.validYears" onActionPerformed="getHandler().updateSelectionDateData(this);setYearsValidated(true)" enabled="{!isYearsValidated()}"/> </cell> @@ -147,6 +148,7 @@ <StrataListModel id="strataListModel" onContentsChanged='strataLabel.setText(_("coser.ui.selection.details.strata", strataList.getSelectedIndices().length, strataList.getModel().getSize()))'/> <JList id="strataList" model="{strataListModel}" + onMouseClicked="getHandler().showStrataContextMenu(this, event)" selectionModel="{new CoserListSelectionModel(strataList.getSelectionModel(), strataListModel)}" onValueChanged='setStrataValidated(false); strataLabel.setText(_("coser.ui.selection.details.strata", strataList.getSelectedIndices().length, strataList.getModel().getSize()))'/> </JScrollPane> 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-13 15:39:33 UTC (rev 396) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java 2010-12-13 15:56:17 UTC (rev 397) @@ -176,9 +176,9 @@ // initialize la liste de toutes les années // c'est normalement la seule initialisation a faire SelectionDetailsView detailView = view.getSelectionDetailsTab(); - detailView.getDatesListModel().setYears(selection.getAllYears()); + detailView.getYearsListModel().setYears(selection.getAllYears()); // tout est selectionné par defaut - ((CoserListSelectionModel)detailView.getDatesList().getSelectionModel()).setSelectedObjects(selection.getSelectedYears()); + ((CoserListSelectionModel)detailView.getYearsList().getSelectionModel()).setSelectedObjects(selection.getSelectedYears()); view.setCreationState(true); @@ -205,9 +205,9 @@ SelectionDetailsView detailView = view.getSelectionDetailsTab(); // details view : fill details view - detailView.getDatesListModel().setYears(selection.getAllYears()); + detailView.getYearsListModel().setYears(selection.getAllYears()); List<String> selectedYears = selection.getSelectedYears(); - ((CoserListSelectionModel)detailView.getDatesList().getSelectionModel()).setSelectedObjects(selectedYears); + ((CoserListSelectionModel)detailView.getYearsList().getSelectionModel()).setSelectedObjects(selectedYears); // details view : fill strata data and selection updateSelectionDateData(detailView); @@ -236,7 +236,7 @@ ProjectService projectService = view.getContextValue(ProjectService.class); // get selected zones as list - Object[] selectedDates = view.getDatesList().getSelectedValues(); + Object[] selectedDates = view.getYearsList().getSelectedValues(); List<String> years = new ArrayList<String>(selectedDates.length); for (Object selectedDate : selectedDates) { years.add((String)selectedDate); @@ -333,6 +333,82 @@ } /** + * Affiche un menu contextuel lors du clic (droit) sur la liste des années. + * + * @param view view + * @param event mouse event + */ + public void showYearsContextMenu(final SelectionDetailsView view, MouseEvent event) { + + // clic droit + if (event.getButton() == MouseEvent.BUTTON3) { + + JPopupMenu popupMenu = new JPopupMenu(); + + // select all menu + JMenuItem selectAllMenu = new JMenuItem(_("coser.ui.common.selectAll")); + selectAllMenu.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + int size = view.getYearsList().getModel().getSize(); + view.getYearsList().getSelectionModel().addSelectionInterval(0, size - 1); + } + }); + popupMenu.add(selectAllMenu); + + // unselect all menu + JMenuItem unselectAllMenu = new JMenuItem(_("coser.ui.common.unselectAll")); + unselectAllMenu.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + view.getYearsList().getSelectionModel().clearSelection(); + } + }); + popupMenu.add(unselectAllMenu); + + popupMenu.show(view.getYearsList(), event.getX(), event.getY()); + } + } + + /** + * Affiche un menu contextuel lors du clic (droit) sur la liste des strates. + * + * @param view view + * @param event mouse event + */ + public void showStrataContextMenu(final SelectionDetailsView view, MouseEvent event) { + + // clic droit + if (event.getButton() == MouseEvent.BUTTON3) { + + JPopupMenu popupMenu = new JPopupMenu(); + + // select all menu + JMenuItem selectAllMenu = new JMenuItem(_("coser.ui.common.selectAll")); + selectAllMenu.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + int size = view.getStrataList().getModel().getSize(); + view.getStrataList().getSelectionModel().addSelectionInterval(0, size - 1); + } + }); + popupMenu.add(selectAllMenu); + + // unselect all menu + JMenuItem unselectAllMenu = new JMenuItem(_("coser.ui.common.unselectAll")); + unselectAllMenu.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + view.getStrataList().getSelectionModel().clearSelection(); + } + }); + popupMenu.add(unselectAllMenu); + + popupMenu.show(view.getStrataList(), event.getX(), event.getY()); + } + } + + /** * Affiche un menu contextuel lors du clic (droit) sur la liste filtrées des especes. * * @param view view @@ -343,7 +419,7 @@ // clic droit if (event.getButton() == MouseEvent.BUTTON3) { - JPopupMenu popupMenu = new JPopupMenu(_("coser.ui.selection.speciesMenuLabel")); + JPopupMenu popupMenu = new JPopupMenu(); // affiche le menu contextuel si au moins 2 especes selectionnées int[] selectedRows = view.getFilteredSpecyList().getSelectedIndices(); @@ -418,7 +494,7 @@ // clic droit if (event.getButton() == MouseEvent.BUTTON3) { - JPopupMenu popupMenu = new JPopupMenu(_("coser.ui.selection.speciesMenuLabel")); + JPopupMenu popupMenu = new JPopupMenu(); int[] selectedRows = view.getSelectedSpecyList().getSelectedIndices(); if (selectedRows.length > 0) { 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-13 15:39:33 UTC (rev 396) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-12-13 15:56:17 UTC (rev 397) @@ -154,7 +154,6 @@ coser.ui.selection.detail.yearAccordion=Years coser.ui.selection.details.addToSelectedListTip=Add selected species to selected species list. coser.ui.selection.details.comment=Comments \: -coser.ui.selection.details.dates=Years \: coser.ui.selection.details.description=Description \: coser.ui.selection.details.displayDiffCatchLengthGraph=Comparison catch/length graphs coser.ui.selection.details.filteredSpecies=Filtered species (%d/%d) \: @@ -166,10 +165,11 @@ coser.ui.selection.details.showSpreciesTip=Display sampling effort table coser.ui.selection.details.strata=Strata (%d/%d) \: coser.ui.selection.details.type=Filter by type (%d/%d) \: -coser.ui.selection.details.validDates=Valid years coser.ui.selection.details.validFilter=Valid filter coser.ui.selection.details.validSelection=Valid selection coser.ui.selection.details.validStrata=Valid strata +coser.ui.selection.details.validYears=Valid years +coser.ui.selection.details.years=Years \: coser.ui.selection.filter.density=Density \: coser.ui.selection.filter.filter=Filter coser.ui.selection.filter.occurrence=Occurrence \: @@ -198,7 +198,6 @@ coser.ui.selection.selectionValidated=Selection validated. 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 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-13 15:39:33 UTC (rev 396) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-12-13 15:56:17 UTC (rev 397) @@ -154,7 +154,6 @@ coser.ui.selection.detail.yearAccordion=Ann\u00E9es coser.ui.selection.details.addToSelectedListTip=Ajoute les esp\u00E8ces s\u00E9lectionn\u00E9es \u00E0 la liste des especes s\u00E9lectionn\u00E9es. coser.ui.selection.details.comment=Commentaire \: -coser.ui.selection.details.dates=Ann\u00E9es \: coser.ui.selection.details.description=Description \: coser.ui.selection.details.displayDiffCatchLengthGraph=Graphiques des diff\u00E9rences captures/tailles coser.ui.selection.details.filteredSpecies=Esp\u00E8ces filtr\u00E9es (%d/%d) \: @@ -166,10 +165,11 @@ coser.ui.selection.details.showSpreciesTip=Afficher la table de l'effort d'\u00E9chantillonage coser.ui.selection.details.strata=Strates (%d/%d) \: coser.ui.selection.details.type=Filtrer par type (%d/%d) \: -coser.ui.selection.details.validDates=Valider les ann\u00E9es coser.ui.selection.details.validFilter=Valider les filtres coser.ui.selection.details.validSelection=Valider la s\u00E9lection coser.ui.selection.details.validStrata=Valider les strates +coser.ui.selection.details.validYears=Valider les ann\u00E9es +coser.ui.selection.details.years=Ann\u00E9es \: coser.ui.selection.filter.density=Densit\u00E9 \: coser.ui.selection.filter.filter=Filtrer coser.ui.selection.filter.occurrence=Occurence \: @@ -198,7 +198,6 @@ coser.ui.selection.selectionValidated=S\u00E9lection valid\u00E9e. 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
participants (1)
-
chatellier@users.labs.libre-entreprise.org