///////////////////////////////////////////////////////////////////////////////
// Style rules
-#define WIDGET(x) (static_cast<QWidget *>(x.ptr))
+#define OBJECT_PTR(x) (static_cast<QObject *>(x.ptr))
static inline QObject *parentObject(const QObject *obj)
{
{
if (isNullNode(node))
return QStringList();
- const QMetaObject *metaObject = WIDGET(node)->metaObject();
+ const QMetaObject *metaObject = OBJECT_PTR(node)->metaObject();
#ifndef QT_NO_TOOLTIP
if (qstrcmp(metaObject->className(), "QTipLabel") == 0)
return QStringList(QLatin1String("QToolTip"));
if (isNullNode(node))
return QString();
- QHash<QString, QString> &cache = m_attributeCache[WIDGET(node)];
+ QHash<QString, QString> &cache = m_attributeCache[OBJECT_PTR(node)];
QHash<QString, QString>::const_iterator cacheIt = cache.constFind(name);
if (cacheIt != cache.constEnd())
return cacheIt.value();
- QVariant value = WIDGET(node)->property(name.toLatin1());
+ QObject *obj = OBJECT_PTR(node);
+ QVariant value = obj->property(name.toLatin1());
if (!value.isValid()) {
if (name == QLatin1String("class")) {
- QString className = QString::fromLatin1(WIDGET(node)->metaObject()->className());
+ QString className = QString::fromLatin1(obj->metaObject()->className());
if (className.contains(QLatin1Char(':')))
className.replace(QLatin1Char(':'), QLatin1Char('-'));
cache[name] = className;
return className;
} else if (name == QLatin1String("style")) {
- QStyleSheetStyle *proxy = qobject_cast<QStyleSheetStyle *>(WIDGET(node)->style());
+ QWidget *w = qobject_cast<QWidget *>(obj);
+ QStyleSheetStyle *proxy = w ? qobject_cast<QStyleSheetStyle *>(w->style()) : 0;
if (proxy) {
QString styleName = QString::fromLatin1(proxy->baseStyle()->metaObject()->className());
cache[name] = styleName;
{
if (isNullNode(node))
return false;
- const QMetaObject *metaObject = WIDGET(node)->metaObject();
+ const QMetaObject *metaObject = OBJECT_PTR(node)->metaObject();
#ifndef QT_NO_TOOLTIP
if (qstrcmp(metaObject->className(), "QTipLabel") == 0)
return nodeName == QLatin1String("QToolTip");
bool hasAttributes(NodePtr) const
{ return true; }
QStringList nodeIds(NodePtr node) const
- { return isNullNode(node) ? QStringList() : QStringList(WIDGET(node)->objectName()); }
+ { return isNullNode(node) ? QStringList() : QStringList(OBJECT_PTR(node)->objectName()); }
bool isNullNode(NodePtr node) const
{ return node.ptr == 0; }
NodePtr parentNode(NodePtr node) const
- { NodePtr n; n.ptr = isNullNode(node) ? 0 : parentObject(WIDGET(node)); return n; }
+ { NodePtr n; n.ptr = isNullNode(node) ? 0 : parentObject(OBJECT_PTR(node)); return n; }
NodePtr previousSiblingNode(NodePtr) const
{ NodePtr n; n.ptr = 0; return n; }
NodePtr duplicateNode(NodePtr node) const
{ }
private:
- mutable QHash<const QWidget *, QHash<QString, QString> > m_attributeCache;
+ mutable QHash<const QObject *, QHash<QString, QString> > m_attributeCache;
};
QVector<QCss::StyleRule> QStyleSheetStyle::styleRules(const QObject *obj) const