Lumiera  0.pre.03
»edit your freedom«
TimelineWidget Class Reference

#include "stage/timeline/timeline-widget.hpp"

Description

Core timeline display (custom widget).

Top level entry point to the timeline display component.

Todo:
WIP-WIP-rewrite as of 12/2016
Remarks
At top level, this widget is split into a header pane (left) and a scrollable timeline body (right). The layout of both parts is aligned.

Definition at line 99 of file timeline-widget.hpp.

Public Member Functions

 TimelineWidget (BusTerm::ID identity, BusTerm::ID trackID, BusTerm &nexus)
 build a new timeline display and attach it to the UI-Bus. More...
 
void buildMutator (lib::diff::TreeMutator::Handle)
 allow for diff mutation (delegated to TimelineController
 
Gtk::WidgetPath getBodyWidgetPath () const
 
cuString getLabel () const override
 
- Public Member Functions inherited from TimelinePage
virtual ~TimelinePage ()
 this is an interface
 

Private Attributes

std::unique_ptr< TimelineControllercontrol_
 
std::unique_ptr< TimelineLayoutlayout_
 

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Constructor & Destructor Documentation

◆ TimelineWidget()

TimelineWidget ( BusTerm::ID  identity,
BusTerm::ID  trackID,
BusTerm nexus 
)

build a new timeline display and attach it to the UI-Bus.

Parameters
identityused to refer to a corresponding element in the Session
trackIDthe mandatory root track used in the associated Sequence
nexussome established connection to the UI-Bus, will be used to register the embedded TimelineController as communication partner to respond under the given timeline ID.
Remarks
after creation, the widget can be hooked up and wired like any ordinary GTK element; it becomes passive and ready to receive signals. The active role is played by the controller, which also responds to mutation messages; this is the only way to populate the timeline display. Likewise, a timeline shall be deleted by sending a respective mutation message to its parent element, the one that created it, typically also in response to a message. Non the less it is possible just to delete a TimelineWidget, since it is a Gtk::Widget, and the controller is also sigc::trackable and additionally, as a stage::model::Tangible, it will deregister automatically from the UI-Bus. After that, any further messages towards this element will be dropped silently.

Definition at line 62 of file timeline-widget.cpp.

+ Inheritance diagram for TimelineWidget:
+ Collaboration diagram for TimelineWidget:

The documentation for this class was generated from the following files: