diff options
Diffstat (limited to 'bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java')
-rw-r--r-- | bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java deleted file mode 100644 index 999d7288a0..0000000000 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java +++ /dev/null @@ -1,166 +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.ui.internal.contentassist; - - - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.Preferences; -import org.eclipse.wst.css.core.internal.CSSCorePlugin; -import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode; -import org.eclipse.wst.css.core.internal.metamodel.util.CSSMetaModelUtil; -import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts; -import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclItem; -import org.eclipse.wst.css.ui.internal.image.CSSImageType; - -class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator { - - /** - * CSSProposalGeneratorForDeclaration constructor comment. - * - */ - CSSProposalGeneratorForDeclarationName(CSSContentAssistContext context) { - super(context); - } - - /** - * getCandidates method comment. - */ - protected Iterator getCandidates() { - List candidates = new ArrayList(); - Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences(); - String preDelim = "";//$NON-NLS-1$ - for (int i = 0; i < preferences.getInt(CSSCorePreferenceNames.FORMAT_PROP_PRE_DELIM); i++) { - preDelim += ' ';//$NON-NLS-1$ - } - String postDelim = "";//$NON-NLS-1$ - for (int i = 0; i < preferences.getInt(CSSCorePreferenceNames.FORMAT_PROP_POST_DELIM); i++) { - postDelim += ' ';//$NON-NLS-1$ - } - - ICSSNode targetNode = fContext.getTargetNode(); - boolean bFontRule = false; - for (ICSSNode node = targetNode; node != null; node = node.getParentNode()) { - if (node instanceof org.w3c.dom.css.CSSFontFaceRule) { - bFontRule = true; - break; - } - } - - List names = new ArrayList(); - CSSMetaModelUtil util = new CSSMetaModelUtil(fContext.getMetaModel()); - Iterator iNames = util.collectNodesByType((bFontRule) ? CSSMMNode.TYPE_DESCRIPTOR : CSSMMNode.TYPE_PROPERTY); - while (iNames.hasNext()) { - CSSMMNode node = (CSSMMNode) iNames.next(); - names.add(node); - } - sortNames(names); - // Collections.sort(names); - - boolean bAddColon = true; - if (targetNode instanceof ICSSStyleDeclItem && fContext.targetHas(CSSRegionContexts.CSS_DECLARATION_SEPARATOR)) { - bAddColon = false; - } - - Iterator i = names.iterator(); - while (i.hasNext()) { - CSSMMNode node = (CSSMMNode) i.next(); - String text = node.getName(); - text = (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.UPPER) ? text.toUpperCase() : text.toLowerCase(); - if (!isMatch(text)) { - continue; - } - - int cursorPos = 0; - StringBuffer buf = new StringBuffer(); - buf.append(text); - buf.append(preDelim); - cursorPos = buf.length(); - if (bAddColon) { - buf.append(':');//$NON-NLS-1$ - buf.append(postDelim); - cursorPos += 1 + postDelim.length(); - } - // if (! (targetNode instanceof ICSSStyleDeclItem)) { - // buf.append(';');//$NON-NLS-1$ - // } - - CSSCACandidate item = new CSSCACandidate(); - item.setReplacementString(buf.toString()); - item.setCursorPosition(cursorPos); - item.setDisplayString(text); - item.setImageType(getCategoryImageType(node)); - candidates.add(item); - } - - return candidates.iterator(); - } - - void sortNames(List names) { - Collections.sort(names, new Comparator() { - public int compare(Object o1, Object o2) { - CSSMMNode node1 = (CSSMMNode) o1; - CSSMMNode node2 = (CSSMMNode) o2; - if (node1 == null) { - return 1; - } else if (node2 == null) { - return -1; - } - int diff = 0; - String category1 = node1.getAttribute("category"); //$NON-NLS-1$ - String category2 = node2.getAttribute("category"); //$NON-NLS-1$ - if (category1 == null) { - if (category2 == null) { - diff = 0; - } else { - return 1; - } - } else if (category2 == null) { - return -1; - } else { - diff = category1.compareTo(category2); - } - if (diff == 0) { - String name = node1.getName(); - if (name == null) { - return 1; - } else { - return name.compareTo(node2.getName()); - } - } else { - return diff; - } - } - }); - } - - /* - * retrieve default category icon name TODO: if node has "icon"(?), use - * it. - */ - CSSImageType getCategoryImageType(CSSMMNode node) { - CSSImageType imageType = null; - if (node != null) { - String category = node.getAttribute("category"); //$NON-NLS-1$ - if (category != null) { - imageType = CSSImageType.getImageType(category); - } - } - return (imageType == null) ? CSSImageType.CATEGORY_DEFAULT : imageType; - } -} |