diff options
Diffstat (limited to 'bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/htmlcss/CSSQueryContext.java')
-rw-r--r-- | bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/htmlcss/CSSQueryContext.java | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/htmlcss/CSSQueryContext.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/htmlcss/CSSQueryContext.java deleted file mode 100644 index 1e98f23621..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/htmlcss/CSSQueryContext.java +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.html.core.internal.htmlcss; - - - -import java.util.Enumeration; - -import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclItem; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclaration; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSValue; -import org.eclipse.wst.css.core.internal.util.CSSLinkConverter; -import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext; - -/** - */ -class CSSQueryContext extends CSSPropertyContext { - - /** - */ - public CSSQueryContext() { - super(); - } - - /** - */ - public CSSQueryContext(ICSSStyleDeclaration decl) { - super(decl); - } - - /** - * - */ - public void applyFull(ICSSStyleDeclaration decl) { - if (decl == null) - return; - Enumeration keys = fProperties.keys(); - while (keys.hasMoreElements()) { - Object key = keys.nextElement(); - Object val = fProperties.get(key); - - if (val instanceof CSSQueryDeclarationData) { - ICSSStyleDeclItem declItem = ((CSSQueryDeclarationData) val).getDeclItem(); - if (declItem.getLength() <= 0) { - ICSSStyleDeclItem itemToRemove = decl.getDeclItemNode(key.toString()); - if (itemToRemove != null) { - decl.removeDeclItemNode(itemToRemove); - } - } - else { - decl.setDeclItemNode(declItem); - } - } - else { - String value = (val instanceof ICSSValue) ? ((ICSSValue) val).getCSSValueText() : val.toString(); - - if (value == null || value.length() <= 0) { - ICSSStyleDeclItem itemToRemove = decl.getDeclItemNode(key.toString()); - if (itemToRemove != null) { - decl.removeDeclItemNode(itemToRemove); - } - } - else { - decl.setProperty(key.toString(), value, null); - } - } - } - } - - /** - */ - private boolean check(String propName, boolean important, int specificity) { - Object current = fProperties.get(propName); - if (current != null && current instanceof CSSQueryValueData) { - CSSQueryValueData currentValue = (CSSQueryValueData) current; - if ((!important && currentValue.important) || (currentValue.getSpecificity() > specificity)) { - return false; - } - } - return true; - } - - /** - */ - public void overrideWithExpand(ICSSStyleDeclaration decl, int specificity) { - if (decl == null) - return; - - CSSLinkConverter conv = new CSSLinkConverter(decl.getOwnerDocument().getModel()); - - int nProperties = decl.getLength(); - for (int i = 0; i < nProperties; i++) { - String propName = decl.item(i); - if (propName != null) { - String propN = propName.trim().toLowerCase(); - if (propN.length() != 0) { - PropCMProperty prop = PropCMProperty.getInstanceOf(propN); - String priority = decl.getPropertyPriority(propName); - boolean important = priority != null && priority.length() > 0; - if (prop != null && prop.isShorthand()) { - // expand shorthand property - CSSQueryContext context = new CSSQueryContext(); - expandToLeaf(prop, decl.getPropertyValue(propName), context); - - Enumeration properties = context.properties(); - while (properties.hasMoreElements()) { - propN = properties.nextElement().toString(); - if (check(propN, important, specificity)) { - fProperties.put(propN, new CSSQueryValueData(conv.toAbsolute(context.get(propN)), important, specificity)); - } - } - } - else { - if (check(propN, important, specificity)) { - ICSSStyleDeclItem declItem = (ICSSStyleDeclItem) decl.getDeclItemNode(propName).cloneNode(true); - int nValues = declItem.getLength(); - for (int j = 0; j < nValues; j++) { - conv.toAbsolute(declItem.item(j)); - } - declItem.setPriority(null); - fProperties.put(propN, new CSSQueryDeclarationData(declItem, important, specificity)); - } - } - } - } - } - } -} |