Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
timeline-controller.hpp
Go to the documentation of this file.
1/*
2 TIMELINE-CONTROLLER.hpp - coordinate operation of timeline display
3
4 Copyright (C)
5 2016, Hermann Vosseler <Ichthyostega@web.de>
6
7  **Lumiera** is free software; you can redistribute it and/or modify it
8  under the terms of the GNU General Public License as published by the
9  Free Software Foundation; either version 2 of the License, or (at your
10  option) any later version. See the file COPYING for further details.
11
12*/
13
14
44#ifndef STAGE_TIMELINE_TIMELINE_CONTROLLER_H
45#define STAGE_TIMELINE_TIMELINE_CONTROLLER_H
46
47#include "stage/gtk-base.hpp"
49
51
52#include <memory>
53#include <vector>
54#include <string>
55
56
57
58namespace stage {
59namespace timeline {
60
61 using std::unique_ptr;
62 using std::vector;
63 using std::string;
64
65 class TrackPresenter;
66 class TimelineLayout;
67 class MarkerWidget;
68
69
79 : public model::Controller
80 {
81 string name_;
82
83 vector<unique_ptr<MarkerWidget>> markers_;
84 std::unique_ptr<TrackPresenter> fork_;
85
86
87 public:
93 TimelineController (ID identity, ID trackID, ctrl::BusTerm& nexus, TimelineLayout&);
94
96
97
99 virtual void buildMutator (lib::diff::TreeMutator::Handle) override;
100
101
102 public: /* ===== Control interface ===== */
103
104 string const&
105 getName() const
106 {
107 return name_;
108 }
109
110 public: /* ===== Signals ===== */
111
112 private:/* ===== Events ===== */
113
114 private:/* ===== Internals ===== */
115 };
116
117
118}}// namespace stage::timeline
119#endif /*STAGE_TIMELINE_TIMELINE_CONTROLLER_H*/
A handle to allow for safe »remote implantation« of an unknown subclass into a given opaque InPlaceBu...
connection point at the UI-Bus.
Definition bus-term.hpp:98
ctrl::BusTerm::ID ID
Definition tangible.hpp:162
Controller to supervise the timeline display.
vector< unique_ptr< MarkerWidget > > markers_
std::unique_ptr< TrackPresenter > fork_
virtual void buildMutator(lib::diff::TreeMutator::Handle) override
set up a binding to respond to mutation messages via UiBus
Top-level anchor point for the timeline display (widgets).
Common Abstraction of all sub-controller, coordinated by the UI-Bus.
A set of basic GTK includes for the UI.
Lumiera GTK UI implementation root.
Definition guifacade.cpp:37
a family of time value like entities and their relationships.