class EE::UI::CSS::StyleSheetSelectorRule

#include <stylesheetselectorrule.hpp>

class StyleSheetSelectorRule {
public:
    // enums

    enum PatternMatch;
    enum SelectorType;
    enum SpecificityVal;
    enum TypeIdentifier;

    // construction

    StyleSheetSelectorRule(const std::string& selectorFragment, PatternMatch mPatternMatch);

    // methods

    void pushSelectorTypeIdentifier(TypeIdentifier selectorTypeIdentifier, std::string name);
    void parseFragment(const std::string& selectorFragment);
    const PatternMatch& getPatternMatch() const;
    const int& getSpecificity() const;
    bool matches(UIWidget* element, const bool& applyPseudo = true) const;
    bool hasClass(const std::string& cls) const;
    bool hasPseudoClasses() const;
    bool hasPseudoClass(const std::string& cls) const;
    const std::vector<std::string>& getPseudoClasses() const;
    bool hasStructuralPseudoClasses() const;
    const std::vector<std::string>& getStructuralPseudoClasses() const;
    bool hasStructuralPseudoClass(const std::string& cls) const;
    const std::string& getTagName() const;
    const std::string& getId() const;
};