forked from qt-creator/qt-creator
QmlJS: Fix palette support
Fixes false positive warnings of having no members and allows to auto-complete its members. Fixes: QTCREATORBUG-23659 Change-Id: I4da43b9d3f005f9c6cc759ec424bf67062beff78 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
@@ -395,6 +395,8 @@ const Value *CppComponentValue::valueForCppName(const QString &typeName) const
|
||||
return valueOwner()->realValue();
|
||||
} else if (typeName == QLatin1String("QFont")) {
|
||||
return valueOwner()->qmlFontObject();
|
||||
} else if (typeName == QLatin1String("QPalette")) {
|
||||
return valueOwner()->qmlPaletteObject();
|
||||
} else if (typeName == QLatin1String("QPoint")
|
||||
|| typeName == QLatin1String("QPointF")
|
||||
|| typeName == QLatin1String("QVector2D")) {
|
||||
|
@@ -95,6 +95,7 @@ public:
|
||||
ObjectValue *_mathObject;
|
||||
ObjectValue *_qtObject;
|
||||
ObjectValue *_qmlFontObject;
|
||||
ObjectValue *_qmlPaletteObject;
|
||||
ObjectValue *_qmlPointObject;
|
||||
ObjectValue *_qmlSizeObject;
|
||||
ObjectValue *_qmlRectObject;
|
||||
@@ -496,6 +497,28 @@ SharedValueOwner::SharedValueOwner(SharedValueOwnerKind kind)
|
||||
_qmlFontObject->setMember(QLatin1String("kerning"), booleanValue());
|
||||
_qmlFontObject->setMember(QLatin1String("preferShaping"), booleanValue());
|
||||
|
||||
_qmlPaletteObject = newObject(/* prototype = */ nullptr);
|
||||
_qmlPaletteObject->setClassName(QLatin1String("palette"));
|
||||
_qmlPaletteObject->setMember(QLatin1String("alternateBase"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("base"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("brightText"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("button"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("buttonText"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("dark"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("highlight"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("highlightedText"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("light"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("link"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("linkVisited"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("mid"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("midlight"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("shadow"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("text"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("toolTipBase"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("toolTipText"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("window"), colorValue());
|
||||
_qmlPaletteObject->setMember(QLatin1String("windowText"), colorValue());
|
||||
|
||||
_qmlPointObject = newObject(/*prototype =*/ nullptr);
|
||||
_qmlPointObject->setClassName(QLatin1String("Point"));
|
||||
_qmlPointObject->setMember(QLatin1String("x"), numberValue());
|
||||
@@ -896,6 +919,11 @@ const ObjectValue *ValueOwner::qmlFontObject()
|
||||
return _shared->_qmlFontObject;
|
||||
}
|
||||
|
||||
const ObjectValue *ValueOwner::qmlPaletteObject()
|
||||
{
|
||||
return _shared->_qmlPaletteObject;
|
||||
}
|
||||
|
||||
const ObjectValue *ValueOwner::qmlPointObject()
|
||||
{
|
||||
return _shared->_qmlPointObject;
|
||||
|
@@ -82,6 +82,7 @@ public:
|
||||
|
||||
// QML objects
|
||||
const ObjectValue *qmlFontObject();
|
||||
const ObjectValue *qmlPaletteObject();
|
||||
const ObjectValue *qmlPointObject();
|
||||
const ObjectValue *qmlSizeObject();
|
||||
const ObjectValue *qmlRectObject();
|
||||
|
Reference in New Issue
Block a user