Lumiera  0.pre.03
»edit your freedom«
ViewHook< WID > Class Template Referenceabstract

#include "stage/model/view-hook.hpp"

Description

template<class WID>
class stage::model::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).

Remarks
some typical examples for the kind of collaboration modelled here:
  • a tree or grid control, allowing to populate some row with a given widget.
  • a canvas widget, (e.g. Gtk::Layout), allowing to attach child widgets at specific positions, together with custom drawing.
Warning
please ensure the ViewHook outlives any attached ViewHooked.
See also
CanvasHook similar interface to support positioning by coordinates

Definition at line 84 of file view-hook.hpp.

Public Member Functions

virtual ~ViewHook ()
 this is an interface
 
virtual void hook (WID &widget)=0
 
virtual void rehook (WID &widget) noexcept=0
 
virtual void remove (WID &widget)=0
 
template<class IT >
void reOrder (IT newOrder)
 re-attach elements in a given, new order. More...
 

Member Function Documentation

◆ reOrder()

void reOrder ( IT  newOrder)

re-attach elements in a given, new order.

Parameters
newOrdera Lumiera Forward Iterator to yield a reference to all attached elements, and in the new order to be established.
Remarks
this operation becomes relevant, when "attaching an element" also constitutes some kind of arrangement in the visual presentation, like e.g. a stacking order, or by populating some table cells in sequence. The expected semantics is for this operation to detach each given element, and then immediately re-attach it at the "front side" (whatever this means). The element as such, and all associated presentation entities are not destroyed, but continue to exist with the same identity (and possibly all signal wirings). Just they now appear as if attached with the new ordering.

Definition at line 167 of file view-hook.hpp.

Referenced by ViewHook< TrackBody >::~ViewHook().

+ Here is the caller graph for this function:
+ Inheritance diagram for ViewHook< WID >:
+ Collaboration diagram for ViewHook< WID >:

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