28     static void forwardSignal(
 
   29             const QObject* sender, 
const QObject* resender, 
const char* signal);
 
   31     template<
typename PARENT_TYPE>
 
   32     static const PARENT_TYPE* constFindParent(
const QObject* 
object);
 
   34     template<
typename PARENT_TYPE>
 
   35     static PARENT_TYPE* findParent(QObject* 
object);
 
   37     template<
typename QOBJECT, 
typename ENUM>
 
   38     static ENUM toQEnumValue(
const char* enumName, 
int value);
 
   40     template<
typename QOBJECT, 
typename ENUM>
 
   41     static std::vector<ENUM> allQEnumValues(
const char* enumName);
 
   50 #include <QtCore/QObject> 
   51 #include <QtCore/QMetaObject> 
   52 #include <QtCore/QMetaEnum> 
   57 template<
typename PARENT_TYPE>
 
   60     return findParent<PARENT_TYPE>(
const_cast<QObject*
>(object));
 
   63 template<
typename PARENT_TYPE>
 
   67     while (it != NULL && qobject_cast<PARENT_TYPE*>(it) == NULL)
 
   69     return qobject_cast<PARENT_TYPE*>(it);
 
   73 template<
typename QOBJECT, 
typename ENUM>
 
   76     const QMetaObject& metaObj = QOBJECT::staticMetaObject;
 
   77     const int enumIndex = metaObj.indexOfEnumerator(enumName);
 
   78     if (enumIndex != -1) {
 
   79         const QMetaEnum metaEnum = metaObj.enumerator(enumIndex);
 
   80         if (metaEnum.valueToKey(value) != 
nullptr)
 
   81             return static_cast<ENUM>(value);
 
   84     return static_cast<ENUM
>(value);
 
   93 template<
typename QOBJECT, 
typename ENUM>
 
   96     std::vector<ENUM> enumValueVec;
 
   97     const int enumIndex = QOBJECT::staticMetaObject.indexOfEnumerator(enumName);
 
   98     if (enumIndex != -1) {
 
   99         const QMetaEnum metaEnum = QOBJECT::staticMetaObject.enumerator(enumIndex);
 
  100         enumValueVec.reserve(metaEnum.keyCount());
 
  101         for (
int i = 0; i < metaEnum.keyCount(); ++i) {
 
  102             const int enumValueAsInt = metaEnum.value(i);
 
  103             if (enumValueAsInt != -1)
 
  104                 enumValueVec.push_back(static_cast<ENUM>(enumValueAsInt));
 
Provides a collection of tools around QObject. 
Definition: qobject_utils.h:25
 
static ENUM toQEnumValue(const char *enumName, int value)
Safe cast of an integer to a Q_ENUM value. 
Definition: qobject_utils.h:74
 
#define QTTOOLS_CORE_EXPORT
Definition: core.h:27
 
Definition: grid_numbering.cpp:19
 
static PARENT_TYPE * findParent(QObject *object)
Definition: qobject_utils.h:64
 
static const PARENT_TYPE * constFindParent(const QObject *object)
Definition: qobject_utils.h:58
 
static std::vector< ENUM > allQEnumValues(const char *enumName)
All enumerator values of QOBJECT::ENUM returned in a single array. 
Definition: qobject_utils.h:94