class EE::UI::CSS::StyleSheetStyle

#include <stylesheetstyle.hpp>

class StyleSheetStyle {
public:
    // construction

    StyleSheetStyle();
    StyleSheetStyle(const std::string& selector, const StyleSheetProperties& properties, const StyleSheetVariables& variables, MediaQueryList::ptr mediaQueryList);

    // methods

    std::string build(bool emmitMediaQueryStart = true, bool emmitMediaQueryEnd = true);
    const StyleSheetSelector& getSelector() const;
    const StyleSheetProperties& getProperties() const;
    StyleSheetProperties& getPropertiesRef();
    const StyleSheetVariables& getVariables() const;
    const StyleSheetProperty* getPropertyById(const PropertyId& id) const;
    const StyleSheetProperty* getPropertyByDefinition(const PropertyDefinition* def) const;
    StyleSheetProperty* getPropertyById(const Uint32& id);
    void setProperty(const StyleSheetProperty& property);
    void clearProperties();
    bool hasProperties() const;
    bool hasProperty(PropertyId id) const;
    bool hasProperty(const std::string& name) const;
    bool hasVariables() const;
    bool hasVariable(const std::string& name) const;
    StyleSheetVariable getVariableByName(const std::string& name) const;
    void setVariable(const StyleSheetVariable& variable);
    bool isMediaValid() const;
    const MediaQueryList::ptr& getMediaQueryList() const;
    bool isAtRule() const;
    const AtRuleType& getAtRuleType() const;
    const Uint32& getMarker() const;
    void setMarker(const Uint32& marker);
    bool updatePropertyValue(const std::string& name, const std::string& value);
};