/*---------------- FILE HEADER --------------------------------------- This file is part of Geoide. Copyright (C) 2005-2006 by: IDgis B.V. http://www.idgis.nl 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; either version 2.1 of the License, or (at your option) any later version. 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. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: Herman Assink IDgis bv P.O. Box 15 7450 AA Holten The Netherlands E-Mail: herman.assink@idgis.nl * @version 1.4.0 * @author IDgis team * ------------------------------------------------------------------------*/ import nl.idgis.giclient.actions.Action; import nl.idgis.giclient.framework.buttons.GIButton; import nl.idgis.giclient.gis.Feature; import nl.idgis.giclient.gis.Layer; import nl.idgis.giclient.Ruler; import nl.idgis.giclient.gui.mapviewer.MapLayer; import nl.idgis.giclient.gis.SelectableLayer; import nl.idgis.giclient.geoma.NullGeometry; class nl.idgis.giclient.framework.buttons.ActionButton extends GIButton { private var action:Action; // Set by init object. function ActionButton(){ super(); } function setRuler(ruler:Ruler):Void { this.ruler = ruler; action.setRuler(ruler); } function onRelease():Void { for (var i:Number = 0; i < giButtonEventListeners.length; i++) { giButtonEventListeners[i].onReleaseGIButton(this); } if(enabled){ if (action!=null){ action.doAction(); } else { if (name == "BackButton") { ruler.getGIS().zoomToPreviousCentreScale(); //_root["apiInterpreter"].interpret("SETSELECTEDFEATURES;;GD_Gebieden;id=7"); //_root["apiInterpreter"].interpret("SETCURRENTFEATURE;;GD_Gebieden;id=7"); } else if (name == "ForwardButton") { ruler.getGIS().zoomToNextCentreScale(); } else if (name == "HomeButton") { ruler.getGIS().zoomToActiveMapInitEnvelope(); //_root["apiInterpreter"].interpret("LOADGEOMETRIES;;"); } else if (name == "ZoomToSelectionButton") { var layer:Layer = ruler.getGIS().getActiveLayer(); ruler.getGIS().zoomToSelectedFeatures(layer); } else if (name == "ClearSelectionButton") { var layer:Layer = ruler.getGIS().getActiveLayer(); ruler.getGIS().clearSelectedFeatures(layer); } else if (name == "ClearGeometryLayerButton") { var editLayer:SelectableLayer = SelectableLayer(ruler.getEditLayer()); if (editLayer != null) { var currentEditingFeature:Feature = editLayer.getCurrentFeature(); if (currentEditingFeature != null) { currentEditingFeature.setGeometry(new NullGeometry()); } } } else if (name == "UndoButton") { var editLayer:SelectableLayer = SelectableLayer(ruler.getEditLayer()); if (editLayer != null) { editLayer.undo(); } } else if (name == "ReportButton") { ruler.doReport(); } else if (name == "PrintButton") { ruler.doPrint(); } else if (name == "Play") { ruler.getGIS().movieControl(MapLayer.PLAY); } else if (name == "Pause") { ruler.getGIS().movieControl(MapLayer.PAUSE); } else if (name == "Stop") { ruler.getGIS().movieControl(MapLayer.STOP); } else if (name == "NextFrame") { ruler.getGIS().movieControl(MapLayer.NEXTFRAME); } else if (name == "PreviousFrame") { ruler.getGIS().movieControl(MapLayer.PREVIOUSFRAME); } else if (name == "Demo"); } } } }