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

#include "include/gui-notification-facade.h"

Description

Global access point to push state update and notification of events from the lower layers into the Lumiera GUI.

Typically, this happens asynchronously and triggered by events within the lower layers.

This is a layer separation façade interface. Clients should use the embedded facade factory, which yields a proxy routing any calls through the lumieraorg_GuiNotification interface

Exceptions
lumiera::error::Statewhen interface is not opened

Definition at line 73 of file gui-notification-facade.h.

Static Public Attributes

static lib::Depend< GuiNotificationfacade
 static storage for the facade access front-end
 

Public Member Functions

virtual void displayInfo (NotifyLevel, string const &text)=0
 push a user visible notification text
 
virtual void markError (ID uiElement, string const &text)=0
 highlight an element in the UI as problem location
 
virtual void markNote (ID uiElement, string const &text)=0
 attach an warning or state information element
 
virtual void mark (ID uiElement, GenNode &&stateMark)=0
 send a generic state mark message to some element
 
virtual void mutate (ID uiElement, MutationMessage &&)=0
 push a diff message up into the user interface.
 
virtual void triggerGuiShutdown (string const &cause)=0
 causes the GUI to shut down unconditionally
 

Friends

class lib::DependencyFactory< GuiNotification >
 

Protected Member Functions

virtual ~GuiNotification ()
 this is an interface
 

Constructor & Destructor Documentation

◆ ~GuiNotification()

virtual ~GuiNotification ( )
inlineprotectedvirtual

this is an interface

Definition at line 76 of file gui-notification-facade.h.

Member Function Documentation

◆ displayInfo()

virtual void displayInfo ( NotifyLevel  ,
string const &  text 
)
pure virtual

push a user visible notification text

Implemented in NotificationService.

◆ markError()

virtual void markError ( ID  uiElement,
string const &  text 
)
pure virtual

highlight an element in the UI as problem location

◆ markNote()

virtual void markNote ( ID  uiElement,
string const &  text 
)
pure virtual

attach an warning or state information element

◆ mark()

virtual void mark ( ID  uiElement,
GenNode &&  stateMark 
)
pure virtual

send a generic state mark message to some element

◆ mutate()

virtual void mutate ( ID  uiElement,
MutationMessage &&   
)
pure virtual

push a diff message up into the user interface.

Remarks
this is the intended way how to populate or manipulate the contents of the user interface from lower layers. By sending a diff message, any structural or content changes can be described without actually knowing the implementation of the UI model elements subject to this change.
See also
diff-language.hpp

◆ triggerGuiShutdown()

virtual void triggerGuiShutdown ( string const &  cause)
pure virtual

causes the GUI to shut down unconditionally

Parameters
causeuser visible explanation of the reason causing this shutdown
Warning
since the UI is a subsystem, this call eventually terminates the whole application.

Implemented in NotificationService.

Member Data Documentation

◆ facade

Friends And Related Symbol Documentation

◆ lib::DependencyFactory< GuiNotification >

friend class lib::DependencyFactory< GuiNotification >
friend

Definition at line 76 of file gui-notification-facade.h.

+ Inheritance diagram for GuiNotification:
+ Collaboration diagram for GuiNotification:

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