//////////////////////////////////////////////////////////////////////////////////////////////////// // NoesisGUI - http://www.noesisengine.com // Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved. //////////////////////////////////////////////////////////////////////////////////////////////////// #ifndef __GUI_TIMELINEGROUP_H__ #define __GUI_TIMELINEGROUP_H__ #include #include #include namespace Noesis { template class FreezableCollection; typedef Noesis::FreezableCollection TimelineCollection; //////////////////////////////////////////////////////////////////////////////////////////////////// /// Abstract class that, when implemented represents a Timeline that may contain a collection of /// child Timeline objects. /// /// http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timelinegroup.aspx //////////////////////////////////////////////////////////////////////////////////////////////////// class NS_GUI_ANIMATION_API TimelineGroup: public Timeline { public: TimelineGroup(); virtual ~TimelineGroup() = 0; /// Gets or sets the collection of child Timeline objects //@{ TimelineCollection* GetChildren() const; void SetChildren(TimelineCollection* timelines); //@} // Hides Freezable methods for convenience //@{ Ptr Clone() const; Ptr CloneCurrentValue() const; //@} public: /// DependencyProperties //@{ static const DependencyProperty* ChildrenProperty; //@} protected: /// From Timeline //@{ Ptr CreateClockCore(TimeManager* timeManager, bool hasControllableRoot) override; //@} NS_DECLARE_REFLECTION(TimelineGroup, Timeline) }; } #endif