diff options
Diffstat (limited to 'bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java')
-rw-r--r-- | bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java | 233 |
1 files changed, 0 insertions, 233 deletions
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java deleted file mode 100644 index da5214eade..0000000000 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java +++ /dev/null @@ -1,233 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2008 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.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.Preferences; -import org.eclipse.jface.text.contentassist.CompletionProposal; -import org.eclipse.jface.text.contentassist.ICompletionProposal; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.css.core.internal.CSSCorePlugin; -import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts; -import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames; -import org.eclipse.wst.css.ui.internal.image.CSSImageHelper; -import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; - -abstract class CSSProposalGenerator { - - - protected class StringAndOffset { - StringAndOffset(String string, int offset) { - this.fString = string; - this.fOffset = offset; - } - - String fString; - int fOffset; - } - - protected CSSContentAssistContext fContext = null; - - /** - * CSSProposalGenerator constructor comment. - */ - private CSSProposalGenerator() { - super(); - } - - CSSProposalGenerator(CSSContentAssistContext context) { - this(); - fContext = context; - } - - /** - * - */ - protected boolean checkLeadingColon() { - boolean hasLeadingColon = false; - ITextRegion targetRegion = fContext.getTargetRegion(); - if (targetRegion == null && 0 < fContext.getCursorPos()) { - targetRegion = fContext.getRegionByOffset(fContext.getCursorPos() - 1); - if (targetRegion != null && targetRegion.getType() == CSSRegionContexts.CSS_SELECTOR_PSEUDO) { - hasLeadingColon = true; - } - } - else if (targetRegion != null) { - // BUG 92848 - Changed how pseudo-selectors are defined in the - // tokenizer - // The target region should be the CSS_SELECTOR_PSEUDO now - if (targetRegion.getType() == CSSRegionContexts.CSS_SELECTOR_PSEUDO) { - hasLeadingColon = true; - } - } - return hasLeadingColon; - } - - /** - * - */ - protected StringAndOffset generateBraces() { - StringBuffer buf = new StringBuffer(); - String lineDelimiter = fContext.getStructuredDocument().getLineDelimiter(); - Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences(); - String indentStr = getIndentString(); - if (preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE)) { - buf.append(lineDelimiter); - } - buf.append("{");//$NON-NLS-1$ - if (preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE)) { - buf.append(lineDelimiter); - buf.append(indentStr); - } else { - buf.append(" ");//$NON-NLS-1$ - } - int offset = buf.length(); - if (preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE)) { - buf.append(lineDelimiter); - } else { - buf.append(" ");//$NON-NLS-1$ - } - buf.append("}");//$NON-NLS-1$ - return new StringAndOffset(buf.toString(), offset); - } - - /** - * - */ - protected StringAndOffset generateParenthesis() { - StringBuffer buf = new StringBuffer(); - int offset; - buf.append("(");//$NON-NLS-1$ - offset = 1; - buf.append(")");//$NON-NLS-1$ - return new StringAndOffset(buf.toString(), offset); - } - - /** - * - */ - protected StringAndOffset generateQuotes() { - StringBuffer buf = new StringBuffer(); - char quoteChar = getQuoteChar(); - buf.append(quoteChar); - buf.append(quoteChar); - return new StringAndOffset(buf.toString(), 1); - } - - /** - * - */ - protected StringAndOffset generateSemicolon() { - StringBuffer buf = new StringBuffer(); - int offset; - buf.append(";");//$NON-NLS-1$ - offset = 0; - return new StringAndOffset(buf.toString(), offset); - } - - /** - * - */ - protected StringAndOffset generateURI() { - StringBuffer buf = new StringBuffer(); - - boolean isQuoteInURI = CSSCorePlugin.getDefault().getPluginPreferences().getBoolean(CSSCorePreferenceNames.FORMAT_QUOTE_IN_URI); - char quoteChar = getQuoteChar(); - buf.append("url(");//$NON-NLS-1$ - if (isQuoteInURI) { - buf.append(quoteChar); - } - int offset = buf.length(); - if (isQuoteInURI) { - buf.append(quoteChar); - } - buf.append(")");//$NON-NLS-1$ - return new StringAndOffset(buf.toString(), offset); - } - - abstract protected Iterator getCandidates(); - - List getProposals() { - List proposals = new ArrayList(); - - CSSImageHelper imageHelper = CSSImageHelper.getInstance(); - Iterator i = getCandidates(); - while (i.hasNext()) { - CSSCACandidate candidate = (CSSCACandidate) i.next(); - Image image = imageHelper.getImage(candidate.getImageType()); - ICompletionProposal item = new CompletionProposal(candidate.getReplacementString(), fContext.getReplaceBegin() + fContext.getDocumentOffset(), fContext.getTextToReplace().length(), candidate.getCursorPosition(), image, candidate.getDisplayString(), null, null); - proposals.add(item); - } - - return proposals; - } - - /** - * - * @return char - */ - private char getQuoteChar() { - - String quoteStr = CSSCorePlugin.getDefault().getPluginPreferences().getString(CSSCorePreferenceNames.FORMAT_QUOTE); - char quoteChar = (quoteStr != null && 0 < quoteStr.length()) ? quoteStr.charAt(0) : '"'; - char attrQuote = fContext.getQuoteOfStyleAttribute(); - if (attrQuote != 0) { - if (attrQuote == '"' && quoteChar == '"') { - quoteChar = '\''; - } else if (attrQuote == '\'' && quoteChar == '\'') { - quoteChar = '"'; - } - } - return quoteChar; - } - - /** - * - */ - protected boolean isMatch(String text) { - String textToCompare = fContext.getTextToCompare(); - if (textToCompare.length() == 0) { - return true; - } else { - return (text.toUpperCase().indexOf(textToCompare.toUpperCase()) == 0); - } - /* - * String textToReplace = fContext.getTextToReplace(); if - * (textToReplace.length() == 0) { return true; } else { return - * (text.toUpperCase().indexOf(textToReplace.toUpperCase()) == 0); } - */ - } - - - private String getIndentString() { - StringBuffer indent = new StringBuffer(); - - Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences(); - if (preferences != null) { - char indentChar = ' '; - String indentCharPref = preferences.getString(CSSCorePreferenceNames.INDENTATION_CHAR); - if (CSSCorePreferenceNames.TAB.equals(indentCharPref)) { - indentChar = '\t'; - } - int indentationWidth = preferences.getInt(CSSCorePreferenceNames.INDENTATION_SIZE); - - for (int i = 0; i < indentationWidth; i++) { - indent.append(indentChar); - } - } - return indent.toString(); - } -} |