package tk.eclipse.plugin.csseditor.editors;
import java.util.Set;
public class CSSSizeValueType extends CSSValueType {
@Override
public void fillInProposals(String token, Set<String> proposals) {
StringBuffer numberBuffer = new StringBuffer();
StringBuffer typeBuffer = new StringBuffer();
int state = -1;
for (int i = 0; i < token.length(); i++) {
char ch = token.charAt(i);
if (Character.isWhitespace(ch)) {
state = -1;
break;
}
if (state == -1) {
if (Character.isDigit(ch)) {
state = 0;
}
}
if (state == 0) {
if (Character.isDigit(ch)) {
numberBuffer.append(ch);
}
else {
state = 1;
}
}
if (state == 1) {
typeBuffer.append(ch);
}
}
if (state == -1 && token.length() == 0) {
proposals.add("##em");
proposals.add("##px");
proposals.add("##pt");
proposals.add("##%");
}
else if (state == 0) {
proposals.add(numberBuffer + "em");
proposals.add(numberBuffer + "px");
proposals.add(numberBuffer + "pt");
proposals.add(numberBuffer + "%");
}
else if (state == 1) {
String type = typeBuffer.toString();
if (type.equalsIgnoreCase("e")) {
proposals.add(numberBuffer + "em");
}
else if (type.equalsIgnoreCase("p")) {
proposals.add(numberBuffer + "px");
proposals.add(numberBuffer + "pt");
}
}
}
}