umbrello 2.39.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
debug_utils.h File Reference
#include <QtGlobal>
#include <QLoggingCategory>
#include <QMetaEnum>
#include <QTreeWidget>
Include dependency graph for debug_utils.h:

Go to the source code of this file.

Classes

class  Tracer
 The singleton class for switching on or off debug messages. More...
 
class  Tracer::MapEntry
 

Macros

#define uDebug()
 
#define uError()
 
#define uWarning()
 
#define DBG_SRC   QString::fromLatin1(metaObject()->className())
 
#define DEBUG_SHOW_FILTER()
 
#define DEBUG_N(latin1str)
 
#define DEBUG()
 
#define IS_DEBUG_ENABLED()
 
#define DEBUG_REGISTER(src)
 
#define DEBUG_REGISTER_DISABLED(src)
 
#define uIgnoreZeroPointer(a)
 
#define ENUM_NAME(o, e, v)
 

Macro Definition Documentation

◆ DBG_SRC

#define DBG_SRC   QString::fromLatin1(metaObject()->className())

◆ DEBUG

#define DEBUG ( )
Value:
#define DBG_SRC
Definition debug_utils.h:111
#define DEBUG_N(latin1str)
Definition debug_utils.h:114

◆ DEBUG_N

#define DEBUG_N ( latin1str)
Value:
if (Tracer::instance()->logToConsole() || Tracer::instance()->isEnabled(latin1str)) uDebug()
static Tracer * instance()
Definition debug_utils.cpp:108
#define uDebug()
Definition debug_utils.h:106

◆ DEBUG_REGISTER

#define DEBUG_REGISTER ( src)
Value:
class src##Tracer { \
public: \
src##Tracer() { Tracer::registerClass(#src, true, __FILE__); } \
}; \
static src##Tracer src##TracerGlobal;
The singleton class for switching on or off debug messages.
Definition debug_utils.h:58
static void registerClass(const char *name, bool state=true, const char *filePath=nullptr)
Definition debug_utils.cpp:212

◆ DEBUG_REGISTER_DISABLED

#define DEBUG_REGISTER_DISABLED ( src)
Value:
class src##Tracer { \
public: \
src##Tracer() { Tracer::registerClass(#src, false, __FILE__); } \
}; \
static src##Tracer src##TracerGlobal;

◆ DEBUG_SHOW_FILTER

#define DEBUG_SHOW_FILTER ( )
Value:

◆ ENUM_NAME

#define ENUM_NAME ( o,
e,
v )
Value:
(o::staticMetaObject.enumerator(o::staticMetaObject.indexOfEnumerator(#e)).valueToKey((v)))
std::vector< std::string > v
Definition cxx11-initializer-lists.h:19

In a Q_OBJECT class define any enum as Q_ENUMS. With the above the following macro returns the name of a given enum. This can be used in debug output. TODO: convert it to a function.

◆ IS_DEBUG_ENABLED

#define IS_DEBUG_ENABLED ( )
Value:
bool isEnabled(const QString &name) const
Definition debug_utils.cpp:157

◆ uDebug

#define uDebug ( )
Value:
qCDebug(UMBRELLO)

◆ uError

#define uError ( )
Value:
qCCritical(UMBRELLO)

◆ uIgnoreZeroPointer

#define uIgnoreZeroPointer ( a)
Value:
if (!a) { uDebug() << "zero pointer detected" << __FILE__ << __LINE__; continue; }
QString a
Definition petalnode.cpp:13

◆ uWarning

#define uWarning ( )
Value:
qCWarning(UMBRELLO)