/** * */ public void addSelectorToAvoid(ICSSStyleRule rule) { ICSSSelectorList list = rule.getSelectors(); Iterator it = list.getIterator(); while (it.hasNext()) { ICSSSelector sel = (ICSSSelector) it.next(); addSelectorToAvoid(sel); } }
/** * */ 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; }
/** * */ 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); } } } } }
/** */ protected short preNode(ICSSNode node) { if (node instanceof ICSSStyleRule) { // style rule ICSSStyleRule style = (ICSSStyleRule) node; ICSSSelectorList list = style.getSelectors(); int nSelectors = list.getLength(); int maxSpecificity = -1; for (int iSelector = 0; iSelector < nSelectors; iSelector++) { // Check each Selector Lists ICSSSelector selector = list.getSelector(iSelector); int specificity = selector.getSpecificity(); if (maxSpecificity < specificity && selector.match(element, pseudoName)) { maxSpecificity = specificity; } } if (maxSpecificity >= 0) { // apply this style to the element overwriteDeclaration((ICSSStyleDeclaration) style.getStyle(), maxSpecificity); } return TRAV_PRUNE; } return TRAV_CONT; }
ICSSSelectorList list = ((ICSSStyleRule) rule).getSelectors(); added = new ICSSSelector[list.getLength()]; for (int i = 0; i < list.getLength(); i++)
ICSSSelectorList list = ((ICSSStyleRule) rule).getSelectors(); added = new ICSSSelector[list.getLength()]; for (int i = 0; i < list.getLength(); i++)