layout();
}
// Javadoc inherited
public Object getValue() {
SelectorSequence sequence =
MODEL_FACTORY.createSelectorSequence();
String namespace = (String) namespaceCombo.getValue();
String element = (String) elementsCombo.getValue();
if (element != null && element.length() > 0) {
ElementSelector elementSelector = null;
if (ThemeConstants.UNIVERSAL_SELECTOR.equals(element)) {
elementSelector = MODEL_FACTORY.createUniversalSelector();
} else {
TypeSelector typeSelector =
MODEL_FACTORY.createTypeSelector();
typeSelector.setType(element);
elementSelector = typeSelector;
}
if (elementSelector != null) {
if (namespace != null && namespace.length() > 0) {
elementSelector.setNamespacePrefix(namespace);
}
sequence.addSelector(elementSelector);
}
}
if (idText.getText().trim().length() > 0) {
String newId = idText.getText().trim();
IdSelector idSelector = MODEL_FACTORY.createIdSelector(newId);
sequence.addSelector(idSelector);
}
Object[] classes = classSelector.getSelectedObjects();
if (classes != null && classes.length > 0) {
for (int i = 0; i < classes.length; i++) {
if (classes[i] instanceof ClassSelector) {
sequence.addSelector((Selector)classes[i]);
} else {
throw new IllegalStateException("Expected class selector");
}
}
}
Object[] attributes = attributeSelector.getSelectedObjects();
if (attributes != null && attributes.length > 0) {
for (int i = 0; i < attributes.length; i++) {
if (attributes[i] instanceof AttributeSelector) {
sequence.addSelector((Selector) attributes[i]);
} else {
throw new IllegalStateException(
"Expected attribute selector");
}
}
}
Object[] pseudoClasses = pseudoClassSelector.getSelectedObjects();
if (pseudoClasses != null && pseudoClasses.length > 0) {
for (int i = 0; i < pseudoClasses.length; i++) {
Object selector = pseudoClasses[i];
if (selector instanceof PseudoClassSelector) {
PseudoClassSelector pseudoClassSelector =
(PseudoClassSelector) selector;
sequence.addSelector(pseudoClassSelector);
} else {
throw new IllegalStateException(
"Expected pseudo class selector");
}
}
}
Object[] pseudoElements = pseudoElementSelector.getSelectedObjects();
if (pseudoElements != null && pseudoElements.length > 0) {
for (int i = 0; i < pseudoElements.length; i++) {
if (pseudoElements[i] instanceof PseudoElementSelector) {
sequence.addSelector((Selector) pseudoElements[i]);
} else {
throw new IllegalStateException(
"Expected pseudo element selector");
}
}