/*---------------- 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.timeanimation.MovieProgressListener; import nl.idgis.giclient.timeanimation.TimelineCommandListener; /** * @author velsll */ class nl.idgis.giclient.timeanimation.AnimationEventDispatcher { private var timelineCommandListeners : Array; private var movieProgressListeners : Array; function AnimationEventDispatcher() { timelineCommandListeners = new Array(); movieProgressListeners = new Array(); } function addTimelineCommandListener(timelineCommandListener:TimelineCommandListener) : Void { //trace("timelineCommandListener = " + timelineCommandListener); timelineCommandListeners.push(timelineCommandListener); } function removeTimelineCommandListener(timelineCommandListener:TimelineCommandListener) : Void { for (var i : Number = 0; i < timelineCommandListeners.length; i++) { if (timelineCommandListener == timelineCommandListeners[i]) { timelineCommandListeners.splice(i, 1); } } } function addMovieProgressListener(movieProgressListener : MovieProgressListener) : Void { movieProgressListeners.push(movieProgressListener); } function removeMovieProgressListener(movieProgressListener : MovieProgressListener) : Void { for (var i : Number = 0; i < movieProgressListeners.length; i++) { if (movieProgressListener == movieProgressListeners[i]) { movieProgressListeners.splice(i, 1); break; } } } function doTimelineCommand(command : Number) : Void { //trace("timelineCommandListeners.length = " + timelineCommandListeners.length); for (var i : Number = 0; i < timelineCommandListeners.length; i++) { //trace("timelineCommandListeners[i] = " + timelineCommandListeners[i]); timelineCommandListeners[i].onTimelineCommand(command); } } function progressUpdate(percentage : Number) : Void { for (var i : Number = 0; i < movieProgressListeners.length; i++) { movieProgressListeners[i].onChangeCurrentTimeStamp(percentage); } } }