/** * */ 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 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; }
/** * */ protected void formatPre(ICSSNode node, StringBuffer source) { CSSCleanupStrategy stgy = getCleanupStrategy(node); int start = ((IndexedRegion) node).getStartOffset(); int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node); if (end > 0) { // format source IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument(); CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy); for (int i = 0; i < regions.length; i++) { if (i != 0) appendSpaceBetween(node, regions[i - 1], regions[i], source); source.append(decoratedSelectorRegion(regions[i], (i != 0) ? regions[i - 1] : null, stgy)); } } else { // generate source String str = ((ICSSStyleRule) node).getSelectorText(); // appendSpaceBefore(node,str,source); source.append(str); appendSpaceBefore(node, "{", source);//$NON-NLS-1$ source.append("{");//$NON-NLS-1$ } appendDelimBefore(node, null, source); }
/** * */ 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); } } } } }
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++)