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();
|
return valueOwner()->realValue();
|
||||||
} else if (typeName == QLatin1String("QFont")) {
|
} else if (typeName == QLatin1String("QFont")) {
|
||||||
return valueOwner()->qmlFontObject();
|
return valueOwner()->qmlFontObject();
|
||||||
|
} else if (typeName == QLatin1String("QPalette")) {
|
||||||
|
return valueOwner()->qmlPaletteObject();
|
||||||
} else if (typeName == QLatin1String("QPoint")
|
} else if (typeName == QLatin1String("QPoint")
|
||||||
|| typeName == QLatin1String("QPointF")
|
|| typeName == QLatin1String("QPointF")
|
||||||
|| typeName == QLatin1String("QVector2D")) {
|
|| typeName == QLatin1String("QVector2D")) {
|
||||||
|
@@ -95,6 +95,7 @@ public:
|
|||||||
ObjectValue *_mathObject;
|
ObjectValue *_mathObject;
|
||||||
ObjectValue *_qtObject;
|
ObjectValue *_qtObject;
|
||||||
ObjectValue *_qmlFontObject;
|
ObjectValue *_qmlFontObject;
|
||||||
|
ObjectValue *_qmlPaletteObject;
|
||||||
ObjectValue *_qmlPointObject;
|
ObjectValue *_qmlPointObject;
|
||||||
ObjectValue *_qmlSizeObject;
|
ObjectValue *_qmlSizeObject;
|
||||||
ObjectValue *_qmlRectObject;
|
ObjectValue *_qmlRectObject;
|
||||||
@@ -496,6 +497,28 @@ SharedValueOwner::SharedValueOwner(SharedValueOwnerKind kind)
|
|||||||
_qmlFontObject->setMember(QLatin1String("kerning"), booleanValue());
|
_qmlFontObject->setMember(QLatin1String("kerning"), booleanValue());
|
||||||
_qmlFontObject->setMember(QLatin1String("preferShaping"), 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 = newObject(/*prototype =*/ nullptr);
|
||||||
_qmlPointObject->setClassName(QLatin1String("Point"));
|
_qmlPointObject->setClassName(QLatin1String("Point"));
|
||||||
_qmlPointObject->setMember(QLatin1String("x"), numberValue());
|
_qmlPointObject->setMember(QLatin1String("x"), numberValue());
|
||||||
@@ -896,6 +919,11 @@ const ObjectValue *ValueOwner::qmlFontObject()
|
|||||||
return _shared->_qmlFontObject;
|
return _shared->_qmlFontObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const ObjectValue *ValueOwner::qmlPaletteObject()
|
||||||
|
{
|
||||||
|
return _shared->_qmlPaletteObject;
|
||||||
|
}
|
||||||
|
|
||||||
const ObjectValue *ValueOwner::qmlPointObject()
|
const ObjectValue *ValueOwner::qmlPointObject()
|
||||||
{
|
{
|
||||||
return _shared->_qmlPointObject;
|
return _shared->_qmlPointObject;
|
||||||
|
@@ -82,6 +82,7 @@ public:
|
|||||||
|
|
||||||
// QML objects
|
// QML objects
|
||||||
const ObjectValue *qmlFontObject();
|
const ObjectValue *qmlFontObject();
|
||||||
|
const ObjectValue *qmlPaletteObject();
|
||||||
const ObjectValue *qmlPointObject();
|
const ObjectValue *qmlPointObject();
|
||||||
const ObjectValue *qmlSizeObject();
|
const ObjectValue *qmlSizeObject();
|
||||||
const ObjectValue *qmlRectObject();
|
const ObjectValue *qmlRectObject();
|
||||||
|
Reference in New Issue
Block a user