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.)
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
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<br><br>
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<br><br>
Navigation modification <ul>
Other modifications
gugga.commands.CommandHistory modified in order to dispatch a new event (”commandAdded”) whenever it adds a command
Added currentCommandIndex Number value in the events dispatched by the CommanHistory (”commandAdded”,”commandBufferContentChanged”)