Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIBehaviourResource.h
Go to the documentation of this file.
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_BEHAVIOUR_RESOURCE__H_
11#define GUI_BEHAVIOUR_RESOURCE__H_
12#include <limits.h>
13
15//
16// DO NOT EDIT THIS FILE!!! Add your own IDS within UserXXXResource.h files!
17// DO NOT EDIT THIS FILE!!! Add your own IDS within UserXXXResource.h files!
18// DO NOT EDIT THIS FILE!!! Add your own IDS within UserXXXResource.h files!
19//
20
21// -----------------------------------------------------------------------------------------
23
24//Add Guiliani-BehaviourClassIDs here (with negative IDs, DUMMY_BEHAVIOUR has to stay 0, see BEHAVIOUR_START_TAG below)
25
26#define BEHAVIOUR_TABLE \
27ENTRY(BEHAVIOUR_CONDITIONAL, CGUIConditionalBehaviour) \
28ENTRY(BEHAVIOUR_OBJECT_VISUALS, CGUIObjectVisualsBehaviour) \
29ENTRY(BEHAVIOUR_TABSWITCH, CGUITabSwitchBehaviour) \
30ENTRY(BEHAVIOUR_AUTOREPEAT, CGUIAutoRepeatBehaviour) \
31ENTRY(BEHAVIOUR_KEYBOARD, CGUIKeyboardBehaviour) \
32ENTRY(BEHAVIOUR_OBJECT_STATE, CGUIObjectStateBehaviour) \
33ENTRY(BEHAVIOUR_COMPOSITE, CGUICompositeBehaviour) \
34ENTRY(BEHAVIOUR_HOTKEY, CGUIHotkeysBehaviour) \
35ENTRY(BEHAVIOUR_SINGLE_CMD, CGUISingleCmdBehaviour) \
36ENTRY(BEHAVIOUR_MULTI_CMD, CGUIMultiCmdBehaviour)
37
38// Calculate the value for the START_TAG used in th enum definition below.
39#define ENTRY_ENUM(a) -1
40#define ENTRY(bhv, bhvclass) -1
42#undef ENTRY
43#undef ENTRY_ENUM
44
47{
48 BEHAVIOUR_START_TAG = ciCalculatedBhvStartTag - 1, // we left out DUMMY_BEHAVIOUR
49
50#define ENTRY_ENUM(a) a,
51#define ENTRY(beh_id, beh_classname) beh_id,
53
54 DUMMY_BEHAVIOUR,
55#undef ENTRY
56#undef ENTRY_ENUM
57
58 GUILIANI_INTERNAL_BHV = INT_MAX // Do not touch this. Required for ensuring consistent enum type size across libraries.
59};
60
61// Check if the DUMMY value is always 0. If not compile error!
62typedef int static_assert_something[(DUMMY_BEHAVIOUR == 0) ? 1 : -1];
63
64#endif
#define BEHAVIOUR_TABLE
BehaviourClassIDs.
Definition: GUIBehaviourResource.h:26
BehaviourClassID_t
List of behaviour class ids.
Definition: GUIBehaviourResource.h:47
int static_assert_something[(DUMMY_BEHAVIOUR==0) ? 1 :-1]
Will throw compile error negative subscript if DUMMY_BEHAVIOUR is NOT 0!
Definition: GUIBehaviourResource.h:62
const int ciCalculatedBhvStartTag
preprocessor generates for all entries of SOUND_TABLE: -1 -1 -1..., resulting in a mathematical expre...
Definition: GUIBehaviourResource.h:41