Skip to content

Timeline Interfaces

Gary edited this page Aug 27, 2014 · 1 revision

Table of Contents

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.

Timeline General Interfaces

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.

Timeline Object Interfaces

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.

Topics in this section

Clone this wiki locally