/*---------------- 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.Ruler; import nl.idgis.giclient.gis.GIS; import nl.idgis.giclient.gis.SelectableLayer; import nl.idgis.giclient.gis.Layer; import nl.idgis.giclient.gis.GILayer; import nl.idgis.giclient.webserviceconnector.giconnector.GIConnector; import nl.idgis.giclient.gis.Feature; import nl.idgis.giclient.framework.FrameWork; class nl.idgis.giclient.actions.CutAction extends Action { function CutAction(ruler:Ruler, actionObject:Object){ this.ruler = ruler; } public function doAction():Void{ var gis:GIS = ruler.getGIS(); var geomLayer:SelectableLayer = gis.getEditLayer(); if(geomLayer != null) { var operandLayer:SelectableLayer = SelectableLayer(gis.getLayer("kadpercelen")); var selectedFeatures:Array = operandLayer.getSelectedFeatures(); if(selectedFeatures.length == 0) { //trace("No selected feature!"); FrameWork(_root.frameWork).message("Geen perceel geselecteerd!"); return; } if(selectedFeatures.length > 1) { trace("Multiple selected features!"); return; } var selectedFeature:Feature = Feature(selectedFeatures[0]); var fid:String = selectedFeature.getID(); var features:Array = geomLayer.getFeatures(); if(features.length == 0) { //trace("No features!"); FrameWork(_root.frameWork).message("Geen geometrie getekend!"); return; } if(features.length > 1) { //trace("Multiple features!"); FrameWork(_root.frameWork).message("Meerdere geometrie elementen getekend!"); return; } var giConnector:GIConnector = GILayer(operandLayer).getConnector(); if(giConnector == null) { trace("No Geoide connector for operand layer!"); return; } var destinationLayer:Layer = gis.getLayer("kadpercelen_mutaties"); if(destinationLayer == null) { trace("No destination layer!"); return; } if(!(destinationLayer instanceof SelectableLayer)) { trace("Destination layer isn't selectable"); return; } var featureTypeNames:Array = new Array(); featureTypeNames.push(operandLayer.getFeatureTypeName()); giConnector.split(features[0].getGeometry(), featureTypeNames, fid, SelectableLayer(destinationLayer)); } else { trace("No edit layer!"); } } }