summaryrefslogtreecommitdiffstats
path: root/src/modeling/qmodelingobject.cpp
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-10-09 20:19:34 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-10-10 01:23:16 +0200
commitdc76a0dc87fe7ee0f94e96881990a4e83911fd8e (patch)
treef5b0731e183ecfe8c8d0a888a966508984d921db /src/modeling/qmodelingobject.cpp
parent01ae27fe58be35914b0c4f573782f90242a9bfd9 (diff)
Further refactoring in QtModeling (initial step)
Change-Id: Id8ca8a50edefeeb5c71206e96adbc4777eb82ccd Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'src/modeling/qmodelingobject.cpp')
-rw-r--r--src/modeling/qmodelingobject.cpp55
1 files changed, 53 insertions, 2 deletions
diff --git a/src/modeling/qmodelingobject.cpp b/src/modeling/qmodelingobject.cpp
index 015f6d50..a6516b51 100644
--- a/src/modeling/qmodelingobject.cpp
+++ b/src/modeling/qmodelingobject.cpp
@@ -39,10 +39,61 @@
**
****************************************************************************/
#include "qmodelingobject.h"
+#include "qmodelingobject_p.h"
QT_BEGIN_NAMESPACE
-QHash< QString, QHash< QString, QHash<QtModeling::MetaPropertyDataRole, QVariant> > > QModelingObject::propertyDataHash;
+QHash< QString, QHash< QString, QHash<QtModeling::MetaPropertyDataRole, QVariant> > > QModelingObjectPrivate::propertyDataHash;
-QT_END_NAMESPACE
+QModelingObjectPrivate::QModelingObjectPrivate()
+{
+}
+QModelingObjectPrivate::~QModelingObjectPrivate()
+{
+ qDeleteAll(groupProperties);
+}
+
+QModelingObject::~QModelingObject()
+{
+}
+
+bool QModelingObject::isPropertyModified(QMetaProperty metaProperty) const
+{
+ Q_D(const QModelingObject);
+ return d->modifiedResettableProperties.contains(QString::fromLatin1(metaProperty.name()));
+}
+
+QVariant QModelingObject::propertyData(QString className, QMetaProperty metaProperty, QtModeling::MetaPropertyDataRole role)
+{
+ return QModelingObjectPrivate::propertyDataHash[className][QString::fromLatin1(metaProperty.name())][role];
+}
+
+int QModelingObject::propertyGroupIndex(QMetaProperty metaProperty) const
+{
+ Q_D(const QModelingObject);
+ int groupIndex = 0;
+ foreach (QString group, d->propertyGroups) {
+ foreach (QMetaProperty *metaPropertyPointer, d->groupProperties.values(group))
+ if (metaPropertyPointer->name() == metaProperty.name())
+ return groupIndex;
+ ++groupIndex;
+ }
+ return -1;
+}
+
+const QStringList &QModelingObject::propertyGroups() const
+{
+ Q_D(const QModelingObject);
+ return d->propertyGroups;
+}
+
+const QStringList &QModelingObject::modifiedResettableProperties() const
+{
+ Q_D(const QModelingObject);
+ return d->modifiedResettableProperties;
+}
+
+QModelingObject::QModelingObject()
+{
+}