Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
TimelineWidget Class Reference

#include "gui/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 88 of file timeline/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...
 
 ~TimelineWidget ()
 

Private Attributes

std::unique_ptr
< TimelineController
control_
 
std::unique_ptr< LayoutManagerlayout_
 

Constructor & Destructor Documentation

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 ID.
Remarks
after creation, the widget can just be hooked up and wired like any ordinary GTK element; it becomes passive and just responds to 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 an 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 gui::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 68 of file timeline/timeline-widget.cpp.

Definition at line 77 of file timeline/timeline-widget.cpp.

Member Data Documentation

std::unique_ptr<TimelineController> control_
private

Definition at line 91 of file timeline/timeline-widget.hpp.

std::unique_ptr<LayoutManager> layout_
private

Definition at line 92 of file timeline/timeline-widget.hpp.

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

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