diff options
Diffstat (limited to 'bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/declaration/BackgroundPositionYSubStyleAdapter.java')
-rw-r--r-- | bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/declaration/BackgroundPositionYSubStyleAdapter.java | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/declaration/BackgroundPositionYSubStyleAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/declaration/BackgroundPositionYSubStyleAdapter.java deleted file mode 100644 index 948df9b194..0000000000 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/declaration/BackgroundPositionYSubStyleAdapter.java +++ /dev/null @@ -1,150 +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.css.core.internal.util.declaration; - - - -import java.util.Collection; -import java.util.Iterator; - -import org.eclipse.wst.css.core.internal.contentmodel.IValID; -import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty; -import org.eclipse.wst.css.core.internal.contentmodel.PropCMSubProperty; -import org.eclipse.wst.css.core.internal.contentmodel.PropCMUtil; -import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts; -import org.eclipse.wst.css.core.internal.parserz.CSSTextParser; -import org.eclipse.wst.css.core.internal.parserz.CSSTextToken; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSPrimitiveValue; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSValue; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSValueList; -import org.w3c.dom.css.CSSPrimitiveValue; -import org.w3c.dom.css.CSSValue; - - -/** - * for vertical value of 'background-position' - */ -public class BackgroundPositionYSubStyleAdapter implements ISubPropertyAdapter { - - /** - * - */ - public BackgroundPositionYSubStyleAdapter() { - super(); - } - - /** - * - */ - protected CSSTextToken[] correctMeaningToken(CSSTextToken[] src) { - java.util.ArrayList list = new java.util.ArrayList(); - for (int i = 0; i < src.length; i++) { - if (src[i].kind != CSSRegionContexts.CSS_S && src[i].kind != CSSRegionContexts.CSS_DECLARATION_VALUE_S && src[i].kind != CSSRegionContexts.CSS_COMMENT) - list.add(src[i]); - } - CSSTextToken[] ret = new CSSTextToken[list.size()]; - list.toArray(ret); - return ret; - } - - /** - * - */ - public String get(ICSS2Properties properties) { - String str = null; - Object obj = properties.get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION)); - if (obj != null) { - PropCMProperty propX = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X); - PropCMProperty propY = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y); - if (obj instanceof ICSSValueList) { - ICSSValueList list = (ICSSValueList) obj; - int index = 1; - ICSSValue value = (ICSSValue) list.item(0); - if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) { - ICSSPrimitiveValue prim = (ICSSPrimitiveValue) value; - if (prim.getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT) { - // check not top or bottom - if (!propX.canHave(prim.getStringValue()) && propY.canHave(prim.getStringValue())) { - // case order is vertical -> horizontal - index = 0; - } - } - } - str = ((ICSSValue) list.item(index)).getCSSValueText(); - } - else if (obj instanceof ICSSValue) { - str = ((ICSSValue) obj).getCSSValueText(); - if (!str.equalsIgnoreCase(IValID.V_BOTTOM) && !str.equalsIgnoreCase(IValID.V_TOP)) - str = "";//$NON-NLS-1$ - } - else { - str = obj.toString(); - CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, str); - CSSTextToken[] tokens = parser.getTokens(); - - tokens = correctMeaningToken(tokens); - if (tokens.length == 1 && (tokens[0].image.equalsIgnoreCase(IValID.V_BOTTOM) || tokens[0].image.equalsIgnoreCase(IValID.V_TOP))) - str = tokens[0].image; - else if (tokens.length > 1) - str = tokens[1].image; - else - str = "";//$NON-NLS-1$ - } - } - return (str != null) ? str : "";//$NON-NLS-1$ - } - - /** - * - */ - public void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException { - String newValue = null; - String valH = properties.getBackgroundPositionX(); - String valV = value; - if (valH != null && (valH.trim().equals("0%") /* default value */|| //$NON-NLS-1$ - valH.trim().equalsIgnoreCase(IValID.V_LEFT) /* - * another - * default - * value - */)) - valH = null; - if (valV == null || valV.length() == 0) - newValue = valH; - else if (valH == null || valH.length() == 0) { - Collection valX = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X).getValues(); - Collection valY = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y).getValues(); - PropCMUtil.minus(valY, valX); - Iterator it = valY.iterator(); - while (it.hasNext()) { - Object obj = it.next(); - if (obj.toString().equals(valV.toLowerCase())) { - // need not compensate for ... - newValue = valV; - break; - } - } - // compensate for Horizontal value - if (newValue == null) { - // check valV is length or not - CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, valV.trim()); - CSSTextToken[] tokens = parser.getTokens(); - if (tokens != null && tokens.length > 0 && tokens[0].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) { - newValue = IValID.V_LEFT + " " + valV;//$NON-NLS-1$ - } - else - newValue = "0% " + valV;//$NON-NLS-1$ - } - } - else - newValue = valH + " " + valV;//$NON-NLS-1$ - properties.setBackgroundPosition(newValue); - } -} |