7#include <QtSvg/private/qsvgnode_p.h>
8#include <QtSvg/private/qsvgstructure_p.h>
12QSvgStyleSelector::QSvgStyleSelector()
14 nameCaseSensitivity = Qt::CaseInsensitive;
23 return (QSvgNode*)node.ptr;
29 (n->type() == QSvgNode::Doc ||
30 n->type() == QSvgNode::Group ||
31 n->type() == QSvgNode::Defs ||
32 n->type() == QSvgNode::Switch)) {
33 return (QSvgStructureNode*)n;
40 QSvgNode *n = svgNode(node);
47 QSvgNode *n = svgNode(node);
50 return QString::compare(n->typeName(), nodeName, Qt::CaseInsensitive) == 0;
55 const QString &name = asel.name;
56 QSvgNode *n = svgNode(node);
57 if ((!n->nodeId().isEmpty() && (name == QLatin1String(
"id") ||
58 name == QLatin1String(
"xml:id"))))
60 if (!n->xmlClass().isEmpty() && name == QLatin1String(
"class"))
67 QSvgNode *n = svgNode(node);
69 (!n->nodeId().isEmpty() || !n->xmlClass().isEmpty()));
74 QSvgNode *n = svgNode(node);
78 QStringList lst; lst.append(nid);
84 QSvgNode *n = svgNode(node);
86 return QStringList(n->typeName());
97 QSvgNode *n = svgNode(node);
102 QSvgNode *svgParent = n->parent();
104 newNode.ptr = svgParent;
116 QSvgNode *n = svgNode(node);
122 newNode.ptr = svgParent->previousSiblingNode(n);
QStringList nodeNames(NodePtr node) const override
QSvgStructureNode * svgStructure(NodePtr node) const
bool hasAttributes(NodePtr node) const override
QString attributeValue(NodePtr node, const QCss::AttributeSelector &asel) const override
bool isNullNode(NodePtr node) const override
QSvgStructureNode * nodeToStructure(QSvgNode *n) const
void freeNode(NodePtr node) const override
NodePtr duplicateNode(NodePtr node) const override
QSvgNode * svgNode(NodePtr node) const
NodePtr parentNode(NodePtr node) const override
virtual ~QSvgStyleSelector()
QStringList nodeIds(NodePtr node) const override
NodePtr previousSiblingNode(NodePtr node) const override
bool nodeNameEquals(NodePtr node, const QString &nodeName) const override
Combined button and popup list for selecting options.