summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-11-27 10:44:11 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-11-27 14:48:36 +0100
commit480140149c6ebd4a90da2227e022f51aeec935a1 (patch)
tree7da48de4bc66b05af5816809c230d6e2d5d1bec3 /src
parenta0986a9f3f90633d620034d2f722467980f9383e (diff)
Add some improvements in property editor
Change-Id: Ib049d9c4b3def3face6cebf32d07972aa6bbae28 Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'src')
-rw-r--r--src/modeling/qmodelingobject.cpp7
-rw-r--r--src/modeling/qmodelingobject.h1
-rw-r--r--src/modelingwidgets/qmodelingobjectpropertymodel.cpp8
3 files changed, 15 insertions, 1 deletions
diff --git a/src/modeling/qmodelingobject.cpp b/src/modeling/qmodelingobject.cpp
index 15f4f1d6..a4786c14 100644
--- a/src/modeling/qmodelingobject.cpp
+++ b/src/modeling/qmodelingobject.cpp
@@ -163,6 +163,13 @@ bool QModelingObject::isKindOf(QString type) const
return d->propertyGroups.contains(type);
}
+void QModelingObject::setObjectName(const QString &name)
+{
+ QObject::setObjectName(name);
+ if (metaObject()->indexOfProperty("name") != -1)
+ setProperty("name", name);
+}
+
/*!
Creates a new QModelingObject with the given \a parent. This is a protected constructor
since this class is not intended to be directly instantiated.
diff --git a/src/modeling/qmodelingobject.h b/src/modeling/qmodelingobject.h
index d6e3cf56..54b15acf 100644
--- a/src/modeling/qmodelingobject.h
+++ b/src/modeling/qmodelingobject.h
@@ -73,6 +73,7 @@ public:
const QMultiHash<QString, QMetaProperty *> &groupProperties() const;
QStringList &modifiedResettableProperties();
Q_INVOKABLE bool isKindOf(QString type) const;
+ void setObjectName(const QString &name);
static QHash< QString, QHash< QString, QHash<QtModeling::MetaPropertyDataRole, QVariant> > > propertyDataHash;
diff --git a/src/modelingwidgets/qmodelingobjectpropertymodel.cpp b/src/modelingwidgets/qmodelingobjectpropertymodel.cpp
index b73d6ee7..cd06ccbb 100644
--- a/src/modelingwidgets/qmodelingobjectpropertymodel.cpp
+++ b/src/modelingwidgets/qmodelingobjectpropertymodel.cpp
@@ -256,7 +256,10 @@ QVariant QModelingObjectPropertyModel::data(const QModelIndex &index, int role)
return !str.isEmpty() ? str:QVariant();
}
}
- return QVariant();
+ if (QString::fromLatin1(metaProperty->typeName()).endsWith('*'))
+ return QStringLiteral("undefined");
+ else
+ return QVariant();
}
default:
Q_ASSERT(false);
@@ -279,6 +282,9 @@ QVariant QModelingObjectPropertyModel::data(const QModelIndex &index, int role)
font.setItalic(true);
}
}
+ if (QString::fromLatin1(metaProperty->typeName()).endsWith('*')) {
+ font.setItalic(true);
+ }
if (metaProperty->isValid() && index.column() == 0 && metaProperty->isResettable())
font.setBold(d->modelingObject->isPropertyModified(*metaProperty));
if (metaProperty->isValid() && index.column() == 0)