40#ifndef DRAIN_SELECTOR_XML
41#define DRAIN_SELECTOR_XML
44#include <drain/StringBuilder.h>
45#include <drain/StringTools.h>
67void StringConverter<PseudoClassCSS>::convertToString(
const PseudoClassCSS & value, std::string &s);
93 template <
class ...TT>
105 template <
class T,
class ...TT>
106 void set(
const T & arg, TT... args){
112 void set(
const T & arg){
137 void set(
const std::string & arg){
144 void set(
const char *arg){
161 void set(
const PseudoClassCSS & arg){
162 pseudoClass.set(arg);
173 pseudoClass.assign(p);
192 void setClass(
const T & arg){
206 pseudoClass.set(psCls);
220 void toStream(std::ostream & ostr)
const {
225 if (
static_cast<int>(elem) != 0){
226 ostr << drain::EnumDict<E>::dict.getKey(elem);
233 if (!pseudoClass.empty()){
234 ostr <<
':' << pseudoClass;
239 const std::string & str()
const {
241 std::stringstream sstr;
243 currentStr = sstr.str();
249 operator const std::string &()
const {
256 E elem =
static_cast<E
>(0);
258 StringWrapper<PseudoClassCSS> pseudoClass;
264 std::string currentStr;
273DRAIN_ENUM_DICT(drain::PseudoClassCSS);
276DRAIN_ENUM_OSTREAM(drain::PseudoClassCSS);
A wrapper marking string an CSS effect.
Definition ClassXML.h:57
Definition SelectorXML.h:89
void set(const T &arg, TT... args)
Definition SelectorXML.h:106
void setPseudoClass(const T &psCls)
Set one of the element pseudo classes: focus, hover.
Definition SelectorXML.h:205
void set(const char *arg)
Set CSS class.
Definition SelectorXML.h:144
void set(const E &arg)
Set element.
Definition SelectorXML.h:127
void set(const StringWrapper< drain::PseudoClassCSS > &p)
Set one of the element pseudo classes: focus, hover.
Definition SelectorXML.h:172
void set(const PseudoClassCSS &arg)
Set one of the element pseudo classes: focus, hover.
Definition SelectorXML.h:161
void set(const std::string &arg)
Set CSS class.
Definition SelectorXML.h:137
void setElement(const T &arg)
Set element explicitly.
Definition SelectorXML.h:185
void set(const ClassXML &arg)
Set CSS class.
Definition SelectorXML.h:152
Definition StringTools.h:72
Definition DataSelector.cpp:1277
A container for a static dictionary of enumeration values.
Definition EnumUtils.h:52
static E getValue(const E &value, bool lenient=true)
Convenience for object.set(...) like commands.
Definition EnumUtils.h:97