Lumiera  0.pre.03
»edityourfreedom«
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 facade 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 77 of file gui-notification-facade.h.

Public Member Functions

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

Static Public Attributes

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

Friends

class lib::DependencyFactory< GuiNotification >
 

Protected Member Functions

virtual ~GuiNotification ()
 this is an interface More...
 

Constructor & Destructor Documentation

◆ ~GuiNotification()

virtual ~GuiNotification ( )
inlineprotectedvirtual

this is an interface

Definition at line 80 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

◆ 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

lib::Depend< GuiNotification > facade
static

static storage for the facade access front-end

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

Referenced by proc::cmd::COMMAND_DEFINITION(), and GuiRunner::launchUI().

Friends And Related Function Documentation

◆ lib::DependencyFactory< GuiNotification >

friend class lib::DependencyFactory< GuiNotification >
friend

Definition at line 81 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: