61using lumiera::error::LUMIERA_ERROR_STATE;
62using stage::LUMIERA_INTERFACE_INAME(lumieraorg_Gui, 1);
113 errorMsgBuff = problem.
what();
118 errorMsgBuff =
"unexpected error terminated the GUI.";
137 launchDetached (
"GUI-Main"
138 , [reportOnTermination]
140 string shutdownLog = GtkLumiera{}.run();
142 reportOnTermination (&shutdownLog);
149 WARN (
stage,
"Unexpected error while starting the GUI thread.");
151 TRACE (
stage,
"Error flag was: %s", errID);
167 ,lumieraorg_GuiStarterPlugin_descriptor
169 , LUMIERA_INTERFACE_INLINE (name,
171 { (void)ifa;
return "GuiStarterPlugin"; }
173 , LUMIERA_INTERFACE_INLINE (brief,
175 { (void)ifa;
return "entry point to start up the Lumiera GTK GUI contained in this dynamic module"; }
177 , LUMIERA_INTERFACE_INLINE (homepage,
179 { (void)ifa;
return "http://www.lumiera.org/develompent.html" ;}
181 , LUMIERA_INTERFACE_INLINE (version,
183 { (void)ifa;
return "0.1~pre"; }
185 , LUMIERA_INTERFACE_INLINE (author,
187 { (void)ifa;
return "Joel Holdsworth, Christian Thaeter, Hermann Vosseler"; }
189 , LUMIERA_INTERFACE_INLINE (email,
191 { (void)ifa;
return "Lumiera@lists.lumiera.org"; }
193 , LUMIERA_INTERFACE_INLINE (copyright,
199 " 2007-2008, Joel Holdsworth <joel@airwebreathe.org.uk>\n"
200 " 2009, Christian Thaeter <ct@pipapo.org>\n"
201 " 2009, Hermann Vosseler <Ichthyostega@web.de>"
202 " 2016,2017, Hermann Vosseler <Ichthyostega@web.de>";
205 , LUMIERA_INTERFACE_INLINE (license,
210 "**Lumiera** is free software; you can redistribute it and/or modify it\n"
211 "under the terms of the GNU General Public License as published by the\n"
212 "Free Software Foundation; either version 2 of the License, or (at your\n"
213 "option) any later version. See the file COPYING for further details."
217 , LUMIERA_INTERFACE_INLINE (state,
221 , LUMIERA_INTERFACE_INLINE (versioncmp,
222 int, (
const char* a,
const char* b),
223 {(void)a;(void)b;
return 0;}
230 LUMIERA_INTERFACE_DEFINE (lumieraorg_Gui, 1
231 ,lumieraorg_GuiStarterPlugin
235 , LUMIERA_INTERFACE_INLINE (launchUI,
236 bool, (
void* termSig),
Interface and Base definition for all Lumiera Exceptions.
virtual CStr what() const noexcept override
std::exception interface : yield a diagnostic message
Dependencies and lifecycle of a partially independent Subsystem of the Application.
function< void(string *)> SigTerm
Backbone of the Lumiera GTK GUI.
Implement the necessary steps for actually making the Lumiera UI available.
The Lumiera UI framework and backbone object.
void performMainLoop()
start the GTK Main loop and thus activate the UI.
void createApplicationWindow()
Set up the first top-level application window.
Any copy and copy construction prohibited.
lumiera_err lumiera_error_peek(void)
Check current error state without clearing it Please avoid this function and use lumiera_error() if p...
lumiera_err lumiera_error(void)
Get and clear current error state.
#define LUMIERA_ERROR_DEFINE(err, msg)
Definition and initialisation of an error constant.
Lumiera error handling (C++ interface).
A set of basic GTK includes for the UI.
Interface for the GUI loader and for accessing the GUI interface from the lower layers of Lumiera.
A data record to describe interface, interface instances and plug-in instances.
@ LUMIERA_INTERFACE_EXPERIMENTAL
Not finished development code.
Lumiera interface macros and structures.
#define LUMIERA_INTERFACE_REF(iname, version, dname)
Return a reference (pointer) to an interface implementation.
#define LUMIERA_EXPORT(...)
Generate interface container suitable for enumerating interfaces.
#define LUMIERA_INTERFACE_INSTANCE(iname, version, name, descriptor, acquire, release,...)
Define an interface instance.
lumiera_interface * LumieraInterface
void launchDetached(ThreadHookable::Launch &&launchBuilder)
Launch an autonomous self-managing thread (and forget about it).
Lumiera public interface.
Lumiera GTK UI implementation root.
bool launchUI(Subsys::SigTerm &reportOnTermination)
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Describing dependencies and lifecycle of the application's primary parts.
Convenience front-end to simplify and codify basic thread handling.
Under construction: the top level UI controller.
Manager for global user interface concerns, framework integration and global state.