Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Allow widgets to connect to a common shared presentation context.
This is an abstraction to overcome the problem of cross-cutting a complex hierarchical widget structure in order to maintain a connection to some central presentation entity or canvas. We do not want a central "God class" to manage and remote-control the widgets, nor do we want the widgets to be aware of the hierarchical control structure they are part of. Yet still, widgets typically require to have some access to those shared central structures, especially if they need to "draw themselves". A widget must be able to attach itself to a presentation canvas, and it must be able to control its position thereon. As usual, we solve this problem by abstracting away the actual implementation of the central facility. The attachment of a widget is thus modelled by a smart-handle stage::timeline::ViewHooked, which – on destruction – automatically detaches the widget from the presentation.
As it turns out in practice, we get two flavours or view attachment:
ViewHooked<W>
must be non-copyable, since it can be expected for the canvas to store some pointer to the attached widget.Definition in file view-hook.hpp.
Classes | |
class | ViewHook< WID > |
Interface to represent _"some presentation layout entity",_ with the ability to attach widgets (managed elsewhere), and to re-establish a different sequence of the widgets (whatever this means). More... | |
class | ViewHooked< WID, BASE > |
A widget attached onto a display canvas or similar central presentation context. More... | |
Namespaces | |
stage | |
Lumiera GTK UI implementation root. | |
stage::model | |
The Lumiera GTK-GUI uses a thin proxy layer data model on top of the actual "high-level-model", which lives in the Steam-Layer below. | |