/*---------------- 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.framework.bars.PositionConfig; import nl.idgis.giclient.GIClientConfig; import nl.idgis.giclient.framework.bars.ButtonBar; import nl.idgis.giclient.framework.bars.SimpleButtonBar; class nl.idgis.giclient.framework.bars.ButtonBarConfig { private var name:String = null; private var x:Number = -1; private var y:Number = -1; private var buttonSize:Number = -1; private var buttonBar:ButtonBar = null; private var positionConfigs:Array = null; private var giClientConfig:GIClientConfig = null; private var buttonBarClass:String = null; function ButtonBarConfig(name:String, x:Number, y:Number, buttonSize:Number , positionConfigs:Array, giClientConfig:GIClientConfig, buttonBarClass:String) { this.name = name; this.x = x; this.y = y; this.buttonSize = buttonSize; this.buttonBarClass = buttonBarClass; this.positionConfigs = positionConfigs; this.giClientConfig = giClientConfig; } function getName():String { return name; } function getPositionConfig(name:String):PositionConfig { var positionConfig:PositionConfig = null; for (var i:String in positionConfigs) { positionConfig = PositionConfig(positionConfigs[i]); if (positionConfig.getName() == name) { return positionConfig; } } return null; } function inflate(movieClip:MovieClip, depth:Number, initObject:Object):ButtonBar { if (buttonBar == null) { if(initObject == null){ initObject = new Object(); } initObject["name"] = name; initObject["xRel"] = x; initObject["yRel"] = y; initObject["buttonSize"] = buttonSize; initObject["giClientConfig"] = giClientConfig; buttonBar = ButtonBar(movieClip.attachMovie(buttonBarClass, name + "_mc", depth, initObject)); for (var i:Number = 0; i < positionConfigs.length; i++) { buttonBar.addPosition(PositionConfig(positionConfigs[i])); } } return buttonBar; } function setX(x:Number):Void{ this.x = x; } function deflate():Void { if (buttonBar != null) { for (var i:Number = 0; i < positionConfigs.length; i++) { PositionConfig(positionConfigs[i]).deflate(); } buttonBar.removeMovieClip(); buttonBar = null; } } }