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