Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
Widget Class Reference

#include "stage/model/widget.hpp"

Description

Todo:
write type comment...

Definition at line 49 of file widget.hpp.

Public Member Functions

 Tangible (ID identity, ctrl::BusTerm &nexus)
 
- Public Member Functions inherited from Tangible
virtual ~Tangible ()
 this is an interface
 
 operator string () const
 diagnostic representation.
 
 operator LuidH () const
 
ID getID () const
 
void reset ()
 invoke the generic reset hook
 
void clearMsg ()
 invoke the hook to clear notification messages
 
void clearErr ()
 invoke the hook to clear error markers
 
template<typename... ARGS>
void invoke (Symbol cmdID, ARGS &&...)
 
void invoke (Symbol cmdID, Rec &&arguments)
 Perform a command or action, once the execution context has been established.
 
void slotExpand ()
 Expand this element and remember the expanded state.
 
void slotCollapse ()
 Collapse or minimise this element and remember the collapsed state.
 
void slotReveal ()
 Cause the element to be brought into sight.
 
void markFlash ()
 highlight the element visually to catch the user's attention
 
void markMsg (string message)
 push a notification (or warning) message to the element.
 
void markErr (string error)
 push an error state tag to the element
 
void mark (GenNode const &)
 generic handler for all incoming "state mark" messages
 
void installExpander (Expander::ProbeFun, Expander::ChangeFun)
 Configure the (optional) functionality to expand or collapse the UI-Element.
 
void installRevealer (Revealer::RevealeItFun)
 Configure the (optional) functionality to bring the UI-Element into sight.
 
virtual void buildMutator (lib::diff::TreeMutator::Handle)=0
 build a custom implementation of the TreeMutator interface, suitably wired to cause appropriate changes to the opaque data structure, in accordance to the semantics of the tree diff language.
 
template<typename... ARGS>
void invoke (Symbol cmdID, ARGS &&... args)
 convenience shortcut to issue a command with several arguments
 
- Public Member Functions inherited from DiffMutable
virtual ~DiffMutable ()
 this is an interface
 

Private Member Functions

virtual bool doReset () override
 
virtual bool doMsg (string text) override
 
virtual bool doClearMsg () override
 
virtual bool doErr (string text) override
 
virtual bool doClearErr () override
 
virtual void doFlash () override
 
virtual void doMark (GenNode const &mark) override
 default implementation and catch-all handler for receiving »state mark« messages.
 

Additional Inherited Members

- Public Types inherited from Tangible
using ID = ctrl::BusTerm::ID
 
using LuidH = lib::hash::LuidH
 
- Protected Types inherited from Tangible
using Rec = lib::diff::Rec
 
using GenNode = lib::diff::GenNode
 
- Protected Member Functions inherited from Tangible
 Tangible (ID identity, ctrl::BusTerm &nexus)
 
virtual bool doExpand (bool yes)
 generic default implementation of the expand/collapse functionality.
 
virtual void doReveal ()
 generic default implementation of the "reveal" functionality.
 
- Protected Attributes inherited from Tangible
ctrl::BusTerm uiBus_
 
Expander expand_
 
Revealer reveal_
 

Member Function Documentation

◆ doReset()

virtual bool doReset ( )
inlineoverrideprivatevirtual

Implements Tangible.

Definition at line 56 of file widget.hpp.

◆ doMsg()

virtual bool doMsg ( string  text)
inlineoverrideprivatevirtual

Implements Tangible.

Definition at line 62 of file widget.hpp.

◆ doClearMsg()

virtual bool doClearMsg ( )
inlineoverrideprivatevirtual

Implements Tangible.

Definition at line 68 of file widget.hpp.

◆ doErr()

virtual bool doErr ( string  text)
inlineoverrideprivatevirtual

Implements Tangible.

Definition at line 74 of file widget.hpp.

◆ doClearErr()

virtual bool doClearErr ( )
inlineoverrideprivatevirtual

Implements Tangible.

Definition at line 80 of file widget.hpp.

◆ doFlash()

virtual void doFlash ( )
inlineoverrideprivatevirtual

Implements Tangible.

Definition at line 86 of file widget.hpp.

◆ doMark()

virtual void doMark ( GenNode const &  stateMark)
inlineoverrideprivatevirtual

default implementation and catch-all handler for receiving »state mark« messages.

Such messages serve either to cause a presentation state effect specific to this element, or they are used to re-play a former state change to restore some specific UI state captured within a past working session. Events handled here:

  • expand with a bool argument calls the doExpand(bool) virtual function. It is up to the concrete element to give this a tangible meaning, e.g. a track might switch to detail view and a clip might reveal attached effects.
  • reset restores the element to the hard wired default, by invoking doReset()
  • reveal prompts the element to take the necessary actions to bring itself into view. There is no requirement for an element to even implement this call, but those which do typically know some kind of _"parent object"_ to forward this request, by invoking doReveal(myID) on this parent. For instance, a clip might ask the enclosing track, which in turn might call the enclosing timeline display for help, resulting in a scroll action to bring the clip into sight.
    Note
    this is a default implementation for a virtual function declared abstract with the intention for derived classes to tail-call this default handler.

Implements Tangible.

Definition at line 92 of file widget.hpp.

◆ Tangible()

Tangible ( ID  identity,
ctrl::BusTerm nexus 
)
inline

Definition at line 174 of file tangible.hpp.

+ Inheritance diagram for Widget:
+ Collaboration diagram for Widget:

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