Search in sources :

Example 1 with ICSSSelectorList

use of org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList in project webtools.sourceediting by eclipse.

the class CSSClassTraverser method addClassNames.

/**
 */
private void addClassNames(ICSSStyleRule rule) {
    ICSSSelectorList selectorList = rule.getSelectors();
    Iterator iSelector = selectorList.getIterator();
    while (iSelector.hasNext()) {
        ICSSSelector selector = (ICSSSelector) iSelector.next();
        Iterator iItem = selector.getIterator();
        while (iItem.hasNext()) {
            ICSSSelectorItem item = (ICSSSelectorItem) iItem.next();
            if (item.getItemType() == ICSSSelectorItem.SIMPLE) {
                ICSSSimpleSelector sel = (ICSSSimpleSelector) item;
                int nClasses = sel.getNumOfClasses();
                for (int iClass = 0; iClass < nClasses; iClass++) {
                    String className = sel.getClass(iClass);
                    if (!fClassNames.contains(className))
                        fClassNames.add(className);
                }
            }
        }
    }
}
Also used : ICSSSelectorList(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList) Iterator(java.util.Iterator) ICSSSelector(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelector) ICSSSimpleSelector(org.eclipse.wst.css.core.internal.provisional.document.ICSSSimpleSelector) ICSSSelectorItem(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorItem)

Example 2 with ICSSSelectorList

use of org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList in project webtools.sourceediting by eclipse.

the class SelectorsCollector method addSelectorToAvoid.

/**
 */
public void addSelectorToAvoid(ICSSStyleRule rule) {
    ICSSSelectorList list = rule.getSelectors();
    Iterator it = list.getIterator();
    while (it.hasNext()) {
        ICSSSelector sel = (ICSSSelector) it.next();
        addSelectorToAvoid(sel);
    }
}
Also used : ICSSSelectorList(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList) Iterator(java.util.Iterator) ICSSSelector(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelector)

Example 3 with ICSSSelectorList

use of org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList in project webtools.sourceediting by eclipse.

the class SelectorsCollector method preNode.

/**
 */
protected short preNode(ICSSNode node) {
    if (node.getNodeType() == ICSSNode.STYLERULE_NODE) {
        ICSSStyleRule rule = (ICSSStyleRule) node;
        ICSSSelectorList list = rule.getSelectors();
        Iterator it = list.getIterator();
        while (it.hasNext()) {
            Object obj = it.next();
            if (selectorsToAvoid != null && selectorsToAvoid.contains(obj))
                continue;
            if (!selectors.contains(obj))
                selectors.add(obj);
        }
        return TRAV_PRUNE;
    } else if (node.getNodeType() == ICSSNode.STYLESHEET_NODE) {
        return TRAV_CONT;
    }
    return TRAV_PRUNE;
}
Also used : ICSSSelectorList(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList) Iterator(java.util.Iterator) ICSSStyleRule(org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule)

Example 4 with ICSSSelectorList

use of org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList in project webtools.sourceediting by eclipse.

the class CSSSelectorTest method testSelector14.

public void testSelector14() {
    ICSSSelectorList list = createSelectorList("DIV P *[href]");
    checkSelectorList(list, "DIV P *[href]", 1, 0);
    ICSSSelector selector;
    ICSSSelectorItem item;
    selector = list.getSelector(0);
    checkSelector(selector, "DIV P *[href]", 5, 102, 0);
    item = selector.getItem(0);
    checkSimpleSelector(item, "DIV", false, 0, 0, 0, 0);
    item = selector.getItem(1);
    checkSelectorCombinator(item, " ", ICSSSelectorCombinator.DESCENDANT);
    item = selector.getItem(2);
    checkSimpleSelector(item, "P", false, 0, 0, 0, 0);
    item = selector.getItem(3);
    checkSelectorCombinator(item, " ", ICSSSelectorCombinator.DESCENDANT);
    item = selector.getItem(4);
    checkSimpleSelector(item, "*", true, 1, 0, 0, 0);
    checkSimpleSelectorAttributes(item, new String[] { "href" });
}
Also used : ICSSSelectorList(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList) ICSSSelector(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelector) ICSSSelectorItem(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorItem)

Example 5 with ICSSSelectorList

use of org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList in project webtools.sourceediting by eclipse.

the class CSSSelectorTest method testSelector03.

public void testSelector03() {
    ICSSSelectorList list = createSelectorList("H1.pastoral");
    checkSelectorList(list, "H1.pastoral", 1, 0);
    ICSSSelector selector;
    ICSSSelectorItem item;
    selector = list.getSelector(0);
    checkSelector(selector, "H1.pastoral", 1, 101, 0);
    item = selector.getItem(0);
    checkSimpleSelector(item, "H1", false, 0, 1, 0, 0);
    checkSimpleSelectorClasses(item, new String[] { "pastoral" });
}
Also used : ICSSSelectorList(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList) ICSSSelector(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelector) ICSSSelectorItem(org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorItem)

Aggregations

ICSSSelectorList (org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList)47 ICSSSelector (org.eclipse.wst.css.core.internal.provisional.document.ICSSSelector)46 ICSSSelectorItem (org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorItem)41 Iterator (java.util.Iterator)4 ICSSStyleRule (org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule)4 ICSSNode (org.eclipse.wst.css.core.internal.provisional.document.ICSSNode)2 ICSSImportRule (org.eclipse.wst.css.core.internal.provisional.document.ICSSImportRule)1 ICSSSimpleSelector (org.eclipse.wst.css.core.internal.provisional.document.ICSSSimpleSelector)1 ICSSValue (org.eclipse.wst.css.core.internal.provisional.document.ICSSValue)1 ImportRuleCollector (org.eclipse.wst.css.core.internal.util.ImportRuleCollector)1 ImportedCollector (org.eclipse.wst.css.core.internal.util.ImportedCollector)1 SelectorsCollector (org.eclipse.wst.css.core.internal.util.SelectorsCollector)1