Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUI.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef __GUI_H__
11#define __GUI_H__
12
13#include "GUICompositeObject.h"
14
15#include "GUIImageResource.h"
16
18
19// Helper macros
21#define GETGUI CGUI::GetInstance()
22
24
39{
42 friend class CGUIObject;
43 friend class CGUIDataPool;
44 friend class CGUILocalisationTable;
45 friend class CGUIResourceManager;
46
47public:
51 static inline CGUI& GetInstance() { assert(NULL != ms_pkInstance); return *ms_pkInstance; }
52
58 static inline eC_Bool IsCreated() { return (ms_pkInstance != NULL); }
59
65 static inline eC_Bool IsRunning() { return ms_bRunning; }
66
68 void Quit();
69
71 virtual void RequestQuit();
72
80 eC_Bool FocusAny();
81
87 eC_Bool Run();
88
101 eC_Bool RunOnce();
102
108 void FourWayFocusNext(FourWayFocus_t eFocusDirection);
109
114 virtual void NotifyOfDestruction(const CGUIObject* pDestroyedObject) {}
115
120 eC_UInt GetIdleTime() const;
121
125 static const eC_String& GetVersionString();
126
130 static const eC_UInt GetVersion();
131
135 static eC_String GetLicenseString();
136
140 static eC_String GetPlatformString();
141
144
149 static void SetGuilianiLicenseKey(const eC_Char* pcLicenseKey);
150
156 static eC_Bool LoadGuilianiLicenseKey(const eC_String& kFilename);
157
162 static eC_Bool IsLicenseActive();
163
169 virtual eC_Bool DoPostDraw();
170
175 virtual void DoCallAPI(const eC_String& kAPI, const eC_String& kParam) {}
176
183 virtual CGUIObject* LoadDialog(const eC_String& kDialogName, eC_Bool& bUseSnapshot, GUIBitmapPlaneID_t& eBitmapPlaneID);
184
188
192
196 void SetCursorImage(const ImageResource_t& eImage);
197
198protected:
206 CGUI(const eC_Value& vX, const eC_Value& vY, const eC_Value& vWidth, const eC_Value& vHeight, const ObjectHandle_t &eID = NO_HANDLE);
207
212 CGUI(const CGUIRect &kRect, const ObjectHandle_t &eID = NO_HANDLE);
213
215 virtual ~CGUI(void);
216
217protected:
219 volatile static eC_Bool ms_bRunning;
220
221 static const eC_Int GUILIANI_VERSION_MAJOR;
222 static const eC_Int GUILIANI_VERSION_MINOR;
223
224private:
231 ObjectHandle_t GetNeighborID(const CGUIObject* pkObject, FourWayFocus_t eDirection) const;
232
234 void Init();
235
239 CGUI();
240
245 CGUI(const CGUI& kSource);
246
251 CGUI& operator=(const CGUI& kSource);
252
253 void CheckDuration();
254
255 static void CheckAvailability(const eC_Int& iAmount, const eC_Int& iType);
256
257private:
259 static CGUI* ms_pkInstance;
260
262 eC_UInt m_uiDistance;
263
265 CGUIObject *m_kObjectToFocus;
266
269 eC_UInt m_uiMinDistance;
270
273 ObjectPtrList m_pSameDistanceObjects;
274
277 eC_UInt m_uiIdleTime;
278
280 eC_Bool m_bEvalExpired;
281
283 CGUIFakeMouseCursor* m_pkMouseCursor;
284};
285#endif
Helper Macros in Guiliani
ImageResource_t
Enumeration of image resource ids.
Definition: GUIImageResource.h:126
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
Definition: GUIDataPool.h:465
Software mouse cursor.
Definition: GUIFakeMouseCursor.h:23
GUI base class for any Guiliani application.
Definition: GUI.h:39
eC_Bool RunOnce()
eC_Bool Run()
static void SetGuilianiLicenseKey(const eC_Char *pcLicenseKey)
void Quit()
Quit the GUI's main loop after the current cycle is complete.
virtual void DoCallAPI(const eC_String &kAPI, const eC_String &kParam)
Definition: GUI.h:175
virtual CGUIObject * LoadDialog(const eC_String &kDialogName, eC_Bool &bUseSnapshot, GUIBitmapPlaneID_t &eBitmapPlaneID)
virtual void RequestQuit()
request quit
CGUI(const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
void DisableMouseCursor()
static void PrintLibraryInformation()
Prints information about the Guiliani revision and Configuration settings used while building this li...
eC_UInt GetIdleTime() const
eC_Bool FocusAny()
void SetCursorImage(const ImageResource_t &eImage)
virtual void NotifyOfDestruction(const CGUIObject *pDestroyedObject)
Definition: GUI.h:114
static eC_String GetPlatformString()
static CGUI & GetInstance()
Definition: GUI.h:51
static eC_Bool IsCreated()
Definition: GUI.h:58
static eC_Bool IsLicenseActive()
static volatile eC_Bool ms_bRunning
This boolean value specifies if the GUI is currently running.
Definition: GUI.h:219
static const eC_UInt GetVersion()
static const eC_Int GUILIANI_VERSION_MAJOR
major-version of Guiliani
Definition: GUI.h:221
virtual eC_Bool DoPostDraw()
void EnableMouseCursor()
void FourWayFocusNext(FourWayFocus_t eFocusDirection)
static eC_Bool LoadGuilianiLicenseKey(const eC_String &kFilename)
virtual ~CGUI(void)
Destructor.
CGUI(const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
static const eC_String & GetVersionString()
static eC_Bool IsRunning()
Definition: GUI.h:65
static eC_String GetLicenseString()
static const eC_Int GUILIANI_VERSION_MINOR
minor-version of Guiliani
Definition: GUI.h:222
This class is used to store and provide international texts.
Definition: GUILocalisationTable.h:21
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
FourWayFocus_t
Definition: GUIObject.h:141
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
Manages resource ID mappings for fonts, images, sounds, etc.
Definition: GUIResourceManager.h:111
friend class CGUI
Definition: GUIResourceManager.h:112