====== Gugga Flash Framework ====== ===== Gugga Flash Framework Blog ===== You can visit the Blog that we set up for posting articles related to the framework here: http://www.gugga.com/flashblog/ ===== Gugga Flash Framework ===== ==== GuggaFF is now on ActionScript 3.0 ==== You can download the new alfa release from here: [[http://www.gugga.com/GuggaFlashFramework/|Alfa Version 2.0 alfa]] ==== The current stable release is 0.9.2 ==== You can download the source code, samples and unit tests from here: [[http://www.gugga.com/GuggaFlashFramework/|source code Gugga Flash Framework]] You can explore the documentation in html format from here: [[http://www.gugga.com/GuggaFlashFramework/documentation/html/|documentation Gugga Flash Framework 0.9.2]] You can download old releases from here: [[http://www.gugga.com/GuggaFlashFramework/index.html#old_releases|Links to Old Releases]] ==== Change log from v. 0.9.1 ==== ==== New features ==== - Created new EventDispatcher to replace the original macromedia implementation. The new implementation improves the overall performance of the framework ( ColorTransformTweenAnimation.as, PropertiesTweenAnimation.as, NavigationManager.as, SectionsTransition.as, BrowserHistory.as, CheckList.as, UIComponentEx.as, MediaLoader.as, SoundLoader.as, XMLLoader.as, DataManager.as, Debugger.as, LayoutGenerator.as, LogManager.as, CustomCompleteTask.as, ExecuteAsyncMethodTask.as, ExecuteMethodTask.as, FictiveTask.as, FrameWaitingTask.as , MonitoringTask.as, PreconditionsManager.as, PreconditionsTask.as, ProgressiveTaskDecorator.as, ProgressMonitor.as, SingleExecutionTask.as, TaskManager.as, TaskManagerItem.as, TaskSequence.as , WaitingTask.as, WrappingTask.as, TrackManager.as, TweensManager.as, Locker.as, OnEnterFrameBeacon.as) - Created new tween package. (gugga.tween.*) * Created new TweenManager to replace the tween manager provided by Zigo. The new manager tends to perform better. * Created AbstractTween for the TweenManager to work with * Extended AbstractTween into a TimeTween implementation which executes in a fixed number of seconds * Extended AbstractTween into a FrameTween implementation which executes in a fixed number of frames - Improved properties tween animations (PropertiesTweenAnimation.as) * New animation type - "Frame tween animation" support for PropertiesTweenAnimations (PropertiesTweenAnimationType.as ) * CacheAsBitmapPolicy for properties tween animations (AnimationSubjectCacheAsBitmapPolicy.as) * Zigo TweenManager replaced with new one (gugga.tween.*) - Added several new animation implemetations for common scenarios ( gugga.animations.) * BlinkingAnimation.as * ScrollRectAnimation.as * ScrollRectLinedAnimation.as * ColorTransformTweenAnimation.as * MaskAnimation.as * FilterTweenAnimation.as * FrameByFrameAnimation.as - Transitions * ApplicationController took the responsibility for controlling the transitions at a root level * Navigation Commands can be rejected by the ApplicationController by returning false from the navigateTo() method. This happens if the current transition can not be interrupted. * Added methods in Section Controllers to get the current active section's path - getCurrentSectionPath(),harvestCurrentSectionPath(). * Added event "sectionsSwapped" in SectionsTransition to inform when the current section is changed. - Navigations * Navigation instances do not determine their state individually. Navigation state is controlled at a global level by a Navigation Manager ( NavigationManager.as) * Navigation Manager is controlled by the ApplicationController and is told the current active section's path. * Added method selectSubItemsPointingTo(aSectionPath) to INavigation which selects all items that navigate to a certain section path. - Fictive Sections Transition created to support custom ISectionsController implementations (FictiveSectionsTransition.as) - BrowserCommunicationUtility has been created to allow weak javascript function calls - Added capability to the ExecuteAsyncMethodTask to create interruptable tasks (ExecuteAsyncMethodTask.as) - Created FrameWaitingTask to allow waiting tasks to span over fixed number of frames instead of seconds ( FrameWaitingTask.as) - Created ForceReferenceCountingUtility to force the garbage collector (ForceReferenceCountingUtility.as) - Created AnonymousTask to be used for dynamic creation of tasks and lazy evaluation ==== Changes in existing functionality ==== - The majority of the control of transitions and navigations is moved from the SectionsController to ApplicationController. - Event "sectionsSwapped" added to Sections Transition (SectionsTransition.as) - IApplicationCommandReceiver renamed to INavigationCommandReceiver (NavigationCommand.as) - OpenPopupCommand's execute method signature has changed to return Boolean ( OpenPopupCommand.as) - OpenUrlCommand's execute method signature has changed to return Boolean (OpenUrlCommand.as) ==== Enhancements ==== - Execute HideAfterCompletion when interrupting (TimeLineAnimation.as ) - SectionsController "currentSectionPathChanged" event added (SectionsController.as) - Back and forward implementation is changed in order to use a third party library (http://www.unfocus.com/Projects/HistoryKeeper) for saving records in browser history buffer. - The default value of Section.MoveOutOfSceneWhenInvisible has changed (Section.as) - RemoveAll method added to ProgressMonitor (ProgressMonitor.as) - Event "interrupted" added to ProgressMonitor ( ProgressMonitor.as) - addFinalPrecondition method added to the TaskManager interface (TaskManager.as) - fillBitmapRect method added to DrawUtil (DrawUtil.as) - Enhanced DrawUtil to ensure the covers are always drawn at an integers coordinates ( DrawUtil.as) ==== Bug fixes ==== - Changed CustomCompleteTask to set the isRunning flag to false when completed - Interruption bug fixed for SingleExecitonTask, ProgressiveTaskDecorator and TaskSequence - TaskSequence bug has been fixed. The sequence now dispatches completed right after its start, in case it completes on the same frame. - Fixed bug in WaitingTask, causing the task to not dispatch completed if waiting interval is set to 0. ==== Deprecated functionality ==== - IDataDrivenSection.as - mx.events.EventsDispatcher in favor of gugga.events.EventDispatcher - tweens.zigo.TweenManager in favor of gugga.tween.TweenManager ==== Removed functionality ==== - AddressBar.as and AddressBarManager in favor of gugga.utils.BrowserCommunicationUtility - IApplicationCommandReceiver in favor of INavigationCommandReceiver ==== Change log from v. 0.9 ==== Collections package enhancements * Added IHashTable * Added IIterable * Added ObjectSet * Added ArrayListIterator * ObjectHashTable reworked * Implemented IIterable for ArrayList, CheckList, HashTable, ObjectHashTable, PriorityQue, ObjectSet and ValueSet Browser History support package (gugga.browser) (works on flash player 7 and requires additional javascripts) a) Browser history support based on iframe, no deep links supported

* Added BrowserHistoryManager class synchronizing Back and Forward buttons with the CommandHistory buffer * Added BrowserHistory class abstracting communication between BrowserHistoryManager and the history iframe * Added BrowserHistoryCommander class to allow iframe callbacks via LocalConnection to the Application. b) Browser history support based on the address bar hash, with deep links

* Added AddressBarManager publishing CommandHistory buffer "state" (and deep links) to the address bar * Added AddressBar class decoupling the Application from any address bar specifics Navigation modification