/* * Geotoolkit - An Open Source Java GIS Toolkit * http://www.geotoolkit.org * * (C) 2014, Geomatys * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library 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 * Lesser General Public License for more details. */ package org.geotoolkit.gui.javafx.render2d.tool; import java.awt.Dimension; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.embed.swing.SwingFXUtils; import javafx.event.ActionEvent; import javafx.scene.image.Image; import org.geotoolkit.gui.javafx.render2d.FXCanvasHandler; import org.geotoolkit.gui.javafx.render2d.FXMap; import org.geotoolkit.gui.javafx.render2d.FXMapAction; import org.geotoolkit.internal.GeotkFX; /** * * @author Johann Sorel (Geomatys) */ public class FXMesureLengthAction extends FXMapAction { public static final Image ICON = SwingFXUtils.toFXImage(GeotkFX.getBufferedImage("mesure_length", new Dimension(16, 16)), null); public FXMesureLengthAction(FXMap map) { super(map,GeotkFX.getString(FXMesureLengthAction.class, "mesurelength"),GeotkFX.getString(FXMesureLengthAction.class,"mesurelength"),ICON); map.getHandlerProperty().addListener(new ChangeListener<FXCanvasHandler>() { @Override public void changed(ObservableValue<? extends FXCanvasHandler> observable, FXCanvasHandler oldValue, FXCanvasHandler newValue) { selectedProperty().set(newValue instanceof FXMesureLengthHandler); } }); } @Override public void accept(ActionEvent event) { if (map != null) { map.setHandler(new FXMesureLengthHandler()); } } }