module uim.css.declaration; import uim.css; class DCSSDeclaration : DCSSObj { this() { super(); } this(string aName) { this.name(aName); } this(string aName, string aValue) { this.name(aName).value(aValue); } override protected void _init() { super._init; } mixin(PropertyDefinition!("string", "name")); mixin(PropertyDefinition!("string", "value")); alias opEquals = Object.opEquals; bool opEquals(string css) { return toString == css; } bool opEquals(DCSSDeclaration obj) { return toString == obj.toString; } override string toString() { return name~":"~value; } } auto CSSDeclaration() { return new DCSSDeclaration(); } auto CSSDeclaration(string aName) { return new DCSSDeclaration(aName); } auto CSSDeclaration(string aName, string aValue) { return new DCSSDeclaration(aName,aValue); } unittest { version(uim_css) { assert(CSSDeclaration("background-color", "lightgreen") == "background-color:lightgreen"); }}