19#include <QLoggingCategory> 
   20Q_DECLARE_LOGGING_CATEGORY(UMBRELLO)
 
   65    bool isEnabled(
const QString& name) 
const;
 
   66    void enable(
const QString& name);
 
   67    void disable(
const QString& name);
 
   74    static void registerClass(
const char * name, 
bool state=
true, 
const char *filePath = 
nullptr);
 
   77    void update(
const QString &name);
 
  102    explicit Tracer(QWidget  *parent = 
nullptr);
 
 
  106#define uDebug()   qCDebug(UMBRELLO) 
  107#define uError()   qCCritical(UMBRELLO) 
  108#define uWarning() qCWarning(UMBRELLO) 
  111#define DBG_SRC  QString::fromLatin1(metaObject()->className()) 
  113#define DEBUG_SHOW_FILTER() Tracer::instance()->show() 
  114#define DEBUG_N(latin1str)  if (Tracer::instance()->logToConsole() || Tracer::instance()->isEnabled(latin1str)) uDebug() 
  115#define DEBUG()       DEBUG_N(DBG_SRC) 
  116#define IS_DEBUG_ENABLED() Tracer::instance()->isEnabled(DBG_SRC) 
  117#define DEBUG_REGISTER(src)          \ 
  118        class src##Tracer { \ 
  120            src##Tracer() { Tracer::registerClass(#src, true, __FILE__); } \ 
  122        static src##Tracer src##TracerGlobal; 
 
  123#define DEBUG_REGISTER_DISABLED(src) \ 
  124        class src##Tracer { \ 
  126            src##Tracer() { Tracer::registerClass(#src, false, __FILE__); } \ 
  128        static src##Tracer src##TracerGlobal; 
 
  130#define uIgnoreZeroPointer(a) if (!a) { uDebug() << "zero pointer detected" << __FILE__ << __LINE__; continue; } 
  139#define ENUM_NAME(o, e, v) (o::staticMetaObject.enumerator(o::staticMetaObject.indexOfEnumerator(#e)).valueToKey((v))) 
MapEntry(const QString &_filePath, bool _state)
Definition debug_utils.h:91
QString filePath
Definition debug_utils.h:88
bool state
Definition debug_utils.h:89
MapEntry()
Definition debug_utils.h:90
static StateMap * s_states
Definition debug_utils.h:99
static bool s_logToConsole
Definition debug_utils.h:100
void disable(const QString &name)
Definition debug_utils.cpp:185
static Tracer * s_instance
Definition debug_utils.h:97
void disableAll()
Definition debug_utils.cpp:196
void enableAll()
Definition debug_utils.cpp:191
void slotParentItemClicked(QTreeWidgetItem *parent)
Definition debug_utils.cpp:296
QMap< QString, Qt::CheckState > StateMap
Definition debug_utils.h:95
void updateParentItemCheckBox(QTreeWidgetItem *parent)
Definition debug_utils.cpp:247
void enable(const QString &name)
Definition debug_utils.cpp:175
~Tracer()
Definition debug_utils.cpp:148
bool logToConsole()
Definition debug_utils.cpp:201
static Tracer * instance()
Definition debug_utils.cpp:108
Tracer(QWidget *parent=nullptr)
Definition debug_utils.cpp:135
void update(const QString &name)
Definition debug_utils.cpp:232
bool isEnabled(const QString &name) const
Definition debug_utils.cpp:157
static MapType * s_classes
Definition debug_utils.h:98
static void registerClass(const char *name, bool state=true, const char *filePath=nullptr)
Definition debug_utils.cpp:212
virtual void showEvent(QShowEvent *)
Definition debug_utils.cpp:267
void slotItemClicked(QTreeWidgetItem *item, int column)
Definition debug_utils.cpp:322
QMap< QString, MapEntry > MapType
Definition debug_utils.h:94