umbrello: umbrello/debug/debug_utils.h File Reference

umbrello 25.08.0 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

Classes | Macros
debug_utils.h File Reference
`#include <QtGlobal>`
`#include <QLoggingCategory>`
`#include <QMetaEnum>`
`#include <QTreeWidget>`

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:
DEBUG_N(DBG_SRC)
DBG_SRC
#define DBG_SRC
Definition assocrules.cpp:10
DEBUG_N
#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()
Tracer::instance
static Tracer * instance()
Definition debug_utils.cpp:108
uDebug
#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;
Tracer
The singleton class for switching on or off debug messages.
Definition debug_utils.h:58
Tracer::registerClass
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:
Tracer::instance()->show()

## ◆ ENUM_NAME

#define ENUM_NAME | ( |  | o,
|  |  | e,
|  |  | v )

Value:
(o::staticMetaObject.enumerator(o::staticMetaObject.indexOfEnumerator(#e)).valueToKey((v)))
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:
Tracer::instance()->isEnabled(DBG_SRC)
Tracer::isEnabled
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; }
a
QString a
Definition petalnode.cpp:13

## ◆ uWarning

#define uWarning | ( |  | ) |

Value:
qCWarning(UMBRELLO)