Qt 6.x
The Qt SDK
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
172
226
227 /* keep these in same order as QPalette::ColorRole */
247
253
256
273
274enum Edge {
281
282enum Corner {
288
296
297enum Repeat {
305
306enum Origin {
314
323
330
337
338struct Value
339{
340 enum Type {
353 };
354 inline Value() : type(Unknown) { }
357
358 Q_GUI_EXPORT QString toString() const;
359};
361
362struct ColorData {
363 ColorData() : role(QPalette::NoRole), type(Invalid) {}
364 ColorData(const QColor &col) : color(col), role(QPalette::NoRole), type(Color) {}
368 enum { Invalid, Color, Role} type;
369};
371
372struct BrushData {
373 BrushData() : role(QPalette::NoRole), type(Invalid) {}
374 BrushData(const QBrush &br) : brush(br), role(QPalette::NoRole), type(Brush) {}
378 enum { Invalid, Brush, Role, DependsOnThePalette } type;
379};
381
386 Qt::Alignment alignment;
387};
389
392 enum { None, Px, Ex, Em } unit;
393};
395
400};
402
403// 1. StyleRule - x:hover, y:clicked > z:checked { prop1: value1; prop2: value2; }
404// 2. QList<Selector> - x:hover, y:clicked z:checked
405// 3. QList<BasicSelector> - y:clicked z:checked
406// 4. QList<Declaration> - { prop1: value1; prop2: value2; }
407// 5. Declaration - prop1: value1;
408
409struct Q_GUI_EXPORT Declaration
410{
412 {
413 inline DeclarationData() : propertyId(UnknownProperty), important(false), inheritable(false) {}
418 bool important:1;
420 };
422 inline Declaration() : d(new DeclarationData()) {}
423 inline bool isEmpty() const { return d->property.isEmpty() && d->propertyId == UnknownProperty; }
424
425 // helper functions
426 QColor colorValue(const QPalette & = QPalette()) const;
427 void colorValues(QColor *c, const QPalette & = QPalette()) const;
428 QBrush brushValue(const QPalette & = QPalette()) const;
429 void brushValues(QBrush *c, const QPalette & = QPalette()) const;
430
431 BorderStyle styleValue() const;
432 void styleValues(BorderStyle *s) const;
433
434 Origin originValue() const;
435 Repeat repeatValue() const;
436 Qt::Alignment alignmentValue() const;
437 PositionMode positionValue() const;
438 Attachment attachmentValue() const;
439 int styleFeaturesValue() const;
440
441 bool intValue(int *i, const char *unit = nullptr) const;
442 bool realValue(qreal *r, const char *unit = nullptr) const;
443
444 QSize sizeValue() const;
445 QRect rectValue() const;
446 QString uriValue() const;
447 QIcon iconValue() const;
448
449 void borderImageValue(QString *image, int *cuts, TileMode *h, TileMode *v) const;
450 bool borderCollapseValue() const;
451};
453
454const quint64 PseudoClass_Unknown = Q_UINT64_C(0x0000000000000000);
455const quint64 PseudoClass_Enabled = Q_UINT64_C(0x0000000000000001);
456const quint64 PseudoClass_Disabled = Q_UINT64_C(0x0000000000000002);
457const quint64 PseudoClass_Pressed = Q_UINT64_C(0x0000000000000004);
458const quint64 PseudoClass_Focus = Q_UINT64_C(0x0000000000000008);
459const quint64 PseudoClass_Hover = Q_UINT64_C(0x0000000000000010);
460const quint64 PseudoClass_Checked = Q_UINT64_C(0x0000000000000020);
461const quint64 PseudoClass_Unchecked = Q_UINT64_C(0x0000000000000040);
462const quint64 PseudoClass_Indeterminate = Q_UINT64_C(0x0000000000000080);
463const quint64 PseudoClass_Unspecified = Q_UINT64_C(0x0000000000000100);
464const quint64 PseudoClass_Selected = Q_UINT64_C(0x0000000000000200);
465const quint64 PseudoClass_Horizontal = Q_UINT64_C(0x0000000000000400);
466const quint64 PseudoClass_Vertical = Q_UINT64_C(0x0000000000000800);
467const quint64 PseudoClass_Window = Q_UINT64_C(0x0000000000001000);
468const quint64 PseudoClass_Children = Q_UINT64_C(0x0000000000002000);
469const quint64 PseudoClass_Sibling = Q_UINT64_C(0x0000000000004000);
470const quint64 PseudoClass_Default = Q_UINT64_C(0x0000000000008000);
471const quint64 PseudoClass_First = Q_UINT64_C(0x0000000000010000);
472const quint64 PseudoClass_Last = Q_UINT64_C(0x0000000000020000);
473const quint64 PseudoClass_Middle = Q_UINT64_C(0x0000000000040000);
474const quint64 PseudoClass_OnlyOne = Q_UINT64_C(0x0000000000080000);
476const quint64 PseudoClass_NextSelected = Q_UINT64_C(0x0000000000200000);
477const quint64 PseudoClass_Flat = Q_UINT64_C(0x0000000000400000);
478const quint64 PseudoClass_Left = Q_UINT64_C(0x0000000000800000);
479const quint64 PseudoClass_Right = Q_UINT64_C(0x0000000001000000);
480const quint64 PseudoClass_Top = Q_UINT64_C(0x0000000002000000);
481const quint64 PseudoClass_Bottom = Q_UINT64_C(0x0000000004000000);
482const quint64 PseudoClass_Exclusive = Q_UINT64_C(0x0000000008000000);
483const quint64 PseudoClass_NonExclusive = Q_UINT64_C(0x0000000010000000);
484const quint64 PseudoClass_Frameless = Q_UINT64_C(0x0000000020000000);
485const quint64 PseudoClass_ReadOnly = Q_UINT64_C(0x0000000040000000);
486const quint64 PseudoClass_Active = Q_UINT64_C(0x0000000080000000);
487const quint64 PseudoClass_Closable = Q_UINT64_C(0x0000000100000000);
488const quint64 PseudoClass_Movable = Q_UINT64_C(0x0000000200000000);
489const quint64 PseudoClass_Floatable = Q_UINT64_C(0x0000000400000000);
490const quint64 PseudoClass_Minimized = Q_UINT64_C(0x0000000800000000);
491const quint64 PseudoClass_Maximized = Q_UINT64_C(0x0000001000000000);
492const quint64 PseudoClass_On = Q_UINT64_C(0x0000002000000000);
493const quint64 PseudoClass_Off = Q_UINT64_C(0x0000004000000000);
494const quint64 PseudoClass_Editable = Q_UINT64_C(0x0000008000000000);
495const quint64 PseudoClass_Item = Q_UINT64_C(0x0000010000000000);
496const quint64 PseudoClass_Closed = Q_UINT64_C(0x0000020000000000);
497const quint64 PseudoClass_Open = Q_UINT64_C(0x0000040000000000);
498const quint64 PseudoClass_EditFocus = Q_UINT64_C(0x0000080000000000);
499const quint64 PseudoClass_Alternate = Q_UINT64_C(0x0000100000000000);
500// The Any specifier is never generated, but can be used as a wildcard in searches.
501const quint64 PseudoClass_Any = Q_UINT64_C(0x0000ffffffffffff);
502const int NumPseudos = 45;
503
504struct Pseudo
505{
506 Pseudo() : type(0), negated(false) { }
511};
513
515{
523 MatchContains
524 };
525
528 ValueMatchType valueMatchCriterium = NoMatch;
529};
531
533{
534 inline BasicSelector() : relationToNext(NoRelation) {}
535
536 enum Relation {
542 };
543
545
549
551};
553
554struct Q_GUI_EXPORT Selector
555{
557 int specificity() const;
558 quint64 pseudoClass(quint64 *negated = nullptr) const;
559 QString pseudoElement() const;
560};
562
564{
565 StyleRule() : order(0) { }
568 int order;
569};
571
573{
576};
578
580{
583};
585
587{
590};
592
600
602{
604 QList<StyleRule> styleRules; // only contains rules that are not indexed
609 int depth; // applicable only for inline style sheets
612
613 Q_GUI_EXPORT void buildIndexes(Qt::CaseSensitivity nameCaseSensitivity = Qt::CaseSensitive);
614};
616
617
618class Q_GUI_EXPORT StyleSelector
619{
620public:
621 StyleSelector() : nameCaseSensitivity(Qt::CaseSensitive) {}
622 virtual ~StyleSelector();
623
624 union NodePtr {
625 void *ptr;
626 int id;
627 };
628
629 QList<StyleRule> styleRulesForNode(NodePtr node);
630 QList<Declaration> declarationsForNode(NodePtr node, const char *extraPseudo = nullptr);
631
632 virtual bool nodeNameEquals(NodePtr node, const QString& nodeName) const;
633 virtual QString attributeValue(NodePtr node, const QCss::AttributeSelector &aSelector) const = 0;
634 virtual bool hasAttributes(NodePtr node) const = 0;
635 virtual QStringList nodeIds(NodePtr node) const;
636 virtual QStringList nodeNames(NodePtr node) const = 0;
637 virtual bool isNullNode(NodePtr node) const = 0;
638 virtual NodePtr parentNode(NodePtr node) const = 0;
639 virtual NodePtr previousSiblingNode(NodePtr node) const = 0;
640 virtual NodePtr duplicateNode(NodePtr node) const = 0;
641 virtual void freeNode(NodePtr node) const = 0;
642
646private:
647 void matchRule(NodePtr node, const StyleRule &rules, StyleSheetOrigin origin,
648 int depth, QMultiMap<uint, StyleRule> *weightedRules);
649 bool selectorMatches(const Selector &rule, NodePtr node);
650 bool basicSelectorMatches(const BasicSelector &rule, NodePtr node);
651};
652
655
657
665
671
674
676
678
680
682
684
687
689
702 OR
704
705struct Symbol
706{
707 inline Symbol() : token(NONE), start(0), len(-1) {}
710 int start, len;
711 Q_GUI_EXPORT QString lexem() const;
712};
714
715class Q_GUI_EXPORT Scanner
716{
717public:
718 static QString preprocess(const QString &input, bool *hasEscapeSequences = nullptr);
719 static void scan(const QString &preprocessedInput, QList<Symbol> *symbols);
720};
721
722class Q_GUI_EXPORT Parser
723{
724public:
725 Parser();
726 explicit Parser(const QString &css, bool file = false);
727
728 void init(const QString &css, bool file = false);
729 bool parse(StyleSheet *styleSheet, Qt::CaseSensitivity nameCaseSensitivity = Qt::CaseSensitive);
730 Symbol errorSymbol();
731
732 bool parseImport(ImportRule *importRule);
733 bool parseMedia(MediaRule *mediaRule);
734 bool parseMedium(QStringList *media);
735 bool parsePage(PageRule *pageRule);
736 bool parsePseudoPage(QString *selector);
737 bool parseNextOperator(Value *value);
738 bool parseCombinator(BasicSelector::Relation *relation);
739 bool parseProperty(Declaration *decl);
740 bool parseRuleset(StyleRule *styleRule);
741 bool parseSelector(Selector *sel);
742 bool parseSimpleSelector(BasicSelector *basicSel);
743 bool parseClass(QString *name);
744 bool parseElementName(QString *name);
745 bool parseAttrib(AttributeSelector *attr);
746 bool parsePseudo(Pseudo *pseudo);
747 bool parseNextDeclaration(Declaration *declaration);
748 bool parsePrio(Declaration *declaration);
749 bool parseExpr(QList<Value> *values);
750 bool parseTerm(Value *value);
751 bool parseFunction(QString *name, QString *args);
752 bool parseHexColor(QColor *col);
753 bool testAndParseUri(QString *uri);
754
755 inline bool testRuleset() { return testSelector(); }
756 inline bool testSelector() { return testSimpleSelector(); }
757 inline bool parseNextSelector(Selector *sel) { if (!testSelector()) return recordError(); return parseSelector(sel); }
758 bool testSimpleSelector();
759 inline bool parseNextSimpleSelector(BasicSelector *basicSel) { if (!testSimpleSelector()) return recordError(); return parseSimpleSelector(basicSel); }
760 inline bool testElementName() { return test(IDENT) || test(STAR); }
761 inline bool testClass() { return test(DOT); }
762 inline bool testAttrib() { return test(LBRACKET); }
763 inline bool testPseudo() { return test(COLON); }
764 inline bool testMedium() { return test(IDENT); }
765 inline bool parseNextMedium(QStringList *media) { if (!testMedium()) return recordError(); return parseMedium(media); }
766 inline bool testPseudoPage() { return test(COLON); }
767 inline bool testImport() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1StringView("import")); }
768 inline bool testMedia() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1StringView("media")); }
769 inline bool testPage() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1StringView("page")); }
770 inline bool testCombinator() { return test(PLUS) || test(GREATER) || test(TILDE) || test(S); }
771 inline bool testProperty() { return test(IDENT); }
772 bool testTerm();
773 inline bool testExpr() { return testTerm(); }
775 {
776 if (!testExpr())
777 return recordError();
778 return parseExpr(values);
779 }
780 bool testPrio();
781 inline bool testHexColor() { return test(HASH); }
782 inline bool testFunction() { return test(FUNCTION); }
783 inline bool parseNextFunction(QString *name, QString *args) { if (!testFunction()) return recordError(); return parseFunction(name, args); }
784
785 inline bool lookupElementName() const { return lookup() == IDENT || lookup() == STAR; }
786
787 inline void skipSpace() { while (test(S)) {}; }
788
789 inline bool hasNext() const { return index < symbols.size(); }
790 inline TokenType next() { return symbols.at(index++).token; }
791 bool next(TokenType t);
792 bool test(TokenType t);
793 inline void prev() { index--; }
794 inline const Symbol &symbol() const { return symbols.at(index - 1); }
795 inline QString lexem() const { return symbol().lexem(); }
796 QString unquotedLexem() const;
797 QString lexemUntil(TokenType t);
798 bool until(TokenType target, TokenType target2 = NONE);
799 inline TokenType lookup() const {
800 return (index - 1) < symbols.size() ? symbols.at(index - 1).token : NONE;
801 }
802
803 bool testTokenAndEndsWith(TokenType t, QLatin1StringView str);
804
805 inline bool recordError() { errorIndex = index; return false; }
806
808 int index;
812};
813
814struct Q_GUI_EXPORT ValueExtractor
815{
816 ValueExtractor(const QList<Declaration> &declarations, const QPalette & = QPalette());
817
818 bool extractFont(QFont *font, int *fontSizeAdjustment);
819 bool extractBackground(QBrush *, QString *, Repeat *, Qt::Alignment *, QCss::Origin *, QCss::Attachment *,
820 QCss::Origin *);
821 bool extractGeometry(int *w, int *h, int *minw, int *minh, int *maxw, int *maxh);
822 bool extractPosition(int *l, int *t, int *r, int *b, QCss::Origin *, Qt::Alignment *,
823 QCss::PositionMode *, Qt::Alignment *);
824 bool extractBox(int *margins, int *paddings, int *spacing = nullptr);
825 bool extractBorder(int *borders, QBrush *colors, BorderStyle *Styles, QSize *radii);
826 bool extractOutline(int *borders, QBrush *colors, BorderStyle *Styles, QSize *radii, int *offsets);
827 bool extractPalette(QBrush *foreground, QBrush *selectedForeground, QBrush *selectedBackground,
828 QBrush *alternateBackground, QBrush *placeHolderTextForeground,
829 QBrush *accentColor);
830 int extractStyleFeatures();
831 bool extractImage(QIcon *icon, Qt::Alignment *a, QSize *size);
832 bool extractIcon(QIcon *icon, QSize *size);
833
834 void lengthValues(const Declaration &decl, int *m);
835
836private:
837 void extractFont();
838 void borderValue(const Declaration &decl, int *width, QCss::BorderStyle *style, QBrush *color);
839 LengthData lengthValue(const Value& v);
840 int lengthValue(const Declaration &decl);
841 QSize sizeValue(const Declaration &decl);
842 void sizeValues(const Declaration &decl, QSize *radii);
843
844 QList<Declaration> declarations;
845 QFont f;
846 int adjustment;
847 int fontExtracted;
848 QPalette pal;
849};
850
851} // namespace QCss
852
854
855QT_DECL_METATYPE_EXTERN_TAGGED(QCss::BackgroundData, QCss__BackgroundData, Q_GUI_EXPORT)
856QT_DECL_METATYPE_EXTERN_TAGGED(QCss::LengthData, QCss__LengthData, Q_GUI_EXPORT)
857QT_DECL_METATYPE_EXTERN_TAGGED(QCss::BorderData, QCss__BorderData, Q_GUI_EXPORT)
858
859#undef QT_CSS_DECLARE_TYPEINFO
860
861#endif // QT_NO_CSSPARSER
862
863#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:20
The QIcon class provides scalable icons in different modes and states.
Definition qicon.h:20
Definition qlist.h:74
\inmodule QtCore
Definition qhash.h:1348
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:127
\inmodule QtCore
Definition qvariant.h:64
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_Pre
@ 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_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_Underline
@ Value_DotDash
@ Value_Uppercase
@ Value_Auto
@ Value_Inset
@ Value_Large
@ Value_XLarge
@ Value_SmallCaps
@ Value_Double
@ Value_AlternateBase
@ 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
@ BorderTopColor
@ QtPlaceHolderTextColor
@ MarginRight
@ BorderBottomLeftRadius
@ QtTableType
@ BorderBottom
@ Padding
@ QtStyleFeatures
@ BorderTopStyle
@ OutlineBottomRightRadius
@ FontKerning
@ NumProperties
@ BorderRightWidth
@ PaddingRight
@ BackgroundOrigin
@ BorderBottomColor
@ UnknownProperty
@ MarginTop
@ TextUnderlineStyle
@ QtListIndent
@ PaddingLeft
@ PaddingTop
@ 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
@ BackgroundImage
@ BorderRightStyle
@ FontStyle
@ TextTransform
@ FontFamily
@ FontVariant
@ BorderWidth
@ VerticalAlignment
@ LineHeight
@ QtParagraphType
@ QtSelectionBackground
@ QtAccentColor
@ BorderStyles
@ BorderLeft
@ TextDecoration
@ BorderTopRightRadius
@ ListStyleType
@ OutlineOffset
@ BorderRadius
@ ListStyle
@ BorderBottomWidth
@ Background
@ BorderTopWidth
@ OutlineRadius
@ MinimumWidth
@ BackgroundAttachment
@ TextAlignment
@ BackgroundClip
@ TextDecorationColor
@ QtListNumberSuffix
@ QtImageAlignment
@ BorderBottomStyle
@ BorderTop
@ FontSize
@ PageBreakBefore
@ QtLineHeightType
@ BackgroundRepeat
@ BorderLeftStyle
@ MinimumHeight
@ MaximumHeight
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.
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]
@ Invalid
#define QT_DECL_METATYPE_EXTERN_TAGGED(TYPE, TAG, EXPORT)
Definition qmetatype.h:1355
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
GLenum type
GLenum target
GLuint start
GLuint name
GLfloat GLfloat GLfloat GLfloat h
const GLubyte * c
GLuint GLsizei const GLuint const GLintptr * offsets
GLenum GLsizei len
GLdouble GLdouble t
Definition qopenglext.h:243
GLuint64EXT GLuint GLuint GLenum GLenum GLuint GLenum GLuint GLenum target2
GLdouble s
[6]
Definition qopenglext.h:235
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:144
@ Q_RELOCATABLE_TYPE
Definition qtypeinfo.h:145
#define Q_UINT64_C(c)
Definition qtypes.h:53
unsigned long long quint64
Definition qtypes.h:56
double qreal
Definition qtypes.h:92
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:24