Timeline Interfaces - kaisu1986/ATF GitHub Wiki
There are timeline interfaces for timelines themselves and for various kinds of objects in a timeline. These interfaces are UI-platform-agnostic (such as Windows® Forms or WPF) and reside in the Sce.Atf.Controls.Timelines
namespace and Atf.Gui
assembly.
This group of interfaces apply to timelines generally, including the timeline itself.
Interface | Derives from/Implements | Properties, Methods | Description |
---|---|---|---|
ITimeline
|
Groups , Markers , CreateGroup() , CreateMarker()
|
For timelines, which contain groups, markers, and timeline references. | |
IHierarchicalTimeline
|
ITimeline
|
References
|
For ITimeline objects that can contain sub-timelines.
|
IHierarchicalTimelineList
|
References
|
For ITimeline objects that can contain sub-timelines, and support inserting, removing, and counting those sub-timelines via an IList interface.
|
|
ITimelineDocument
|
IDocument , IObservableContext , IAdaptable
|
Timeline
|
For editable timeline documents. |
These interfaces are for objects in timelines. All of these objects are based on ITimelineObject
, directly or indirectly.
Interface | Derives from/Implements | Properties, Methods | Description |
---|---|---|---|
ITimelineObject
|
None | For any object in a timeline. | |
ITimelineReference
|
IEvent
|
Target , Parent , Options
|
For objects that hold a reference to a timeline document. |
ITimelineObjectCreator
|
ITimelineObject
|
Create()
|
For timeline objects that can create new instances of the same kind of object that they are. Before using the Create() method on an object, test that it implements ITimelineObjectCreator . Create() does not allow client code to determine the correct object to create in the case where there are multiple implementers of these interfaces: IGroup , IMarker , ITrack , IInterval , and IKey .
|
IGroup
|
ITimelineObject
|
Name , Expanded , Timeline , Tracks , CreateTrack()
|
For groups, which contain zero or more tracks, and can be expanded or collapsed in a timeline viewing control. |
ITrack
|
ITimelineObject
|
Name , Group , Intervals , Keys , CreateInterval() , CreateKey()
|
For tracks, which contain zero or more events. |
IEvent
|
ITimelineObject
|
Start , Length , Color , Name
|
For Events. This is the base interface for IInterval , IKey and IMarker .
|
IInterval
|
IEvent
|
Track
|
For intervals, which are zero or greater length events on a track. |
IKey
|
IEvent
|
Track
|
For keys, which are zero length events on a track. |
IMarker
|
IEvent
|
Timeline
|
For markers, which are zero length events on all tracks in a timeline. |