Lumiera  0.pre.03
»edit your freedom«
timeline-widget.cpp
Go to the documentation of this file.
1 /*
2  TimelineWidget - custom widget for timeline display of the project
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 
24 #include "stage/gtk-base.hpp"
28 #include "stage/style-scheme.hpp"
29 
30 //#include "stage/workspace/workspace-window.hpp"
31 //#include "stage/ui-bus.hpp"
32 //#include "lib/format-string.hpp"
33 //#include "lib/format-cout.hpp"
34 
35 //#include "lib/util.hpp"
36 //#include <algorithm>
37 //#include <cstdlib>
38 
39 
40 
41 //using util::_Fmt;
42 //using std::shared_ptr;
43 //using std::weak_ptr;
44 //using util::contains;
45 //using Gtk::Widget;
46 //using sigc::mem_fun;
47 //using sigc::ptr_fun;
48 //using std::cout;
49 //using std::endl;
50 
51 
52 namespace stage {
53 namespace timeline {
54 
55 //const int TimelineWidget::TrackPadding = 1;
56 //const int TimelineWidget::HeaderWidth = 150;
57 //const int TimelineWidget::HeaderIndentWidth = 10;
58 
59 
60 
61 
62  TimelineWidget::TimelineWidget (BusTerm::ID identity, BusTerm::ID trackID, BusTerm& nexus)
63  : TimelinePage{}
64  , layout_{new TimelineLayout{*this}}
65  , control_{new TimelineController{identity, trackID, nexus, *layout_}}
66  {
67  get_style_context()->add_class(CLASS_timeline);
68  get_style_context()->add_class(CLASS_timeline_page);
69  show_all();
70  }
71 
72  TimelineWidget::~TimelineWidget() { }
73 
74 
75  void
77  {
78  control_->buildMutator (buff);
79  }
80 
81 
82  cuString
83  TimelineWidget::getLabel() const
84  {
85  return control_->getName();
86  }
87 
88  Gtk::WidgetPath
89  TimelineWidget::getBodyWidgetPath() const
90  {
91  return layout_->getBodyWidgetPath();
92  }
93 
94 
95 
96 
97 }}// namespace stage::timeline
Interface: GUI page holding a timeline display.
connection point at the UI-Bus.
Definition: bus-term.hpp:96
Top-level anchor point for the timeline display (widgets).
Controller to supervise operation of timeline display in the UI.
A core service of the timeline UI to ensure consistent display and layout of all components within th...
A handle to allow for safe »remote implantation« of an unknown subclass into a given opaque InPlaceBu...
Definition: record.hpp:104
void buildMutator(lib::diff::TreeMutator::Handle)
allow for diff mutation (delegated to TimelineController
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:37
Controller to supervise the timeline display.
Definition of access keys for uniform UI styling.
A set of basic GTK includes for the UI.
TimelineWidget(BusTerm::ID identity, BusTerm::ID trackID, BusTerm &nexus)
build a new timeline display and attach it to the UI-Bus.
This file defines the core component of the Lumiera GUI.