package tk.eclipse.plugin.csseditor.editors;
import java.util.LinkedList;
import java.util.List;
/**
* @author Naoki Takezoe
*/
public class CSSDefinition {
public static List<CSSProperty> PROPERTIES;
static {
List<CSSProperty> cssProperties = new LinkedList<CSSProperty>();
CSSProperty textIndent = new CSSProperty("text-indent");
textIndent.addValueType(new CSSSizeValueType());
textIndent.addValueType("inherit");
cssProperties.add(textIndent);
CSSProperty textAlign = new CSSProperty("text-align");
textAlign.addValueType("left");
textAlign.addValueType("right");
textAlign.addValueType("center");
textAlign.addValueType("justify");
textAlign.addValueType("inherit");
textAlign.addValueType("\"string\"");
cssProperties.add(textAlign);
CSSProperty textDecoration = new CSSProperty("text-decoration");
textDecoration.addValueType("none");
textDecoration.addValueType("underline");
textDecoration.addValueType("overline");
textDecoration.addValueType("line-through");
textDecoration.addValueType("blink");
textDecoration.addValueType("inherit");
cssProperties.add(textDecoration);
CSSProperty textShadow = new CSSProperty("text-shadow");
textShadow.addValueType("none");
textShadow.addValueType(new CSSColorValueType());
textShadow.addValueType(new CSSCompositeValueType(new CSSColorValueType(), new CSSSizeValueType(), new CSSSizeValueType()));
textShadow.addValueType(new CSSCompositeValueType(new CSSColorValueType(), new CSSSizeValueType(), new CSSSizeValueType(), new CSSSizeValueType()));
textShadow.addValueType("inherit");
cssProperties.add(textShadow);
CSSProperty letterSpacing = new CSSProperty("letter-spacing");
letterSpacing.addValueType("normal");
letterSpacing.addValueType(new CSSSizeValueType());
letterSpacing.addValueType("inherit");
cssProperties.add(letterSpacing);
CSSProperty wordSpacing = new CSSProperty("word-spacing");
wordSpacing.addValueType("normal");
wordSpacing.addValueType(new CSSSizeValueType());
wordSpacing.addValueType("inherit");
cssProperties.add(wordSpacing);
CSSProperty textTransform = new CSSProperty("text-transform");
textTransform.addValueType("captialize");
textTransform.addValueType("uppercase");
textTransform.addValueType("lowercase");
textTransform.addValueType("none");
textTransform.addValueType("inherit");
cssProperties.add(textTransform);
CSSProperty whiteSpace = new CSSProperty("white-space");
whiteSpace.addValueType("normal");
whiteSpace.addValueType("pre");
whiteSpace.addValueType("nowrap");
whiteSpace.addValueType("inherit");
cssProperties.add(whiteSpace);
CSSProperty color = new CSSProperty("color");
color.addValueType(new CSSColorValueType());
color.addValueType("inherit");
cssProperties.add(color);
CSSProperty backgroundColor = new CSSProperty("background-color");
backgroundColor.addValueType(new CSSColorValueType());
backgroundColor.addValueType("transparent");
backgroundColor.addValueType("inherit");
cssProperties.add(backgroundColor);
CSSProperty backgroundImage = new CSSProperty("background-image");
backgroundImage.addValueType("url(\"xxx\")");
backgroundImage.addValueType("none");
backgroundImage.addValueType("inherit");
cssProperties.add(backgroundImage);
CSSProperty backgroundRepeat = new CSSProperty("background-repeat");
backgroundRepeat.addValueType("repeat");
backgroundRepeat.addValueType("repeat-x");
backgroundRepeat.addValueType("repeat-y");
backgroundRepeat.addValueType("no-repeat");
backgroundRepeat.addValueType("inherit");
cssProperties.add(backgroundRepeat);
CSSProperty backgroundAttachment = new CSSProperty("background-attachment");
backgroundAttachment.addValueType("scroll");
backgroundAttachment.addValueType("fixed");
backgroundAttachment.addValueType("inherit");
cssProperties.add(backgroundAttachment);
CSSEnumValueType vertical = new CSSEnumValueType("top", "center", "bottom");
CSSEnumValueType horizontal = new CSSEnumValueType("left", "center", "right");
CSSProperty backgroundPosition = new CSSProperty("background-position");
backgroundPosition.addValueType(new CSSSizeValueType());
backgroundPosition.addValueType(new CSSCompositeValueType(new CSSSizeValueType(), new CSSSizeValueType()));
backgroundPosition.addValueType(vertical);
backgroundPosition.addValueType(horizontal);
backgroundPosition.addValueType(new CSSCompositeValueType(vertical, horizontal));
backgroundPosition.addValueType(new CSSCompositeValueType(horizontal, vertical));
backgroundPosition.addValueType("inherit");
cssProperties.add(backgroundPosition);
CSSProperty background = new CSSProperty("background");
CSSEnumValueType backgroundTypes = new CSSEnumValueType(backgroundColor, backgroundImage, backgroundRepeat, backgroundAttachment, backgroundPosition);
background.addValueType(backgroundTypes);
background.addValueType(new CSSCompositeValueType(backgroundTypes, backgroundTypes));
background.addValueType(new CSSCompositeValueType(backgroundTypes, backgroundTypes, backgroundTypes));
background.addValueType(new CSSCompositeValueType(backgroundTypes, backgroundTypes, backgroundTypes, backgroundTypes));
background.addValueType(new CSSCompositeValueType(backgroundTypes, backgroundTypes, backgroundTypes, backgroundTypes, backgroundTypes));
cssProperties.add(background);
CSSProperty paddingLeft = new CSSProperty("padding-left");
paddingLeft.addValueType(new CSSSizeValueType());
paddingLeft.addValueType("inherit");
cssProperties.add(paddingLeft);
CSSProperty paddingRight = new CSSProperty("padding-right");
paddingRight.addValueType(new CSSSizeValueType());
paddingRight.addValueType("inherit");
cssProperties.add(paddingRight);
CSSProperty paddingTop = new CSSProperty("padding-top");
paddingTop.addValueType(new CSSSizeValueType());
paddingTop.addValueType("inherit");
cssProperties.add(paddingTop);
CSSProperty paddingBottom = new CSSProperty("padding-bottom");
paddingBottom.addValueType(new CSSSizeValueType());
paddingBottom.addValueType("inherit");
cssProperties.add(paddingBottom);
CSSProperty padding = new CSSProperty("padding");
padding.addValueType(new CSSSizeValueType());
padding.addValueType(new CSSCompositeValueType(new CSSSizeValueType(), new CSSSizeValueType()));
padding.addValueType(new CSSCompositeValueType(new CSSSizeValueType(), new CSSSizeValueType(), new CSSSizeValueType()));
padding.addValueType(new CSSCompositeValueType(new CSSSizeValueType(), new CSSSizeValueType(), new CSSSizeValueType(), new CSSSizeValueType()));
padding.addValueType("inherit");
cssProperties.add(padding);
CSSEnumValueType borderWidth = new CSSEnumValueType();
borderWidth.addValueType("thin");
borderWidth.addValueType("medium");
borderWidth.addValueType("thick");
borderWidth.addValueType(new CSSSizeValueType());
CSSProperty borderLeft = new CSSProperty("border-left");
borderLeft.addValueType(borderWidth);
borderLeft.addValueType("inherit");
cssProperties.add(borderLeft);
CSSProperty borderRight = new CSSProperty("border-right");
borderRight.addValueType(borderWidth);
borderRight.addValueType("inherit");
cssProperties.add(borderRight);
CSSProperty borderTop = new CSSProperty("border-top");
borderTop.addValueType(borderWidth);
borderTop.addValueType("inherit");
cssProperties.add(borderTop);
CSSProperty borderBottom = new CSSProperty("border-bottom");
borderBottom.addValueType(borderWidth);
borderBottom.addValueType("inherit");
cssProperties.add(borderBottom);
CSSEnumValueType borderStyleTypes = new CSSEnumValueType("none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset");
CSSProperty borderStyle = new CSSProperty("border-style");
borderStyle.addValueType(borderStyleTypes);
borderStyle.addValueType("inherit");
cssProperties.add(borderStyle);
CSSEnumValueType borderTypes = new CSSEnumValueType(borderWidth, borderStyleTypes, new CSSColorValueType());
borderTypes.addValueType(new CSSColorValueType());
CSSProperty border = new CSSProperty("border");
border.addValueType(borderTypes);
border.addValueType(new CSSCompositeValueType(borderTypes, borderTypes));
border.addValueType(new CSSCompositeValueType(borderTypes, borderTypes, borderTypes));
border.addValueType(new CSSCompositeValueType(borderTypes, borderTypes, borderTypes, borderTypes));
border.addValueType("inherit");
cssProperties.add(border);
CSSProperty marginLeft = new CSSProperty("margin-left");
marginLeft.addValueType(new CSSSizeValueType());
marginLeft.addValueType("inherit");
cssProperties.add(marginLeft);
CSSProperty marginRight = new CSSProperty("margin-right");
marginRight.addValueType(new CSSSizeValueType());
marginRight.addValueType("inherit");
cssProperties.add(marginRight);
CSSProperty marginTop = new CSSProperty("margin-top");
marginTop.addValueType(new CSSSizeValueType());
marginTop.addValueType("inherit");
cssProperties.add(marginTop);
CSSProperty marginBottom = new CSSProperty("margin-bottom");
marginBottom.addValueType(new CSSSizeValueType());
marginBottom.addValueType("inherit");
cssProperties.add(marginBottom);
CSSProperty margin = new CSSProperty("margin");
margin.addValueType(new CSSSizeValueType());
margin.addValueType(new CSSCompositeValueType(new CSSSizeValueType(), new CSSSizeValueType()));
margin.addValueType(new CSSCompositeValueType(new CSSSizeValueType(), new CSSSizeValueType(), new CSSSizeValueType()));
margin.addValueType(new CSSCompositeValueType(new CSSSizeValueType(), new CSSSizeValueType(), new CSSSizeValueType(), new CSSSizeValueType()));
margin.addValueType("inherit");
cssProperties.add(margin);
CSSProperty fontFamily = new CSSProperty("font-family");
fontFamily.addValueType("serif");
fontFamily.addValueType("sans-serif");
fontFamily.addValueType("cursive");
fontFamily.addValueType("fantasy");
fontFamily.addValueType("monospace");
fontFamily.addValueType("Helvetica");
fontFamily.addValueType("Arial");
fontFamily.addValueType("Geneva");
cssProperties.add(fontFamily);
CSSProperty fontStyle = new CSSProperty("font-style");
fontStyle.addValueType("normal");
fontStyle.addValueType("italic");
fontStyle.addValueType("oblique");
fontStyle.addValueType("inherit");
cssProperties.add(fontStyle);
CSSProperty fontWeight = new CSSProperty("font-weight");
fontWeight.addValueType("normal");
fontWeight.addValueType("bold");
fontWeight.addValueType("bolder");
fontWeight.addValueType("lighter");
fontWeight.addValueType("100");
fontWeight.addValueType("200");
fontWeight.addValueType("300");
fontWeight.addValueType("400");
fontWeight.addValueType("500");
fontWeight.addValueType("600");
fontWeight.addValueType("700");
fontWeight.addValueType("800");
fontWeight.addValueType("900");
fontWeight.addValueType("inherit");
cssProperties.add(fontWeight);
CSSProperty fontVariant = new CSSProperty("font-variant");
fontVariant.addValueType("normal");
fontVariant.addValueType("small-caps");
fontVariant.addValueType("inherit");
cssProperties.add(fontVariant);
CSSProperty fontStretch = new CSSProperty("font-stretch");
fontStretch.addValueType("normal");
fontStretch.addValueType("wider");
fontStretch.addValueType("narrower");
fontStretch.addValueType("ultra-condensed");
fontStretch.addValueType("extra-condensed");
fontStretch.addValueType("condensed");
fontStretch.addValueType("semi-condensed");
fontStretch.addValueType("semi-expanded");
fontStretch.addValueType("expanded");
fontStretch.addValueType("extra-expanded");
fontStretch.addValueType("ultra-expanded");
fontStretch.addValueType("inherit");
cssProperties.add(fontStretch);
CSSEnumValueType absoluteSize = new CSSEnumValueType("xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large");
CSSEnumValueType relativeSize = new CSSEnumValueType("larger", "smaller");
CSSProperty fontSizeAdjust = new CSSProperty("font-size-adjust");
fontSizeAdjust.addValueType("none");
fontSizeAdjust.addValueType(new CSSSizeValueType()); // this should actually just be a number
fontSizeAdjust.addValueType("inherit");
cssProperties.add(fontSizeAdjust);
CSSProperty fontSize = new CSSProperty("font-size");
fontSize.addValueType(new CSSSizeValueType());
fontSize.addValueType(absoluteSize);
fontSize.addValueType(relativeSize);
fontSize.addValueType("inherit");
cssProperties.add(fontSize);
CSSEnumValueType fontStyles = new CSSEnumValueType(fontStyle, fontVariant, fontWeight, fontSize, fontFamily);
fontStyles.addValueType("caption");
fontStyles.addValueType("icon");
fontStyles.addValueType("menu");
fontStyles.addValueType("message-box");
fontStyles.addValueType("small-caption");
fontStyles.addValueType("status-bar");
CSSProperty font = new CSSProperty("font");
font.addValueType(fontStyles);
font.addValueType(new CSSEnumValueType(fontStyles, fontStyles));
font.addValueType(new CSSEnumValueType(fontStyles, fontStyles, fontStyles));
font.addValueType(new CSSEnumValueType(fontStyles, fontStyles, fontStyles, fontStyles));
font.addValueType(new CSSEnumValueType(fontStyles, fontStyles, fontStyles, fontStyles, fontStyles));
font.addValueType("inherit");
cssProperties.add(font);
CSSProperty borderLeftWidth = new CSSProperty("border-left-width");
borderLeftWidth.addValueType(borderWidth);
borderLeftWidth.addValueType("inherit");
cssProperties.add(borderLeftWidth);
CSSProperty borderRightWidth = new CSSProperty("border-right-width");
borderRightWidth.addValueType(borderWidth);
borderRightWidth.addValueType("inherit");
cssProperties.add(borderRightWidth);
CSSProperty borderTopWidth = new CSSProperty("border-top-width");
borderTopWidth.addValueType(borderWidth);
borderTopWidth.addValueType("inherit");
cssProperties.add(borderTopWidth);
CSSProperty borderBottomWidth = new CSSProperty("border-bottom-width");
borderBottomWidth.addValueType(borderWidth);
borderBottomWidth.addValueType("inherit");
cssProperties.add(borderBottomWidth);
CSSProperty borderLeftColor = new CSSProperty("border-left-color");
borderLeftColor.addValueType(new CSSColorValueType());
borderLeftColor.addValueType("inherit");
cssProperties.add(borderLeftColor);
CSSProperty borderRightColor = new CSSProperty("border-right-color");
borderRightColor.addValueType(new CSSColorValueType());
borderRightColor.addValueType("inherit");
cssProperties.add(borderRightColor);
CSSProperty borderTopColor = new CSSProperty("border-top-color");
borderTopColor.addValueType(new CSSColorValueType());
borderTopColor.addValueType("inherit");
cssProperties.add(borderTopColor);
CSSProperty borderBottomColor = new CSSProperty("border-bottom-color");
borderBottomColor.addValueType(new CSSColorValueType());
borderBottomColor.addValueType("inherit");
cssProperties.add(borderBottomColor);
CSSProperty borderLeftStyle = new CSSProperty("border-left-style");
borderLeftStyle.addValueType(borderStyleTypes);
borderLeftStyle.addValueType("inherit");
cssProperties.add(borderLeftStyle);
CSSProperty borderRightStyle = new CSSProperty("border-right-style");
borderRightStyle.addValueType(borderStyleTypes);
borderRightStyle.addValueType("inherit");
cssProperties.add(borderRightStyle);
CSSProperty borderTopStyle = new CSSProperty("border-top-style");
borderTopStyle.addValueType(borderStyleTypes);
borderTopStyle.addValueType("inherit");
cssProperties.add(borderTopStyle);
CSSProperty borderBottomStyle = new CSSProperty("border-bottom-style");
borderBottomStyle.addValueType(borderStyleTypes);
borderBottomStyle.addValueType("inherit");
cssProperties.add(borderBottomStyle);
CSSProperty display = new CSSProperty("display");
display.addValueType("inline");
display.addValueType("block");
display.addValueType("list-item");
display.addValueType("run-in");
display.addValueType("compact");
display.addValueType("marker");
display.addValueType("table");
display.addValueType("inline-table");
display.addValueType("table-row-group");
display.addValueType("table-header-group");
display.addValueType("table-footer-group");
display.addValueType("table-row");
display.addValueType("table-column-group");
display.addValueType("table-column");
display.addValueType("table-cell");
display.addValueType("table-caption");
display.addValueType("none");
display.addValueType("inherit");
cssProperties.add(display);
CSSProperty position = new CSSProperty("position");
position.addValueType("static");
position.addValueType("fixed");
position.addValueType("relative");
position.addValueType("absolute");
position.addValueType("inherit");
cssProperties.add(position);
CSSProperty top = new CSSProperty("top");
top.addValueType(new CSSSizeValueType());
top.addValueType("auto");
top.addValueType("inherit");
cssProperties.add(top);
CSSProperty bottom = new CSSProperty("bottom");
bottom.addValueType(new CSSSizeValueType());
bottom.addValueType("auto");
bottom.addValueType("inherit");
cssProperties.add(bottom);
CSSProperty left = new CSSProperty("left");
left.addValueType(new CSSSizeValueType());
left.addValueType("auto");
left.addValueType("inherit");
cssProperties.add(left);
CSSProperty right = new CSSProperty("right");
right.addValueType(new CSSSizeValueType());
right.addValueType("auto");
right.addValueType("inherit");
cssProperties.add(right);
CSSProperty cssfloat = new CSSProperty("float");
cssfloat.addValueType("left");
cssfloat.addValueType("right");
cssfloat.addValueType("none");
cssfloat.addValueType("inherit");
cssProperties.add(cssfloat);
CSSProperty clear = new CSSProperty("clear");
clear.addValueType("none");
clear.addValueType("left");
clear.addValueType("right");
clear.addValueType("both");
clear.addValueType("inherit");
cssProperties.add(clear);
CSSProperty zIndex = new CSSProperty("z-index");
zIndex.addValueType("auto");
zIndex.addValueType("##");
zIndex.addValueType("inherit");
cssProperties.add(zIndex);
CSSProperty direction = new CSSProperty("direction");
direction.addValueType("ltr");
direction.addValueType("rtl");
direction.addValueType("inherit");
cssProperties.add(direction);
CSSProperty unicodeBidi = new CSSProperty("unicode-bidi");
unicodeBidi.addValueType("normal");
unicodeBidi.addValueType("embed");
unicodeBidi.addValueType("bidi-override");
unicodeBidi.addValueType("inherit");
cssProperties.add(unicodeBidi);
CSSProperty width = new CSSProperty("width");
width.addValueType(new CSSSizeValueType());
width.addValueType("auto");
width.addValueType("inherit");
cssProperties.add(width);
CSSProperty minWidth = new CSSProperty("min-width");
minWidth.addValueType(new CSSSizeValueType());
minWidth.addValueType("inherit");
cssProperties.add(minWidth);
CSSProperty maxWidth = new CSSProperty("max-width");
maxWidth.addValueType(new CSSSizeValueType());
maxWidth.addValueType("none");
maxWidth.addValueType("inherit");
cssProperties.add(maxWidth);
CSSProperty height = new CSSProperty("height");
height.addValueType(new CSSSizeValueType());
height.addValueType("auto");
height.addValueType("inherit");
cssProperties.add(height);
CSSProperty minHeight = new CSSProperty("min-height");
minHeight.addValueType(new CSSSizeValueType());
minHeight.addValueType("inherit");
cssProperties.add(minHeight);
CSSProperty maxHeight = new CSSProperty("max-height");
maxHeight.addValueType(new CSSSizeValueType());
maxHeight.addValueType("none");
maxHeight.addValueType("inherit");
cssProperties.add(maxHeight);
CSSProperty lineHeight = new CSSProperty("line-height");
lineHeight.addValueType("normal");
lineHeight.addValueType(new CSSSizeValueType());
lineHeight.addValueType("inherit");
cssProperties.add(lineHeight);
CSSProperty verticalAlign = new CSSProperty("vertical-align");
verticalAlign.addValueType("baseline");
verticalAlign.addValueType("sub");
verticalAlign.addValueType("super");
verticalAlign.addValueType("top");
verticalAlign.addValueType("text-top");
verticalAlign.addValueType("middle");
verticalAlign.addValueType("bottom");
verticalAlign.addValueType("text-bottom");
verticalAlign.addValueType(new CSSSizeValueType());
verticalAlign.addValueType("inherit");
cssProperties.add(verticalAlign);
CSSProperty overflow = new CSSProperty("overflow");
overflow.addValueType("visible");
overflow.addValueType("hidden");
overflow.addValueType("scroll");
overflow.addValueType("auto");
overflow.addValueType("inherit");
cssProperties.add(overflow);
CSSProperty clip = new CSSProperty("clip");
clip.addValueType("rect(##, ##, ##, ##)");
clip.addValueType("auto");
clip.addValueType("inherit");
cssProperties.add(clip);
CSSProperty visibility = new CSSProperty("visibility");
visibility.addValueType("visible");
visibility.addValueType("hidden");
visibility.addValueType("collapse");
visibility.addValueType("inherit");
cssProperties.add(visibility);
CSSProperty captionSide = new CSSProperty("caption-side");
captionSide.addValueType("top");
captionSide.addValueType("bottom");
captionSide.addValueType("left");
captionSide.addValueType("right");
captionSide.addValueType("inherit");
cssProperties.add(captionSide);
CSSProperty tableLayout = new CSSProperty("table-layout");
tableLayout.addValueType("auto");
tableLayout.addValueType("fixed");
tableLayout.addValueType("inherit");
cssProperties.add(tableLayout);
CSSProperty borderCollapse = new CSSProperty("border-collapse");
borderCollapse.addValueType("collapse");
borderCollapse.addValueType("separate");
borderCollapse.addValueType("inherit");
cssProperties.add(borderCollapse);
CSSProperty borderSpacing = new CSSProperty("border-spacing");
borderSpacing.addValueType(new CSSSizeValueType());
borderSpacing.addValueType(new CSSCompositeValueType(new CSSSizeValueType(), new CSSSizeValueType()));
borderSpacing.addValueType("inherit");
cssProperties.add(borderSpacing);
CSSProperty emptyCells = new CSSProperty("empty-cells");
emptyCells.addValueType("show");
emptyCells.addValueType("hide");
emptyCells.addValueType("inherit");
cssProperties.add(emptyCells);
CSSProperty content = new CSSProperty("content");
content.addValueType("\"xxx\"");
cssProperties.add(content);
CSSProperty quotes = new CSSProperty("quotes");
quotes.addValueType("'\"' '\"'");
quotes.addValueType("none");
quotes.addValueType("inherit");
cssProperties.add(quotes);
CSSEnumValueType listStyleTypes = new CSSEnumValueType("disc", "circle", "square", "decimal", "decimal-leading-zero", "lower-roman", "upper-roman", "lower-greek", "lower-alpha", "lower-latin", "upper-alpha", "upper-latin", "hebrew", "armenian", "georgian", "cjk-ideographic", "hiragena", "katakana", "hiragana-iroha", "none");
CSSProperty listStyleType = new CSSProperty("list-style-type");
listStyleType.addValueType(listStyleTypes);
listStyleType.addValueType("inherit");
cssProperties.add(listStyleType);
CSSProperty listStyleImage = new CSSProperty("list-style-image");
listStyleImage.addValueType("url(\"xxx\")");
listStyleImage.addValueType("none");
listStyleImage.addValueType("inherit");
cssProperties.add(listStyleImage);
CSSProperty listStylePosition = new CSSProperty("list-style-position");
listStylePosition.addValueType("inside");
listStylePosition.addValueType("outside");
listStylePosition.addValueType("inherit");
cssProperties.add(listStylePosition);
CSSEnumValueType listStyles = new CSSEnumValueType(listStyleType, listStyleImage, listStylePosition);
CSSProperty listStyle = new CSSProperty("list-style");
listStyle.addValueType(listStyles);
listStyle.addValueType(new CSSCompositeValueType(listStyles, listStyles));
listStyle.addValueType(new CSSCompositeValueType(listStyles, listStyles, listStyles));
listStyle.addValueType("inherit");
cssProperties.add(listStyle);
CSSProperty markerOffset = new CSSProperty("marker-offset");
markerOffset.addValueType(new CSSSizeValueType());
markerOffset.addValueType("auto");
markerOffset.addValueType("inherit");
cssProperties.add(markerOffset);
CSSProperty cursor = new CSSProperty("cursor");
cursor.addValueType("url(\"xxx\")");
cursor.addValueType("auto");
cursor.addValueType("crosshair");
cursor.addValueType("default");
cursor.addValueType("pointer");
cursor.addValueType("move");
cursor.addValueType("e-resize");
cursor.addValueType("ne-resize");
cursor.addValueType("nw-resize");
cursor.addValueType("n-resize");
cursor.addValueType("se-resize");
cursor.addValueType("sw-resize");
cursor.addValueType("s-resize");
cursor.addValueType("w-resize");
cursor.addValueType("text");
cursor.addValueType("wait");
cursor.addValueType("help");
cursor.addValueType("inherit");
cssProperties.add(cursor);
CSSProperty outlineWidth = new CSSProperty("outline-width");
outlineWidth.addValueType(borderWidth);
outlineWidth.addValueType("inherit");
cssProperties.add(outlineWidth);
CSSProperty outlineColor = new CSSProperty("outline-color");
outlineColor.addValueType(new CSSColorValueType());
outlineColor.addValueType("inherit");
cssProperties.add(outlineColor);
CSSProperty outlineStyle = new CSSProperty("outline-style");
outlineStyle.addValueType(borderStyleTypes);
outlineStyle.addValueType("inherit");
cssProperties.add(outlineStyle);
CSSEnumValueType outlineTypes = new CSSEnumValueType(outlineColor, outlineWidth, outlineStyle);
CSSProperty outline = new CSSProperty("outline");
outline.addValueType(outlineTypes);
outline.addValueType(new CSSCompositeValueType(outlineTypes, outlineTypes));
outline.addValueType(new CSSCompositeValueType(outlineTypes, outlineTypes, outlineTypes));
outline.addValueType("inherit");
cssProperties.add(outline);
CSSDefinition.PROPERTIES = cssProperties;
}
// static {
// // sort by length
// Arrays.sort(CSS_KEYWORDS,CSSProperty textIndent = new Comparator(){
// public int compare(Object o1, Object o2){
// CSSProperty info1 = (CSSProperty)o1; cssProperties.add(info);
// CSSProperty info2 = (CSSProperty)o2; cssProperties.add(info);
// if(info1.getReplaceString().length() > info2.getReplaceString().length()){
// return -1;
// }
// if(info1.getReplaceString().length() < info2.getReplaceString().length()){
// return 1;
// }
// return 0;
// }
// });
// }
}