itom  4.1.0
global.h
1 /* ********************************************************************
2  itom software
3  URL: http://www.uni-stuttgart.de/ito
4  Copyright (C) 2020, Institut fuer Technische Optik (ITO),
5  Universitaet Stuttgart, Germany
6 
7  This file is part of itom.
8 
9  itom is free software; you can redistribute it and/or modify it
10  under the terms of the GNU Library General Public Licence as published by
11  the Free Software Foundation; either version 2 of the Licence, or (at
12  your option) any later version.
13 
14  itom is distributed in the hope that it will be useful, but
15  WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
17  General Public Licence for more details.
18 
19  You should have received a copy of the GNU Library General Public License
20  along with itom. If not, see <http://www.gnu.org/licenses/>.
21 *********************************************************************** */
22 
23 #ifndef GLOBAL_H
24 #define GLOBAL_H
25 
27 //#include <vector>
28 //#include <map>
29 //#include <deque>
30 //#include <queue>
31 //#include <algorithm>
32 
33 #include "../common/param.h"
34 #include "common/sharedStructures.h"
35 
36 #include <qmap.h>
37 #include <qlist.h>
38 #include <qvector.h>
39 #include <qstring.h>
40 #include <qsharedpointer.h>
41 
42 /* definition and macros */
43 #define ITOM_VERSION_MAJOR 0x04
44 #define ITOM_VERSION_MINOR 0x01
45 #define ITOM_VERSION_PATCH 0x00
46 #define ITOM_VERSION CREATEVERSION(ITOM_VERSION_MAJOR,ITOM_VERSION_MINOR,ITOM_VERSION_PATCH) //ITOM_VERSION is (major << 16) + (minor << 8) + patch
47 #define ITOM_VERSION_STR "4.1.0"
48 
49 #ifdef USEPCL
50  #define ITOM_POINTCLOUDLIBRARY 1
51 #else
52  #define ITOM_POINTCLOUDLIBRARY 0
53 #endif
54 
55 #ifdef USEPYMATLAB
56  #define ITOM_PYTHONMATLAB 1
57 #else
58  #define ITOM_PYTHONMATLAB 0
59 #endif
60 
61 #ifdef USEHELPVIEWER //Qt5 only
62 #if QT_VERSION >= 0x050600
63  #define ITOM_USEHELPVIEWER 1
64 #endif
65 #endif
66 
67 /* global variables (avoid) */
68 typedef QMap<QString,QString> StringMap;
69 typedef QList<int> IntList;
70 typedef QVector<int> IntVector;
71 typedef QSharedPointer<ito::Param> SharedParamPointer;
72 typedef QVector<ito::Param> ParamVector;
73 typedef QSharedPointer<ito::ParamBase> SharedParamBasePointer;
74 typedef QVector<SharedParamBasePointer> SharedParamBasePointerVector;
75 typedef QVector<ito::Param> ParamBaseVector;
76 
77 
78 namespace ito {
79 
86  enum tMsgType
87  {
88  msgReturnInfo,
89  msgReturnWarning,
90  msgReturnError,
91  msgTextInfo,
92  msgTextWarning,
93  msgTextError
94  };
95 
96 
97  enum tPythonDbgCmd
98  {
99  pyDbgNone=0,
100  pyDbgContinue=1,
101  pyDbgStep=2,
102  pyDbgStepOut=4,
103  pyDbgStepOver=8,
104  pyDbgQuit=16
105  };
106 
107 
108  enum tPythonTransitions
109  {
110  pyTransBeginRun = 1,
111  pyTransEndRun = 2,
112  pyTransBeginDebug = 4,
113  pyTransEndDebug = 8,
114  pyTransDebugWaiting = 16,
115  pyTransDebugContinue = 32,
116  pyTransDebugExecCmdBegin = 64,
117  pyTransDebugExecCmdEnd = 128
118  };
119 
120  enum tPythonState
121  {
122  pyStateIdle = 1,
123  pyStateRunning = 2,
124  pyStateDebugging = 4,
125  pyStateDebuggingWaiting = 8,
126  pyStateDebuggingWaitingButBusy = 16
127  };
128 }; //end namespace ito
129 
130 
131 #endif
Definition: apiFunctionsGraph.cpp:39
tMsgType
Definition: global.h:86