Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUIBehaviour.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 __GUIBEHAVIOUR_H__
11#define __GUIBEHAVIOUR_H__
12
13#include "GUIStreamableObject.h"
15
16#include "GUIDataPool.h"
17
18#include "eC_Math.h"
19
20class CGUIEvent;
21class CGUIObject;
22
26enum BehaviourType_t
27{
28 BT_CLICK = 0,
29 BT_LONG_CLICK,
30 BT_DOUBLE_CLICK,
31 BT_BUTTON_DOWN,
32 BT_BUTTON_UP,
33 BT_FOCUS_PREVIOUS,
34 BT_FOCUS_NEXT,
35 BT_DECREASE,
36 BT_INCREASE,
37 BT_DRAG,
38 BT_MOUSE_ENTER,
39 BT_MOUSE_LEAVE,
40 BT_MOUSE_MOVE,
41 BT_WHEEL_UP,
42 BT_WHEEL_DOWN,
43 BT_USER_EVENT,
44 BT_KEY_DOWN,
45 BT_KEY_UP,
46 BT_CHAR,
47 BT_GETFOCUS,
48 BT_LOSEFOCUS,
49 BT_DRAGEND,
50 BT_ONCREATE,
51 BT_ONDELETE,
52 BT_ONSHOW,
53 BT_ONHIDE,
54 BT_SCALE,
55 BT_ONDATAPOOL,
56 BT_DUMMY
57};
58
60
73{
74public:
77
95 virtual eC_Bool DoClick(
96 const eC_Value& vAbsX = eC_FromInt(-1),
97 const eC_Value& vAbsY = eC_FromInt(-1));
98
117 virtual eC_Bool DoLongClick(
118 const eC_Value& vAbsX = eC_FromInt(-1),
119 const eC_Value& vAbsY = eC_FromInt(-1));
120
138 virtual eC_Bool DoDoubleClick(
139 const eC_Value& vAbsX = eC_FromInt(-1),
140 const eC_Value& vAbsY = eC_FromInt(-1));
141
158 virtual eC_Bool DoButtonDown(
159 const eC_Value& vAbsX = eC_FromInt(-1),
160 const eC_Value& vAbsY = eC_FromInt(-1));
161
181 virtual eC_Bool DoButtonUp(
182 const eC_Value& vAbsX = eC_FromInt(-1),
183 const eC_Value& vAbsY = eC_FromInt(-1));
184
196 virtual eC_Bool DoDrag(
197 const eC_Value& vDeltaX = eC_FromInt(-1),
198 const eC_Value& vDeltaY = eC_FromInt(-1),
199 const eC_Value& vAbsX = eC_FromInt(-1),
200 const eC_Value& vAbsY = eC_FromInt(-1));
201
210 virtual eC_Bool DoDragEnd(
211 const eC_Value& vAbsX = eC_FromInt(-1),
212 const eC_Value& vAbsY = eC_FromInt(-1));
213
214
225 virtual eC_Bool DoMouseEnter(
226 const eC_Value& vAbsX = eC_FromInt(-1),
227 const eC_Value& vAbsY = eC_FromInt(-1));
228
237 virtual eC_Bool DoMouseLeave(
238 const eC_Value& vAbsX = eC_FromInt(-1),
239 const eC_Value& vAbsY = eC_FromInt(-1));
240
250 virtual eC_Bool DoMouseMove(
251 const eC_Value& vAbsX = eC_FromInt(-1),
252 const eC_Value& vAbsY = eC_FromInt(-1));
253
255
257
270 virtual eC_Bool FocusPrevious(
271 CGUIObject* const pRefObj = NULL,
272 const eC_Bool &bSubTreeOfRefObjDone = false);
273
287 virtual eC_Bool FocusNext(
288 CGUIObject* const pRefObj = NULL,
289 const eC_Bool &bSubTreeOfRefObjDone = false);
290
297 virtual void GetFocus();
298
302 virtual void LoseFocus();
304
306
313 virtual eC_Bool Decrease();
314
322 virtual eC_Bool Increase();
323
332 virtual eC_Bool DoKeyDown(
333 const GUIKeyIdentifier_t &eKeyIdentifier,
334 const eC_UInt &uiModifiers);
335
344 virtual eC_Bool DoKeyUp(
345 const GUIKeyIdentifier_t &eKeyIdentifier,
346 const eC_UInt &uiModifiers);
347
360 virtual eC_Bool DoChar(
361 const eC_UInt &uiKey,
362 const GUIKeyIdentifier_t &eKeyIdentifier,
363 const eC_UInt &uiModifiers);
365
367
375 virtual eC_Bool DoScroll(
376 const eC_Value& vAbsX,
377 const eC_Value& vAbsY,
378 const eC_Value& vDelta,
379 const eC_Bool& bModifierActive);
381
399 virtual eC_Bool DoUserEvent(CGUIEvent* const pEvent);
400
407 virtual eC_Bool DoScale(const eC_Value& vDelta);
408
412 virtual void OnCreate();
413
417 virtual void OnDelete();
418
420 virtual void OnShow();
421
423 virtual void OnHide();
424
428 virtual void OnDataPool(const DataPoolResource_t& eID);
429
430#if defined(GUILIANI_STREAM_GUI) || defined(GUILIANI_WRITE_GUI)
432 static const eC_Char XMLTAG_BEHAVIOURCLASSID[];
434 static const eC_Char XMLTAG_BEHAVIOURCOUNT[];
435#endif
436};
437
438#endif
DataPoolResource_t
List of data pool resource ids.
Definition: GUIDataPoolResource.h:35
GUIKeyIdentifier_t
Platform independent key identifiers.
Definition: GUIEventTypeResource.h:207
CGUIBehaviour base class.
Definition: GUIBehaviour.h:73
virtual void OnCreate()
virtual void GetFocus()
static const eC_Char XMLTAG_BEHAVIOURCLASSID[]
XML tag to be used when writing a behaviour class ID into a stream.
Definition: GUIBehaviour.h:432
virtual eC_Bool DoButtonDown(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual eC_Bool DoMouseEnter(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual eC_Bool DoClick(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual eC_Bool DoKeyDown(const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
virtual eC_Bool DoUserEvent(CGUIEvent *const pEvent)
virtual void LoseFocus()
virtual eC_Bool DoScroll(const eC_Value &vAbsX, const eC_Value &vAbsY, const eC_Value &vDelta, const eC_Bool &bModifierActive)
virtual eC_Bool FocusPrevious(CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
virtual eC_Bool DoScale(const eC_Value &vDelta)
virtual eC_Bool DoButtonUp(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual void OnDataPool(const DataPoolResource_t &eID)
virtual eC_Bool Increase()
virtual eC_Bool DoDragEnd(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual eC_Bool Decrease()
virtual eC_Bool FocusNext(CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
virtual eC_Bool DoDrag(const eC_Value &vDeltaX=eC_FromInt(-1), const eC_Value &vDeltaY=eC_FromInt(-1), const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual eC_Bool DoChar(const eC_UInt &uiKey, const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
virtual eC_Bool DoMouseMove(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
static const eC_Char XMLTAG_BEHAVIOURCOUNT[]
XML tag for count.
Definition: GUIBehaviour.h:434
virtual void OnShow()
virtual eC_Bool DoKeyUp(const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
virtual void OnHide()
virtual eC_Bool DoMouseLeave(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual eC_Bool DoDoubleClick(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual void OnDelete()
virtual eC_Bool DoLongClick(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
Base class for Guiliani Events.
Definition: GUIEvent.h:26
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
Base class for streamable objects.
Definition: GUIStreamableObject.h:46