Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Widget to show an always visible track header area within the timeline UI.
The fork, a recursively nested system of scopes, is rendered within the timeline display as a system of nested tracks. Each of these tracks possibly holds some child tracks plus some actual media clips, which all inherit parameters of placement from this fork ("track"). These parameters address various aspects of how content is attached ("placed") into the model at large. So, for each track, we create a PatchbayWidgetpatchbay" area" to manage those placement parameters.
The HeaderPaneWidget aggregates those patchbay elements into a nested, collapsable tree structure in accordance with the nesting of scopes. For the actual layout, it has to collaborate with the timeline::LayoutManager to work out the space available for each individual track head and to keep these parts aligned with the tracks in the timeline body.
The header area is shown at the left side of the timeline display, always visible. At the top of the header area, corresponding to the time ruler within the body at the right, we place a compact navigation control, including also the timecode display. The space below is kept in sync with the respective track entries of the timeline, and is itself built as a nested structure of PatchbayWidget entries.
Definition in file header-pane-widget.hpp.
#include "stage/gtk-base.hpp"
#include "stage/timeline/navigator-widget.hpp"
#include "stage/timeline/patchbay-widget.hpp"
#include "stage/style-scheme.hpp"
Classes | |
class | HeaderPaneWidget |
Namespaces | |
stage | |
Lumiera GTK UI implementation root. | |
stage::timeline | |
The timeline display and editing operations. | |