Lumiera  0.pre.03
»edit your freedom«
header-pane-widget.hpp
Go to the documentation of this file.
1 /*
2  HEADER-PANE-WIDGET.hpp - display pane for track headers within the timeline
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 
40 #ifndef STAGE_TIMELINE_HEADER_PANE_WIDGET_H
41 #define STAGE_TIMELINE_HEADER_PANE_WIDGET_H
42 
43 #include "stage/gtk-base.hpp"
46 #include "stage/style-scheme.hpp"
47 
48 
49 
50 namespace stage {
51 namespace timeline {
52 
53  using PAdjustment = Glib::RefPtr<Gtk::Adjustment>;
54 
55 
56  class TrackHeadWidget;
57 
58 
63  : public Gtk::Box
64  {
65  NavigatorWidget navigator_;
66  PatchbayWidget patchbay_;
67 
68  public:
69  ~HeaderPaneWidget() { }
70 
71  HeaderPaneWidget (PAdjustment const& vScroll)
72  : Gtk::Box{Gtk::ORIENTATION_VERTICAL}
73  , navigator_{}
74  , patchbay_{vScroll}
75  {
76  get_style_context()->add_class (CLASS_timeline_head);
77  this->pack_start (navigator_, Gtk::PACK_SHRINK);
78  this->pack_start (patchbay_, Gtk::PACK_EXPAND_WIDGET);
79  }
80 
86  void
88  {
89  patchbay_.installFork (rootTrackHead);
90  }
91 
92  void
93  disable()
94  {
95  patchbay_.disable();
96  }
97 
98 
99  private:/* ===== Internals ===== */
100 
101  };
102 
103 
104 }}// namespace stage::timeline
105 #endif /*STAGE_TIMELINE_HEADER_PANE_WIDGET_H*/
Header pane control area corresponding to a Track with nested child Tracks.
Widget to hold the track head controls within the timeline header pane UI.
void installForkRoot(TrackHeadWidget &rootTrackHead)
Initially install the root node of the track fork, which later can be extended recursively by adding ...
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:37
Header pane control area corresponding to a fork of nested tracks.
Definition of access keys for uniform UI styling.
A set of basic GTK includes for the UI.
void installFork(TrackHeadWidget &rootTrackHead)