Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Controller to supervise operation of timeline display in the UI.
While the TimelineWidget is the top level entry point to any facility dealing with timeline display and editing operations, the widget in turn creates a TimelineController right away, which then takes initiative to populate the display with the corresponding session::Timeline contents. The controller thus serves as the model connection through the UI-Bus and becomes the active part of running the timeline display, delegating display activities to the widget, which in turn uses the timeline::LayoutManager to work out the details of presentation in collaboration with the local UI model elements. Incidentally, those UI model elements, which are actually Presenters, are managed as children of the TimelineController; this makes sense from an architectural point of view: In Lumiera, we separate between the core concerns and the questions of UI mechanics. For the former, the global angle of view, the roles of controller and model are mediated by the control::UiBus, while the tangible elements, play the role of the view. But at the same time, following the local UI centric angle, the latter entities act more like presenters, forming a dedicated view model, while controlling mostly passive view components (widgets).
To sum up
Definition in file timeline-controller.hpp.
#include "stage/gtk-base.hpp"
#include "stage/model/controller.hpp"
#include "lib/time/timevalue.hpp"
#include <memory>
#include <vector>
#include <string>
Classes | |
class | TimelineController |
Controller to supervise the timeline display. More... | |
Namespaces | |
stage | |
Lumiera GTK UI implementation root. | |
stage::timeline | |
The timeline display and editing operations. | |