23 #ifndef KDSME_UTIL_OBJECTHELPER_H
24 #define KDSME_UTIL_OBJECTHELPER_H
26 #include "kdsme_core_export.h"
40 KDSME_CORE_EXPORT QString addressToString(
const void *p);
46 KDSME_CORE_EXPORT QString className(
const QObject*
object, DisplayOption option = NoStrip);
47 KDSME_CORE_EXPORT QString displayString(
const QObject *
object, DisplayOption option = NoStrip);
49 KDSME_CORE_EXPORT
const char* enumToString(
const QMetaObject* metaObject,
const char* name,
int value);
50 KDSME_CORE_EXPORT
int stringToEnum(
const QMetaObject* metaObject,
const char* name,
const char* key);
52 KDSME_CORE_EXPORT QString toString(
const QPointF& point);
53 KDSME_CORE_EXPORT QString toString(
const QSizeF& size);
54 KDSME_CORE_EXPORT QString toString(
const QRectF& rect);
63 KDSME_CORE_EXPORT
bool descendantOf(
const QObject *ascendant,
const QObject *
object);
70 KDSME_CORE_EXPORT
int depth(
const QObject* root,
const QObject*
object);
77 template<
class FilterType,
class ItemType>
78 QList<FilterType> copy_if_type(
const QList<ItemType> list) {
79 QList<FilterType> filteredList;
80 Q_FOREACH (
const ItemType
object, list) {
81 if (FilterType filterObject = qobject_cast<FilterType>(
object))
82 filteredList << filterObject;
92 template<
class C,
class P>
93 C filter(
const C& source,
const P& predicate)
97 d.erase(std::remove_if(std::begin(d), std::end(d), predicate), std::end(d));
108 template <
typename T>
109 T *findParentOfType(QObject *
object) {
113 if (qobject_cast<T*>(
object)) {
114 return static_cast<T*
>(object);
116 return findParentOfType<T>(
object->parent());
Definition: abstractexporter.h:33