Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: fddb4599 by Tony Chemit at 2020-06-29T13:00:49+02:00 Ajouter une option pour ne pas afficher la légende dans la carte - Closes #1557 - - - - - 9 changed files: - client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java - client-datasource-editor-common/src/main/i18n/getters/java.getter - client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/ObserveMapPane.java - client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUI.jaxx - client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUIHandler.java - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/actions/ToggleLegend.java - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java ===================================== @@ -91,6 +91,7 @@ public abstract class ObserveKeyStrokesSupport { public static final KeyStroke KEY_STROKE_SHOW_REFERENTIAL = KeyStroke.getKeyStroke("ctrl pressed F4"); public static final KeyStroke KEY_STROKE_SHOW_EMPTY_PROGRAM = KeyStroke.getKeyStroke("ctrl pressed F5"); public static final KeyStroke KEY_STROKE_SHOW_DISABLED_PROGRAM = KeyStroke.getKeyStroke("ctrl pressed F6"); + public static final KeyStroke KEY_STROKE_TOGGLE_LEGEND = KeyStroke.getKeyStroke("ctrl pressed L"); public static final KeyStroke KEY_STROKE_COPY_VALUES_AND_SAVE = KeyStroke.getKeyStroke("ctrl pressed T"); public static final KeyStroke KEY_STROKE_SAVE_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed S"); @@ -110,7 +111,7 @@ public abstract class ObserveKeyStrokesSupport { public static final KeyStroke KEY_STROKE_MAP_EXPORT = KeyStroke.getKeyStroke("ctrl pressed S"); public static final KeyStroke KEY_STROKE_MAP_ZOOM_IT = KeyStroke.getKeyStroke("ctrl pressed I"); public static final KeyStroke KEY_STROKE_MAP_ZOOM_PLUS = KeyStroke.getKeyStroke("ctrl pressed P"); - public static final KeyStroke KEY_STROKE_MAP_ZOOM_MINUS = KeyStroke.getKeyStroke("ctrl pressed L"); + public static final KeyStroke KEY_STROKE_MAP_ZOOM_MINUS = KeyStroke.getKeyStroke("ctrl pressed R"); public static final KeyStroke KEY_STROKE_SHIFT_ALT_ENTER = KeyStroke.getKeyStroke("alt shift pressed ENTER"); public static final KeyStroke KEY_STROKE_SHOW_TECHNICAL_INFORMATION = KeyStroke.getKeyStroke("shift pressed F1"); ===================================== client-datasource-editor-common/src/main/i18n/getters/java.getter ===================================== @@ -11,6 +11,8 @@ observe.content.map.export.chooseFile.ok observe.content.map.export.chooseFile.png observe.content.map.export.chooseFile.title observe.content.map.export.success +observe.content.map.legend +observe.content.map.legend.tip observe.content.map.miles observe.content.map.north observe.content.map.showLogbook ===================================== client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/ObserveMapPane.java ===================================== @@ -69,6 +69,7 @@ public class ObserveMapPane extends JMapPane { protected double rotation; private long scaleInMiles; + private boolean showLegend = true; public ObserveMapPane() { labelScaleUp = "0 m"; @@ -95,6 +96,16 @@ public class ObserveMapPane extends JMapPane { firePropertyChange("scaleInMiles", oldValue, scaleInMiles); } + public boolean isShowLegend() { + return showLegend; + } + + public void setShowLegend(boolean showLegend) { + boolean oldValue = isShowLegend(); + this.showLegend = showLegend; + firePropertyChange("showLegend", oldValue, showLegend); + } + protected void updateScale() { ReferencedEnvelope displayArea = getDisplayArea(); double dpi = 2.54 / 100; // pour avoir l'echélle en metre/pixel @@ -226,7 +237,7 @@ public class ObserveMapPane extends JMapPane { protected void paintLegend(Graphics graphics) { - if (legendItems != null) { + if (getLegendItems() != null && isShowLegend()) { int x = 0; int y = getHeight() - ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT * legendItems.size() - 2 * LEGEND_MARGIN; ===================================== client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUI.jaxx ===================================== @@ -33,6 +33,7 @@ <JButton id='zoomPlus'/> <JButton id='zoomMinus'/> <JButton id='exportPng'/> + <JToggleButton id="toggleLegend"/> </JToolBar> <JPanel id="config" constraints="BorderLayout.SOUTH" layout="{new GridLayout(1,0)}" beanScope="tripMapConfig"> <BeanCheckBox id="addObservations"/> ===================================== client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUIHandler.java ===================================== @@ -37,6 +37,7 @@ import org.geotools.swing.event.MapPaneEvent; import org.geotools.swing.event.MapPaneListener; import org.nuiton.jaxx.runtime.spi.UIHandler; +import javax.swing.SwingUtilities; import java.awt.Point; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; @@ -178,6 +179,7 @@ public class TripMapUIHandler implements UIHandler<TripMapUI> { public void init() { init(ui.getAddObservations()); init(ui.getAddLogbook()); + ui.getToggleLegend().setSelected(true); } public ReferencedEnvelope getTripArea() { @@ -206,6 +208,11 @@ public class TripMapUIHandler implements UIHandler<TripMapUI> { editor.init(true, false); } + public void updateMap(boolean showLegend) { + getObserveMapPane().setShowLegend(showLegend); + SwingUtilities.invokeLater(getObserveMapPane()::repaint); + } + private class MouseMapListener implements MouseWheelListener, MouseListener, MouseMotionListener { Point2D startPointInWorld; ===================================== client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/actions/ToggleLegend.java ===================================== @@ -0,0 +1,54 @@ +package fr.ird.observe.client.datasource.editor.content.data.trip.map.actions; + +/*- + * #%L + * ObServe :: Client DataSource Editor Common + * %% + * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io + * %% + * 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% + */ + +import fr.ird.observe.client.datasource.editor.content.data.trip.map.TripMapUI; +import fr.ird.observe.client.util.ObserveKeyStrokesSupport; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.awt.event.ActionEvent; + +import static io.ultreia.java4all.i18n.I18n.t; + +public class ToggleLegend extends TripMapUIActionSupport { + private static final Logger log = LogManager.getLogger(ToggleLegend.class); + + public ToggleLegend() { + super( + t("observe.content.map.legend"), + t("observe.content.map.legend.tip"), + "show-help", + ObserveKeyStrokesSupport.KEY_STROKE_TOGGLE_LEGEND); + + } + + @Override + protected void doActionPerformed(ActionEvent e, TripMapUI ui) { + boolean selected = ui.getToggleLegend().isSelected(); + log.info(String.format("Was showing legend? %b", selected)); + boolean newValue = !selected; + ui.getToggleLegend().setSelected(newValue); + ui.getHandler().updateMap(newValue); + } +} ===================================== observe-i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -741,12 +741,14 @@ observe.content.map.export.chooseFile.ok=Exporter observe.content.map.export.chooseFile.png=PNG image observe.content.map.export.chooseFile.title=Export map observe.content.map.export.success=Map exported (%s) +observe.content.map.legend=Legend observe.content.map.legend.hauling=Hauling observe.content.map.legend.logbook.hauling=Logbook - Hauling observe.content.map.legend.logbook.setting=Logbook - setting observe.content.map.legend.obs.hauling=Observation - Hauling observe.content.map.legend.obs.setting=Observation - setting observe.content.map.legend.setting=setting +observe.content.map.legend.tip=To display or hide legend observe.content.map.legend.tripBetweenTwoDays=Night trip observe.content.map.legend.tripDay=Day trip observe.content.map.miles=miles ===================================== observe-i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -741,12 +741,14 @@ observe.content.map.export.chooseFile.ok=Exportar observe.content.map.export.chooseFile.png=imagen PNG observe.content.map.export.chooseFile.title=Exportar el mapa observe.content.map.export.success=Mapa exportada (%s) +observe.content.map.legend=Legend \#TODO observe.content.map.legend.hauling=Arrastre observe.content.map.legend.logbook.hauling=Logbook - Arrastre observe.content.map.legend.logbook.setting=Logbook - Calada observe.content.map.legend.obs.hauling=Observation - Arrastre observe.content.map.legend.obs.setting=Observation - Calada observe.content.map.legend.setting=Calada +observe.content.map.legend.tip=To display or hide legend \#TODO observe.content.map.legend.tripBetweenTwoDays=Trayecto del noche observe.content.map.legend.tripDay=Trayecto del día observe.content.map.miles=milles ===================================== observe-i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -741,12 +741,14 @@ observe.content.map.export.chooseFile.ok=Exporter observe.content.map.export.chooseFile.png=image PNG observe.content.map.export.chooseFile.title=Exporter la carte observe.content.map.export.success=Carte exportée (%s) +observe.content.map.legend=Légende observe.content.map.legend.hauling=Virage observe.content.map.legend.logbook.hauling=Livre de bord - Virage observe.content.map.legend.logbook.setting=Livre de bord - Filage observe.content.map.legend.obs.hauling=Observation - Virage observe.content.map.legend.obs.setting=Observation - Filage observe.content.map.legend.setting=Filage +observe.content.map.legend.tip=Pour afficher ou masquer la légende observe.content.map.legend.tripBetweenTwoDays=Trajet de nuit observe.content.map.legend.tripDay=Trajet de jour observe.content.map.miles=milles View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fddb45997dd5c9dd2e087dedb2... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fddb45997dd5c9dd2e087dedb2... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT