Lumiera  0.pre.03
»edit your freedom«
stage::model Namespace Reference

Description

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.

Stage operations interact with these proxy model entities, which in turn forward the calls to the actual objects in the Steam-Layer, through the Command system (which enables UNDO).

Todo:

: as of 1/2011 this connection between the GUI proxy model and the Steam-Layer model needs to be set up. Currently, the GUI model entities are just created standalone and thus dysfunctional.

: as of 11/2015 this connection between UI and Steam-Layer is actually in the works, and it is clear by now that we won't use proxy objects, but rather a generic bus-like connection and symbolic IDs to designate the model elements

: and as of 2/2017 the new structure is basically set, but we need actually to implement a new timeline display in accordance to this reworked design. After this is done, most of the model elements in this packare are obsolete.

Namespaces

Classes

class  CanvasHook
 Interface to represent _"some presentation layout entity",_ with the ability to place widgets (managed elsewhere) onto it, as well as to relocate those widgets to another position. More...
 
class  CanvasHooked
 A widget attached onto a display canvas or similar central presentation context. More...
 
class  Controller
 
class  DisplayMetric
 Mix-in interface to allow for concrete CanvasHooked widgets to adapt themselves to the metric currently employed on the canvas. More...
 
class  ElementAccess
 Interface: access UI elements by navigating the UI topology. More...
 
class  Expander
 Functor component to support the default implementation of expanding/collapsing. More...
 
class  FlashDeco
 Decorator for a Gtk::Widget to add a visual flash action. More...
 
class  Revealer
 Functor component to support the default implementation of revealing an UI-Element. More...
 
class  Tangible
 Interface common to all UI elements of relevance for the Lumiera application. More...
 
class  ViewHook
 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
 A widget attached onto a display canvas or similar central presentation context. More...
 
class  Widget
 
class  WLink
 Managed link to a sigc::trackable UI widget, without taking ownership. More...
 
class  ZoomMetric
 Mix-In to implement the DisplayMetric interface on top of a ZoomWindow component, directly embedded here and thus also accessible downstream. More...
 
class  ZoomWindow
 A component to ensure uniform handling of zoom scale and visible interval on the timeline. More...
 

Functions

template<typename... ARGS>
lib::diff::GenNode commandMessage (Symbol cmdID, ARGS &&... args)
 convenience shortcut to build a message suitable for command invocation More...
 

Variables

const Rat ZOOM_MAX_RESOLUTION = 2 * TimeValue::SCALE
 the deepest zoom is to use 2px per micro-tick
 

Function Documentation

◆ commandMessage()

lib::diff::GenNode stage::model::commandMessage ( Symbol  cmdID,
ARGS &&...  args 
)
inline

convenience shortcut to build a message suitable for command invocation

Parameters
args...sequence of arguments to be packaged into a lib::diff::Rec for invocation

Definition at line 242 of file tangible.hpp.

Referenced by Tangible::invoke().

+ Here is the caller graph for this function: