30#ifndef STAGE_GUI_NOTIFICATION_H
31#define STAGE_GUI_NOTIFICATION_H
46 class MutationMessage;
90 virtual void markNote (
ID uiElement,
string const& text) =0;
130 LUMIERA_INTERFACE_SLOT (
void, displayInfo, (
uint,
const char*)),
131 LUMIERA_INTERFACE_SLOT (
void, markError, (
const void*,
const char*)),
132 LUMIERA_INTERFACE_SLOT (
void, markNote, (
const void*,
const char*)),
133 LUMIERA_INTERFACE_SLOT (
void, mark, (
const void*,
void*)),
134 LUMIERA_INTERFACE_SLOT (
void, mutate, (
const void*,
void*)),
135 LUMIERA_INTERFACE_SLOT (
void, triggerGuiShutdown, (
const char*)),
Access point to singletons and other kinds of dependencies designated by type.
Helper to abstract creation and lifecycle of a dependency.
type erased baseclass for building a combined hash and symbolic ID.
Global access point to push state update and notification of events from the lower layers into the Lu...
static lib::Depend< GuiNotification > facade
static storage for the facade access front-end
virtual void displayInfo(NotifyLevel, string const &text)=0
push a user visible notification text
virtual void mark(ID uiElement, GenNode &&stateMark)=0
send a generic state mark message to some element
virtual void triggerGuiShutdown(string const &cause)=0
causes the GUI to shut down unconditionally
virtual ~GuiNotification()
this is an interface
virtual void mutate(ID uiElement, MutationMessage &&)=0
push a diff message up into the user interface.
virtual void markNote(ID uiElement, string const &text)=0
attach an warning or state information element
virtual void markError(ID uiElement, string const &text)=0
highlight an element in the UI as problem location
Singleton services and Dependency Injection.
Bare symbolic and hash ID used for accounting of asset like entries.
Hash value types and utilities.
Lumiera interface macros and structures.
#define LUMIERA_INTERFACE_DECLARE(name, version,...)
Declare an interface.
Implementation namespace for support and library code.
Lumiera GTK UI implementation root.
lib::idi::BareEntryID const & ID
@ NOTE_INFO
possibly interesting info that can be safely ignored
@ NOTE_ERROR
severe condition to be indicated prominently
@ NOTE_WARN
something to be aware of, to be indicated unobtrusively
generic data element node within a tree
Opaque message to effect a structural change on a target, which is likewise only known in an abstract...