/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2002-2008, Open Source Geospatial Foundation (OSGeo) * * 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.geotools.gui.swing.map.map2d.stream; import org.geotools.gui.swing.map.map2d.stream.handler.EditionHandler; import org.geotools.gui.swing.map.map2d.stream.listener.EditionListener; import org.geotools.map.MapLayer; import org.geotools.styling.LineSymbolizer; import org.geotools.styling.PointSymbolizer; import org.geotools.styling.PolygonSymbolizer; /** * interface for map2d widget who handle Edition * * @author Johann Sorel * * @source $URL$ */ public interface EditableMap2D extends SelectableMap2D { /** * set the MapLayers to paint in the memory decoration * @param layers */ public void setMemoryLayers(MapLayer[] layers); /** * refresh the decoration with the memoryLayers */ public void repaintMemoryDecoration(); /** * set the PointSymbolizer * @param symbol , can't be null */ public void setPointSymbolizer(PointSymbolizer symbol); /** * set the LineSymbolizer * @param symbol , can't be null */ public void setLineSymbolizer(LineSymbolizer symbol); /** * set the PolygonSymbolizer * @param symbol , can't be null */ public void setPolygonSymbolizer(PolygonSymbolizer symbol); /** * get the PointSymbolizer * @return PointSymbolizer */ public PointSymbolizer getPointSymbolizer(); /** * get the LineSymbolizer * @return LineSymbolizer */ public LineSymbolizer getLineSymbolizer(); /** * get the PolygonSymbolizer * @return PolygonSymbolizer */ public PolygonSymbolizer getPolygonSymbolizer(); /** * set EditionHandler * @param handler */ public void setEditionHandler(EditionHandler handler); /** * get EditionHandler * @return EditionHandler */ public EditionHandler getEditionHandler(); /** * set the MapLayer to edit * @param layer : MapLayer to edit */ public void setEditedMapLayer(MapLayer layer); /** * get the edited MapLayer * @return edited MapLayer */ public MapLayer getEditedMapLayer(); /** * add an EditableMap2DListener * @param listener : EditableMap2DListener to add */ public void addEditableMap2DListener(EditionListener listener); /** * remove an EditableMap2DListener * @param listener : EditableMap2DListener to remove */ public void removeEditableMap2DListener(EditionListener listener); /** * get an array of EditableMap2DListener * @return array of EditableMap2DListener */ public EditionListener[] getEditableMap2DListeners(); }