Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qcssparser_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QCSSPARSER_P_H
5#define QCSSPARSER_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtGui/private/qtguiglobal_p.h>
19#include <QtCore/QStringList>
20#include <QtCore/QList>
21#include <QtCore/QVariant>
22#include <QtCore/QSize>
23#include <QtCore/QMultiHash>
24#include <QtGui/QFont>
25#include <QtGui/QPalette>
26#include <QtCore/QSharedData>
27
29class QIcon;
31
32#ifndef QT_NO_CSSPARSER
33
34// VxWorks defines NONE as (-1) "for times when NULL won't do"
35#if defined(Q_OS_VXWORKS) && defined(NONE)
36# undef NONE
37#endif
38#if defined(Q_OS_INTEGRITY)
39# undef Value
40#endif
41// Hurd has #define TILDE 0x00080000 from <sys/ioctl.h>
42#if defined(TILDE)
43# undef TILDE
44#endif
45
46#define QT_CSS_DECLARE_TYPEINFO(Class, Type) \
47 } /* namespace QCss */ \
48 Q_DECLARE_TYPEINFO(QCss:: Class, Type); \
49 namespace QCss {
50
52
53namespace QCss
54{
55
180
241
242 /* keep these in same order as QPalette::ColorRole */
262
268
271
288
296
303
311
320
329
338
345
352
376
377struct ColorData {
378 ColorData() : role(QPalette::NoRole), type(Invalid) {}
379 ColorData(const QColor &col) : color(col), role(QPalette::NoRole), type(Color) {}
383 enum { Invalid, Color, Role} type;
384};
386
387struct BrushData {
388 BrushData() : role(QPalette::NoRole), type(Invalid) {}
389 BrushData(const QBrush &br) : brush(br), role(QPalette::NoRole), type(Brush) {}
393 enum { Invalid, Brush, Role, DependsOnThePalette } type;
394};
396
404
407 enum { None, Px, Ex, Em, Percent } unit;
408};
410
417
418// 1. StyleRule - x:hover, y:clicked > z:checked { prop1: value1; prop2: value2; }
419// 2. QList<Selector> - x:hover, y:clicked z:checked
420// 3. QList<BasicSelector> - y:clicked z:checked
421// 4. QList<Declaration> - { prop1: value1; prop2: value2; }
422// 5. Declaration - prop1: value1;
423
424struct Q_GUI_EXPORT Declaration
425{
427 {
428 inline DeclarationData() : propertyId(UnknownProperty), important(false), inheritable(false) {}
431 QList<Value> values;
433 bool important:1;
435 };
436 QExplicitlySharedDataPointer<DeclarationData> d;
437 inline Declaration() : d(new DeclarationData()) {}
438 inline bool isEmpty() const { return d->property.isEmpty() && d->propertyId == UnknownProperty; }
439
440 // helper functions
441 QColor colorValue(const QPalette & = QPalette()) const;
442 void colorValues(QColor *c, const QPalette & = QPalette()) const;
443 QBrush brushValue(const QPalette & = QPalette()) const;
444 void brushValues(QBrush *c, const QPalette & = QPalette()) const;
445
446 BorderStyle styleValue() const;
447 void styleValues(BorderStyle *s) const;
448
449 Origin originValue() const;
450 Repeat repeatValue() const;
451 Qt::Alignment alignmentValue() const;
452 PositionMode positionValue() const;
453 Attachment attachmentValue() const;
454 int styleFeaturesValue() const;
455
456 bool intValue(int *i, const char *unit = nullptr) const;
457 bool realValue(qreal *r, const char *unit = nullptr) const;
458
459 QSize sizeValue() const;
460 QRect rectValue() const;
461 QString uriValue() const;
462 QIcon iconValue() const;
463
464 void borderImageValue(QString *image, int *cuts, TileMode *h, TileMode *v) const;
465 bool borderCollapseValue() const;
466
467 QList<qreal> dashArray() const;
468};
470
471const quint64 PseudoClass_Unknown = Q_UINT64_C(0x0000000000000000);
472const quint64 PseudoClass_Enabled = Q_UINT64_C(0x0000000000000001);
473const quint64 PseudoClass_Disabled = Q_UINT64_C(0x0000000000000002);
474const quint64 PseudoClass_Pressed = Q_UINT64_C(0x0000000000000004);
475const quint64 PseudoClass_Focus = Q_UINT64_C(0x0000000000000008);
476const quint64 PseudoClass_Hover = Q_UINT64_C(0x0000000000000010);
477const quint64 PseudoClass_Checked = Q_UINT64_C(0x0000000000000020);
478const quint64 PseudoClass_Unchecked = Q_UINT64_C(0x0000000000000040);
479const quint64 PseudoClass_Indeterminate = Q_UINT64_C(0x0000000000000080);
480const quint64 PseudoClass_Unspecified = Q_UINT64_C(0x0000000000000100);
481const quint64 PseudoClass_Selected = Q_UINT64_C(0x0000000000000200);
482const quint64 PseudoClass_Horizontal = Q_UINT64_C(0x0000000000000400);
483const quint64 PseudoClass_Vertical = Q_UINT64_C(0x0000000000000800);
484const quint64 PseudoClass_Window = Q_UINT64_C(0x0000000000001000);
485const quint64 PseudoClass_Children = Q_UINT64_C(0x0000000000002000);
486const quint64 PseudoClass_Sibling = Q_UINT64_C(0x0000000000004000);
487const quint64 PseudoClass_Default = Q_UINT64_C(0x0000000000008000);
488const quint64 PseudoClass_First = Q_UINT64_C(0x0000000000010000);
489const quint64 PseudoClass_Last = Q_UINT64_C(0x0000000000020000);
490const quint64 PseudoClass_Middle = Q_UINT64_C(0x0000000000040000);
491const quint64 PseudoClass_OnlyOne = Q_UINT64_C(0x0000000000080000);
493const quint64 PseudoClass_NextSelected = Q_UINT64_C(0x0000000000200000);
494const quint64 PseudoClass_Flat = Q_UINT64_C(0x0000000000400000);
495const quint64 PseudoClass_Left = Q_UINT64_C(0x0000000000800000);
496const quint64 PseudoClass_Right = Q_UINT64_C(0x0000000001000000);
497const quint64 PseudoClass_Top = Q_UINT64_C(0x0000000002000000);
498const quint64 PseudoClass_Bottom = Q_UINT64_C(0x0000000004000000);
499const quint64 PseudoClass_Exclusive = Q_UINT64_C(0x0000000008000000);
500const quint64 PseudoClass_NonExclusive = Q_UINT64_C(0x0000000010000000);
501const quint64 PseudoClass_Frameless = Q_UINT64_C(0x0000000020000000);
502const quint64 PseudoClass_ReadOnly = Q_UINT64_C(0x0000000040000000);
503const quint64 PseudoClass_Active = Q_UINT64_C(0x0000000080000000);
504const quint64 PseudoClass_Closable = Q_UINT64_C(0x0000000100000000);
505const quint64 PseudoClass_Movable = Q_UINT64_C(0x0000000200000000);
506const quint64 PseudoClass_Floatable = Q_UINT64_C(0x0000000400000000);
507const quint64 PseudoClass_Minimized = Q_UINT64_C(0x0000000800000000);
508const quint64 PseudoClass_Maximized = Q_UINT64_C(0x0000001000000000);
509const quint64 PseudoClass_On = Q_UINT64_C(0x0000002000000000);
510const quint64 PseudoClass_Off = Q_UINT64_C(0x0000004000000000);
511const quint64 PseudoClass_Editable = Q_UINT64_C(0x0000008000000000);
512const quint64 PseudoClass_Item = Q_UINT64_C(0x0000010000000000);
513const quint64 PseudoClass_Closed = Q_UINT64_C(0x0000020000000000);
514const quint64 PseudoClass_Open = Q_UINT64_C(0x0000040000000000);
515const quint64 PseudoClass_EditFocus = Q_UINT64_C(0x0000080000000000);
516const quint64 PseudoClass_Alternate = Q_UINT64_C(0x0000100000000000);
517// The Any specifier is never generated, but can be used as a wildcard in searches.
518const quint64 PseudoClass_Any = Q_UINT64_C(0x0000ffffffffffff);
519const int NumPseudos = 45;
520
530
548
570
571struct Q_GUI_EXPORT Selector
572{
573 QList<BasicSelector> basicSelectors;
574 int specificity() const;
575 quint64 pseudoClass(quint64 *negated = nullptr) const;
576 QString pseudoElement() const;
577};
579
581{
582 StyleRule() : order(0) { }
583 QList<Selector> selectors;
584 QList<Declaration> declarations;
585 int order;
586};
588
590{
592 QList<StyleRule> styleRules;
593};
595
597{
599 QList<Declaration> declarations;
600};
602
609
617
619{
621 QList<StyleRule> styleRules; // only contains rules that are not indexed
622 QList<MediaRule> mediaRules;
623 QList<PageRule> pageRules;
624 QList<ImportRule> importRules;
626 int depth; // applicable only for inline style sheets
627 QMultiHash<QString, StyleRule> nameIndex;
628 QMultiHash<QString, StyleRule> idIndex;
629
630 Q_GUI_EXPORT void buildIndexes(Qt::CaseSensitivity nameCaseSensitivity = Qt::CaseSensitive);
631};
633
634
635class Q_GUI_EXPORT StyleSelector
636{
637public:
638 StyleSelector() : nameCaseSensitivity(Qt::CaseSensitive) {}
639 virtual ~StyleSelector();
640
641 union NodePtr {
642 void *ptr;
643 int id;
644 };
645
646 QList<StyleRule> styleRulesForNode(NodePtr node);
647 QList<Declaration> declarationsForNode(NodePtr node, const char *extraPseudo = nullptr);
648
649 virtual bool nodeNameEquals(NodePtr node, const QString& nodeName) const;
650 virtual QString attributeValue(NodePtr node, const QCss::AttributeSelector &aSelector) const = 0;
651 virtual bool hasAttributes(NodePtr node) const = 0;
652 virtual QStringList nodeIds(NodePtr node) const;
653 virtual QStringList nodeNames(NodePtr node) const = 0;
654 virtual bool isNullNode(NodePtr node) const = 0;
655 virtual NodePtr parentNode(NodePtr node) const = 0;
656 virtual NodePtr previousSiblingNode(NodePtr node) const = 0;
657 virtual NodePtr duplicateNode(NodePtr node) const = 0;
658 virtual void freeNode(NodePtr node) const = 0;
659
660 QList<StyleSheet> styleSheets;
663private:
664 void matchRule(NodePtr node, const StyleRule &rules, StyleSheetOrigin origin,
665 int depth, QMultiMap<uint, StyleRule> *weightedRules);
666 bool selectorMatches(const Selector &rule, NodePtr node);
667 bool basicSelectorMatches(const BasicSelector &rule, NodePtr node);
668};
669
721
722struct Symbol
723{
724 inline Symbol() : token(NONE), start(0), len(-1) {}
727 int start, len;
728 Q_GUI_EXPORT QString lexem() const;
729};
731
732class Q_GUI_EXPORT Scanner
733{
734public:
735 static QString preprocess(const QString &input, bool *hasEscapeSequences = nullptr);
736 static void scan(const QString &preprocessedInput, QList<Symbol> *symbols);
737};
738
739class Q_GUI_EXPORT Parser
740{
741public:
742 Parser();
743 explicit Parser(const QString &css, bool file = false);
744
745 void init(const QString &css, bool file = false);
746 bool parse(StyleSheet *styleSheet, Qt::CaseSensitivity nameCaseSensitivity = Qt::CaseSensitive);
747 Symbol errorSymbol();
748
749 bool parseImport(ImportRule *importRule);
750 bool parseMedia(MediaRule *mediaRule);
751 bool parseMedium(QStringList *media);
752 bool parsePage(PageRule *pageRule);
753 bool parsePseudoPage(QString *selector);
754 bool parseNextOperator(Value *value);
755 bool parseCombinator(BasicSelector::Relation *relation);
756 bool parseProperty(Declaration *decl);
757 bool parseRuleset(StyleRule *styleRule);
758 bool parseSelector(Selector *sel);
759 bool parseSimpleSelector(BasicSelector *basicSel);
760 bool parseClass(QString *name);
761 bool parseElementName(QString *name);
762 bool parseAttrib(AttributeSelector *attr);
763 bool parsePseudo(Pseudo *pseudo);
764 bool parseNextDeclaration(Declaration *declaration);
765 bool parsePrio(Declaration *declaration);
766 bool parseExpr(QList<Value> *values);
767 bool parseTerm(Value *value);
768 bool parseFunction(QString *name, QString *args);
769 bool parseHexColor(QColor *col);
770 bool testAndParseUri(QString *uri);
771
772 inline bool testRuleset() { return testSelector(); }
773 inline bool testSelector() { return testSimpleSelector(); }
774 inline bool parseNextSelector(Selector *sel) { if (!testSelector()) return recordError(); return parseSelector(sel); }
775 bool testSimpleSelector();
776 inline bool parseNextSimpleSelector(BasicSelector *basicSel) { if (!testSimpleSelector()) return recordError(); return parseSimpleSelector(basicSel); }
777 inline bool testElementName() { return test(IDENT) || test(STAR); }
778 inline bool testClass() { return test(DOT); }
779 inline bool testAttrib() { return test(LBRACKET); }
780 inline bool testPseudo() { return test(COLON); }
781 inline bool testMedium() { return test(IDENT); }
782 inline bool parseNextMedium(QStringList *media) { if (!testMedium()) return recordError(); return parseMedium(media); }
783 inline bool testPseudoPage() { return test(COLON); }
784 inline bool testImport() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1StringView("import")); }
785 inline bool testMedia() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1StringView("media")); }
786 inline bool testPage() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1StringView("page")); }
787 inline bool testCombinator() { return test(PLUS) || test(GREATER) || test(TILDE) || test(S); }
788 inline bool testProperty() { return test(IDENT); }
789 bool testTerm();
790 inline bool testExpr() { return testTerm(); }
791 inline bool parseNextExpr(QList<Value> *values)
792 {
793 if (!testExpr())
794 return recordError();
795 return parseExpr(values);
796 }
797 bool testPrio();
798 inline bool testHexColor() { return test(HASH); }
799 inline bool testFunction() { return test(FUNCTION); }
800 inline bool parseNextFunction(QString *name, QString *args) { if (!testFunction()) return recordError(); return parseFunction(name, args); }
801
802 inline bool lookupElementName() const { return lookup() == IDENT || lookup() == STAR; }
803
804 inline void skipSpace() { while (test(S)) {}; }
805
806 inline bool hasNext() const { return index < symbols.size(); }
807 inline TokenType next() { return symbols.at(index++).token; }
808 bool next(TokenType t);
809 bool test(TokenType t);
810 inline void prev() { index--; }
811 inline const Symbol &symbol() const { return symbols.at(index - 1); }
812 inline QString lexem() const { return symbol().lexem(); }
813 QString unquotedLexem() const;
814 QString lexemUntil(TokenType t);
815 bool until(TokenType target, TokenType target2 = NONE);
816 inline TokenType lookup() const {
817 return (index - 1) < symbols.size() ? symbols.at(index - 1).token : NONE;
818 }
819
820 bool testTokenAndEndsWith(TokenType t, QLatin1StringView str);
821
822 inline bool recordError() { errorIndex = index; return false; }
823
824 QList<Symbol> symbols;
825 int index;
829};
830
831struct Q_GUI_EXPORT ValueExtractor
832{
833 ValueExtractor(const QList<Declaration> &declarations, const QPalette & = QPalette());
834
835 bool extractFont(QFont *font, int *fontSizeAdjustment);
836 bool extractBackground(QBrush *, QString *, Repeat *, Qt::Alignment *, QCss::Origin *, QCss::Attachment *,
837 QCss::Origin *);
838 bool extractGeometry(int *w, int *h, int *minw, int *minh, int *maxw, int *maxh);
839 bool extractPosition(int *l, int *t, int *r, int *b, QCss::Origin *, Qt::Alignment *,
840 QCss::PositionMode *, Qt::Alignment *);
841 bool extractBox(int *margins, int *paddings, int *spacing = nullptr);
842 bool extractBorder(int *borders, QBrush *colors, BorderStyle *Styles, QSize *radii);
843 bool extractOutline(int *borders, QBrush *colors, BorderStyle *Styles, QSize *radii, int *offsets);
844 bool extractPalette(QBrush *foreground, QBrush *selectedForeground, QBrush *selectedBackground,
845 QBrush *alternateBackground, QBrush *placeHolderTextForeground,
846 QBrush *accent);
847 int extractStyleFeatures();
848 bool extractImage(QIcon *icon, Qt::Alignment *a, QSize *size);
849 bool extractIcon(QIcon *icon, QSize *size);
850
851 void lengthValues(const Declaration &decl, int *m);
852 QTextLength textLength(const Declaration &decl);
853
854private:
855 void extractFont();
856 void borderValue(const Declaration &decl, int *width, QCss::BorderStyle *style, QBrush *color);
857 LengthData lengthValue(const Value& v);
858 int lengthValue(const Declaration &decl);
859 QSize sizeValue(const Declaration &decl);
860 void sizeValues(const Declaration &decl, QSize *radii);
861
862 QList<Declaration> declarations;
863 QFont f;
864 int adjustment;
865 int fontExtracted;
866 QPalette pal;
867};
868
869} // namespace QCss
870
872
873QT_DECL_METATYPE_EXTERN_TAGGED(QCss::BackgroundData, QCss__BackgroundData, Q_GUI_EXPORT)
874QT_DECL_METATYPE_EXTERN_TAGGED(QCss::LengthData, QCss__LengthData, Q_GUI_EXPORT)
875QT_DECL_METATYPE_EXTERN_TAGGED(QCss::BorderData, QCss__BorderData, Q_GUI_EXPORT)
876
877#undef QT_CSS_DECLARE_TYPEINFO
878
879#endif // QT_NO_CSSPARSER
880
881#endif
\inmodule QtGui
Definition qbrush.h:30
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition qcolor.h:31
bool testPseudoPage()
bool hasNext() const
bool testFunction()
bool testAttrib()
bool testSelector()
TokenType lookup() const
bool parseNextMedium(QStringList *media)
const Symbol & symbol() const
bool testPseudo()
bool parseNextFunction(QString *name, QString *args)
QString lexem() const
bool testRuleset()
bool parseNextExpr(QList< Value > *values)
bool parseNextSelector(Selector *sel)
bool testImport()
bool recordError()
QString sourcePath
bool testHexColor()
bool lookupElementName() const
bool testCombinator()
bool testMedium()
TokenType next()
bool parseNextSimpleSelector(BasicSelector *basicSel)
bool testElementName()
bool hasEscapeSequences
QList< Symbol > symbols
bool testProperty()
virtual NodePtr parentNode(NodePtr node) const =0
virtual QStringList nodeNames(NodePtr node) const =0
virtual NodePtr previousSiblingNode(NodePtr node) const =0
virtual void freeNode(NodePtr node) const =0
virtual bool hasAttributes(NodePtr node) const =0
virtual bool isNullNode(NodePtr node) const =0
QList< StyleSheet > styleSheets
virtual NodePtr duplicateNode(NodePtr node) const =0
virtual QString attributeValue(NodePtr node, const QCss::AttributeSelector &aSelector) const =0
Qt::CaseSensitivity nameCaseSensitivity
\reentrant
Definition qfont.h:22
The QIcon class provides scalable icons in different modes and states.
Definition qicon.h:20
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtCore
Definition qshareddata.h:19
\inmodule QtCore
Definition qsize.h:25
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\reentrant
Definition qtextformat.h:45
\inmodule QtCore
Definition qvariant.h:65
QString str
[2]
qreal spacing
short next
Definition keywords.cpp:445
const quint64 PseudoClass_Unknown
const quint64 PseudoClass_Floatable
const quint64 PseudoClass_Movable
@ BottomEdge
@ RightEdge
const int NumPseudos
const quint64 PseudoClass_Children
const quint64 PseudoClass_Disabled
const quint64 PseudoClass_Sibling
const quint64 PseudoClass_ReadOnly
const quint64 PseudoClass_Closed
const quint64 PseudoClass_Maximized
const quint64 PseudoClass_Default
@ Repeat_XY
@ Repeat_Unknown
@ Repeat_None
@ NumKnownRepeats
const quint64 PseudoClass_Bottom
@ TopRightCorner
@ BottomRightCorner
@ BottomLeftCorner
@ TopLeftCorner
const quint64 PseudoClass_EditFocus
const quint64 PseudoClass_Focus
const quint64 PseudoClass_Enabled
const quint64 PseudoClass_Editable
const quint64 PseudoClass_Vertical
const quint64 PseudoClass_Flat
const quint64 PseudoClass_NonExclusive
@ Origin_Padding
@ Origin_Content
@ NumKnownOrigins
@ Origin_Unknown
@ Origin_Margin
@ Origin_Border
@ ATKEYWORD_SYM
@ DASHMATCH
@ PERCENTAGE
@ BEGINSWITH
@ SEMICOLON
@ EXCLAMATION_SYM
const quint64 PseudoClass_Pressed
const quint64 PseudoClass_Item
const quint64 PseudoClass_Alternate
const quint64 PseudoClass_PreviousSelected
const quint64 PseudoClass_Closable
const quint64 PseudoClass_Horizontal
const quint64 PseudoClass_Off
const quint64 PseudoClass_Active
const quint64 PseudoClass_NextSelected
@ StyleFeature_BackgroundGradient
@ NumKnownStyleFeatures
@ StyleFeature_BackgroundColor
@ StyleFeature_None
const quint64 PseudoClass_Open
const quint64 PseudoClass_Frameless
const quint64 PseudoClass_Checked
const quint64 PseudoClass_Any
const quint64 PseudoClass_Selected
@ Attachment_Fixed
@ NumKnownAttachments
@ Attachment_Scroll
@ Attachment_Unknown
const quint64 PseudoClass_Right
@ Value_Disc
@ Value_Bottom
@ Value_Wave
@ Value_UpperRoman
@ Value_Oblique
@ Value_Selected
@ Value_XXLarge
@ Value_Decimal
@ Value_PreWrap
@ Value_Link
@ Value_Active
@ Value_Button
@ Value_Left
@ Value_Circle
@ Value_Medium
@ Value_Midlight
@ Value_SvgMiterJoin
@ Value_Pre
@ Value_SquareCap
@ Value_Normal
@ Value_LineThrough
@ Value_DotDotDash
@ Value_Square
@ Value_Small
@ Value_Groove
@ Value_Transparent
@ Value_LowerAlpha
@ Value_Off
@ Value_Solid
@ Value_Disabled
@ Value_Light
@ Value_Super
@ Value_NoWrap
@ Value_LastColorRole
@ Value_Base
@ Value_Outset
@ NumKnownValues
@ Value_Shadow
@ Value_Native
@ Value_ButtonText
@ Value_RoundJoin
@ Value_FirstColorRole
@ Value_LowerRoman
@ Value_Top
@ Value_None
@ Value_Highlight
@ Value_Bold
@ UnknownValue
@ Value_Dark
@ Value_Center
@ Value_Right
@ Value_Sub
@ Value_Text
@ Value_PreLine
@ Value_HighlightedText
@ Value_WindowText
@ Value_FlatCap
@ Value_Underline
@ Value_DotDash
@ Value_Uppercase
@ Value_Auto
@ Value_Inset
@ Value_Large
@ Value_XLarge
@ Value_MiterJoin
@ Value_SmallCaps
@ Value_RoundCap
@ Value_Double
@ Value_AlternateBase
@ Value_BevelJoin
@ Value_Mid
@ Value_Overline
@ Value_Ridge
@ Value_UpperAlpha
@ Value_Dashed
@ Value_BrightText
@ Value_Always
@ Value_LinkVisited
@ Value_Dotted
@ Value_Middle
@ Value_Window
@ Value_Lowercase
@ Value_Italic
@ BorderImage
@ BorderTopLeftRadius
@ BackgroundColor
@ Whitespace
@ OutlineTopLeftRadius
@ MarginLeft
@ QtAlternateBackground
@ QtStrokeMiterLimit
@ BorderTopColor
@ QtPlaceHolderTextColor
@ MarginRight
@ BorderBottomLeftRadius
@ QtStrokeDashArray
@ QtTableType
@ BorderBottom
@ Padding
@ QtStyleFeatures
@ BorderTopStyle
@ OutlineBottomRightRadius
@ FontKerning
@ NumProperties
@ BorderRightWidth
@ QtStrokeColor
@ PaddingRight
@ QtStrokeDashOffset
@ BackgroundOrigin
@ BorderBottomColor
@ UnknownProperty
@ MarginTop
@ TextUnderlineStyle
@ QtListIndent
@ PaddingLeft
@ PaddingTop
@ QtForeground
@ QtSpacing
@ BorderLeftColor
@ OutlineTopRightRadius
@ BorderRightColor
@ QtSelectionForeground
@ PaddingBottom
@ LetterSpacing
@ BorderBottomRightRadius
@ QtListNumberPrefix
@ OutlineWidth
@ PageBreakAfter
@ BorderRight
@ OutlineColor
@ OutlineBottomLeftRadius
@ FontWeight
@ QtBackgroundRole
@ QtForegroundTextureCacheKey
@ TextIndent
@ QtPosition
@ BorderColor
@ MarginBottom
@ MaximumWidth
@ QtUserState
@ OutlineStyle
@ BorderLeftWidth
@ BorderCollapse
@ QtBlockIndent
@ BackgroundPosition
@ WordSpacing
@ QtStrokeWidth
@ BackgroundImage
@ BorderRightStyle
@ FontStyle
@ TextTransform
@ FontFamily
@ FontVariant
@ BorderWidth
@ VerticalAlignment
@ LineHeight
@ QtParagraphType
@ QtSelectionBackground
@ BorderStyles
@ BorderLeft
@ TextDecoration
@ BorderTopRightRadius
@ ListStyleType
@ OutlineOffset
@ BorderRadius
@ ListStyle
@ QtStrokeLineJoin
@ BorderBottomWidth
@ Background
@ BorderTopWidth
@ OutlineRadius
@ MinimumWidth
@ BackgroundAttachment
@ TextAlignment
@ BackgroundClip
@ TextDecorationColor
@ QtListNumberSuffix
@ QtImageAlignment
@ BorderBottomStyle
@ BorderTop
@ FontSize
@ PageBreakBefore
@ QtLineHeightType
@ BackgroundRepeat
@ BorderLeftStyle
@ MinimumHeight
@ MaximumHeight
@ QtStrokeLineCap
const quint64 PseudoClass_Window
const quint64 PseudoClass_Minimized
@ TileMode_Unknown
@ TileMode_Repeat
@ NumKnownTileModes
@ TileMode_Round
@ TileMode_Stretch
StyleSheetOrigin
@ StyleSheetOrigin_UserAgent
@ StyleSheetOrigin_User
@ StyleSheetOrigin_Author
@ StyleSheetOrigin_Unspecified
@ StyleSheetOrigin_Inline
const quint64 PseudoClass_On
const quint64 PseudoClass_Unspecified
const quint64 PseudoClass_Unchecked
const quint64 PseudoClass_First
const quint64 PseudoClass_Indeterminate
const quint64 PseudoClass_Middle
@ PositionMode_Absolute
@ PositionMode_Relative
@ PositionMode_Unknown
@ PositionMode_Static
@ PositionMode_Fixed
@ NumKnownPositionModes
const quint64 PseudoClass_Top
const quint64 PseudoClass_Hover
@ BorderStyle_Dotted
@ BorderStyle_Solid
@ BorderStyle_Double
@ BorderStyle_DotDash
@ BorderStyle_Ridge
@ BorderStyle_Unknown
@ BorderStyle_Dashed
@ BorderStyle_Outset
@ BorderStyle_Groove
@ BorderStyle_Native
@ NumKnownBorderStyles
@ BorderStyle_None
@ BorderStyle_DotDotDash
@ BorderStyle_Inset
const quint64 PseudoClass_Left
const quint64 PseudoClass_Last
const quint64 PseudoClass_OnlyOne
const quint64 PseudoClass_Exclusive
Combined button and popup list for selecting options.
Definition qcompare.h:63
CaseSensitivity
@ CaseSensitive
Definition brush.cpp:5
Definition image.cpp:4
#define QT_CSS_DECLARE_TYPEINFO(Class, Type)
DBusConnection const char * rule
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
@ None
Definition qhash.cpp:531
@ Invalid
#define QT_DECL_METATYPE_EXTERN_TAGGED(TYPE, TAG, EXPORT)
Definition qmetatype.h:1376
GLenum GLsizei GLsizei GLint * values
[15]
GLboolean GLboolean GLboolean b
GLsizei const GLfloat * v
[13]
GLint GLenum GLsizei GLsizei GLsizei depth
const GLfloat * m
GLfloat GLfloat GLfloat w
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLuint index
[2]
GLboolean r
[2]
GLfloat GLfloat f
GLint GLsizei width
GLuint color
[2]
GLenum type
GLenum target
GLsizei const GLfloat * dashArray
GLuint start
GLuint name
GLfloat GLfloat GLfloat GLfloat h
GLdouble s
[6]
Definition qopenglext.h:235
const GLubyte * c
GLuint GLsizei const GLuint const GLintptr * offsets
GLdouble GLdouble t
Definition qopenglext.h:243
GLuint64EXT GLuint GLuint GLenum GLenum GLuint GLenum GLuint GLenum target2
GLenum GLsizei len
GLfixed GLfixed GLint GLint order
GLenum GLenum GLenum input
static QT_BEGIN_NAMESPACE const QRgb colors[][14]
static QString colorValue(QColor color)
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
@ Q_PRIMITIVE_TYPE
Definition qtypeinfo.h:157
@ Q_RELOCATABLE_TYPE
Definition qtypeinfo.h:158
#define Q_UINT64_C(c)
Definition qtypes.h:58
unsigned long long quint64
Definition qtypes.h:61
double qreal
Definition qtypes.h:187
QFile file
[0]
QFileSelector selector
[1]
QJSValueList args
Qt::Alignment alignment
QList< Pseudo > pseudos
QList< AttributeSelector > attributeSelectors
BorderStyle style
BrushData(QPalette::ColorRole r)
BrushData(const QBrush &br)
QPalette::ColorRole role
ColorData(const QColor &col)
QPalette::ColorRole role
ColorData(QPalette::ColorRole r)
QExplicitlySharedDataPointer< DeclarationData > d
bool isEmpty() const
QStringList media
QStringList media
QList< StyleRule > styleRules
QList< Declaration > declarations
QString function
QList< BasicSelector > basicSelectors
QList< Selector > selectors
QList< Declaration > declarations
QList< StyleRule > styleRules
QList< MediaRule > mediaRules
Q_GUI_EXPORT void buildIndexes(Qt::CaseSensitivity nameCaseSensitivity=Qt::CaseSensitive)
QMultiHash< QString, StyleRule > idIndex
QMultiHash< QString, StyleRule > nameIndex
StyleSheetOrigin origin
QList< ImportRule > importRules
QList< PageRule > pageRules
TokenType token
Q_GUI_EXPORT QString lexem() const
QVariant variant
Q_GUI_EXPORT QString toString() const
Definition moc.h:23