70 using lumiera::error::LUMIERA_ERROR_STATE;
118 errorMsgBuff = problem.
what();
123 errorMsgBuff =
"unexpected error terminated the GUI.";
138 launchUI (Subsys::SigTerm& reportOnTermination)
143 , [reportOnTermination]
147 reportOnTermination (&shutdownLog);
154 WARN (
stage,
"Unexpected error while starting the GUI thread.");
156 TRACE (
stage,
"Error flag was: %s", errID);
172 ,lumieraorg_GuiStarterPlugin_descriptor
174 , LUMIERA_INTERFACE_INLINE (
name,
175 const char*, (LumieraInterface ifa),
176 { (void)ifa;
return "GuiStarterPlugin"; }
178 , LUMIERA_INTERFACE_INLINE (brief,
179 const char*, (LumieraInterface ifa),
180 { (void)ifa;
return "entry point to start up the Lumiera GTK GUI contained in this dynamic module"; }
182 , LUMIERA_INTERFACE_INLINE (homepage,
183 const char*, (LumieraInterface ifa),
184 { (void)ifa;
return "http://www.lumiera.org/develompent.html" ;}
186 , LUMIERA_INTERFACE_INLINE (version,
187 const char*, (LumieraInterface ifa),
188 { (void)ifa;
return "0.1~pre"; }
190 , LUMIERA_INTERFACE_INLINE (author,
191 const char*, (LumieraInterface ifa),
192 { (void)ifa;
return "Joel Holdsworth, Christian Thaeter, Hermann Vosseler"; }
194 , LUMIERA_INTERFACE_INLINE (email,
195 const char*, (LumieraInterface ifa),
196 { (void)ifa;
return "Lumiera@lists.lumiera.org"; }
198 , LUMIERA_INTERFACE_INLINE (copyright,
199 const char*, (LumieraInterface ifa),
203 "Copyright (C) Lumiera.org\n" 204 "2007-2008, Joel Holdsworth <joel@airwebreathe.org.uk>\n" 205 "2009, Christian Thaeter <ct@pipapo.org>\n" 206 " Hermann Vosseler <Ichthyostega@web.de>";
209 , LUMIERA_INTERFACE_INLINE (license,
210 const char*, (LumieraInterface ifa),
214 "This program is free software; you can redistribute it and/or modify\n" 215 "it under the terms of the GNU General Public License as published by\n" 216 "the Free Software Foundation; either version 2 of the License, or\n" 217 "(at your option) any later version.\n" 219 "This program is distributed in the hope that it will be useful,\n" 220 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" 221 "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" 222 "GNU General Public License for more details.\n" 224 "You should have received a copy of the GNU General Public License\n" 225 "along with this program; if not, write to the Free Software\n" 226 "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA";
229 , LUMIERA_INTERFACE_INLINE (state,
230 int, (LumieraInterface ifa),
233 , LUMIERA_INTERFACE_INLINE (versioncmp,
234 int, (
const char* a,
const char* b),
235 {(void)a;(void)b;
return 0;}
242 LUMIERA_INTERFACE_DEFINE (lumieraorg_Gui, 1
243 ,lumieraorg_GuiStarterPlugin
247 , LUMIERA_INTERFACE_INLINE (launchUI,
248 bool, (
void* termSig),
250 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.
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.