61 using lumiera::error::LUMIERA_ERROR_STATE;
113 errorMsgBuff = problem.
what();
118 errorMsgBuff =
"unexpected error terminated the GUI.";
133 launchUI (Subsys::SigTerm& reportOnTermination)
138 , [reportOnTermination]
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,
170 const char*, (LumieraInterface ifa),
171 { (void)ifa;
return "GuiStarterPlugin"; }
173 , LUMIERA_INTERFACE_INLINE (brief,
174 const char*, (LumieraInterface ifa),
175 { (void)ifa;
return "entry point to start up the Lumiera GTK GUI contained in this dynamic module"; }
177 , LUMIERA_INTERFACE_INLINE (homepage,
178 const char*, (LumieraInterface ifa),
179 { (void)ifa;
return "http://www.lumiera.org/develompent.html" ;}
181 , LUMIERA_INTERFACE_INLINE (version,
182 const char*, (LumieraInterface ifa),
183 { (void)ifa;
return "0.1~pre"; }
185 , LUMIERA_INTERFACE_INLINE (author,
186 const char*, (LumieraInterface ifa),
187 { (void)ifa;
return "Joel Holdsworth, Christian Thaeter, Hermann Vosseler"; }
189 , LUMIERA_INTERFACE_INLINE (email,
190 const char*, (LumieraInterface ifa),
191 { (void)ifa;
return "Lumiera@lists.lumiera.org"; }
193 , LUMIERA_INTERFACE_INLINE (copyright,
194 const char*, (LumieraInterface ifa),
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,
206 const char*, (LumieraInterface ifa),
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,
218 int, (LumieraInterface ifa),
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),
238 return stage::launchUI (*reinterpret_cast<Subsys::SigTerm *> (termSig));
void performMainLoop()
start the GTK Main loop and thus activate the UI.
Dependencies and lifecycle of a partially independent Subsystem of the Application.
lumiera_err lumiera_error_peek(void)
Check current error state without clearing it Please avoid this function and use lumiera_error() if p...
void createApplicationWindow()
Set up the first top-level application window.
Under construction: the top level UI controller.
LUMIERA_EXPORT(LUMIERA_INTERFACE_DEFINE(lumieraorg_interface, 0, lumieraorg_interface, NULL, NULL, NULL, LUMIERA_INTERFACE_MAP(open, lumiera_interface_open), LUMIERA_INTERFACE_MAP(close, lumiera_interface_close), LUMIERA_INTERFACE_MAP(version, lumiera_interface_version),))
Definition of 'the mother of all interfaces' since this interface is singleton and required for any c...
Any copy and copy construction prohibited.
virtual CStr what() const noexcept override
std::exception interface : yield a diagnostic message
Implement the necessary steps for actually making the Lumiera UI available.
Backbone of the Lumiera GTK GUI.
Not finished development code.
#define LUMIERA_INTERFACE_INSTANCE(iname, version, name, descriptor, acquire, release,...)
Define an interface instance.
Lumiera interface macros and structures.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Manager for global user interface concerns, framework integration and global state.
Describing dependencies and lifecycle of the application's primary parts.
#define LUMIERA_INTERFACE_REF(iname, version, dname)
Return a reference (pointer) to an interface implementation.
Lumiera GTK UI implementation root.
lumiera_err lumiera_error(void)
Get and clear current error state.
void launchDetached(ThreadHookable::Launch &&launchBuilder)
Launch an autonomous self-managing thread (and forget about it).
Convenience front-end to simplify and codify basic thread handling.
Lumiera error handling (C++ interface).
#define LUMIERA_INTERFACE_INAME(name, version)
Construct a type identifier for an interface.
A data record to describe interface, interface instances and plug-in instances.
Lumiera public interface.
The Lumiera UI framework and backbone object.
Interface for the GUI loader and for accessing the GUI interface from the lower layers of Lumiera...
A set of basic GTK includes for the UI.
Interface and Base definition for all Lumiera Exceptions.
#define LUMIERA_ERROR_DEFINE(err, msg)
Definition and initialisation of an error constant.