Lumiera  0.pre.03
»edit your freedom«
PatchbayWidget Class Reference

#include "stage/timeline/patchbay-widget.hpp"

Description

Header pane control area corresponding to a fork of nested tracks.

The structure of child tracks is built up recursively, starting with a single top level TrackHeadWidget corresponding to the »fork root«. The actual controls for the individual tracks are managed by those TrackHeadWidget elements, while the PatchbayWidget corresponds to the whole structure and is responsible for presenting the proper vertical scrolling, as dictated by the actual track content within the BodyCanvasWidget sitting at the right side of the HeaderPaneWidget (which is the enclosing container of this PatchbayWidget).

Todo:
WIP-WIP as of 4/2019

Definition at line 61 of file patchbay-widget.hpp.

Public Member Functions

 PatchbayWidget (PAdjustment const &vScroll)
 Set up the patchbay area of the timeline UI. More...
 
void disable ()
 
void installFork (TrackHeadWidget &rootTrackHead)
 

Constructor & Destructor Documentation

◆ PatchbayWidget()

PatchbayWidget ( PAdjustment const &  vScroll)

Set up the patchbay area of the timeline UI.

The patchbay is a container to hold the actual placement control widgets arranged alongside with each track, according to the nested track structure. The header pane and thus especially the patchbay needs to follow as a slave to the vertical scrolling adjustments of the Timeline display; if the users scrolls up or down over the more or less expanded tree of tracks, the header has to follow this scrolled display in sync. Thus the implementation of the patchbay is based on a Gtk::Viewport, which is attached to the vertical Gtk::Adjustment, as exposed by the Gtk::ScrolledWindow holding the timeline body canvas on the right side of the Timeline UI.

Note
the Patchbay is not scrollable in horizontal direction, thus we create a disabled Adjustment for this parameter.

Definition at line 73 of file patchbay-widget.cpp.

Member Function Documentation

◆ installFork()

void installFork ( TrackHeadWidget rootTrackHead)

Initially install the contents corresponding to the track fork root

Definition at line 84 of file patchbay-widget.cpp.

Referenced by HeaderPaneWidget::installForkRoot().

+ Here is the caller graph for this function:
+ Inheritance diagram for PatchbayWidget:
+ Collaboration diagram for PatchbayWidget:

The documentation for this class was generated from the following files: