Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavid_williams2005-05-25 21:11:11 +0000
committerdavid_williams2005-05-25 21:11:11 +0000
commitd3484c7460a56ed05ad2eff8096d312d1a107b84 (patch)
tree177c0ba11ce26410fedcf7dd9da5792b1fc9e556 /bundles
parent6d01c05d4b484610b30ea98f43c970f4be5fe7d2 (diff)
downloadwebtools.sourceediting-d3484c7460a56ed05ad2eff8096d312d1a107b84.tar.gz
webtools.sourceediting-d3484c7460a56ed05ad2eff8096d312d1a107b84.tar.xz
webtools.sourceediting-d3484c7460a56ed05ad2eff8096d312d1a107b84.zip
[88846] Make indentation customizable
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.jst.jsp.core/plugin.xml5
-rw-r--r--bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java40
-rw-r--r--bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/preferences/JSPCorePreferenceInitializer.java38
-rw-r--r--bundles/org.eclipse.wst.css.core/plugin.xml4
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePlugin.java47
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CSSCleanupStrategyImpl.java31
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSCharsetRuleImpl.java5
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AbstractCSSSourceFormatter.java237
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrFormatter.java21
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CharsetRuleFormatter.java50
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CounterFormatter.java19
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FontFaceRuleFormatter.java6
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FunctionFormatter.java21
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/ImportRuleFormatter.java96
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaListFormatter.java45
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaRuleFormatter.java141
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PageRuleFormatter.java7
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PrimitiveValueFormatter.java14
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclItemFormatter.java99
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclarationFormatter.java52
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleSheetFormatter.java13
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/preferences/CSSCorePreferenceInitializer.java68
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/preferences/CSSCorePreferenceNames.java134
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSModelPreferenceNames.java32
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSPreferenceHelper.java133
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/CSSLinkConverter.java29
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIMessages.java3
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPluginResources.properties3
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/autoedit/StructuredAutoEditStrategyCSS.java50
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java45
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForAtmarkRule.java5
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java47
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java5
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java5
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/CSSPreferenceManager.java184
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSColorManager.java204
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSSourcePreferencePage.java347
-rw-r--r--bundles/org.eclipse.wst.html.core/plugin.xml5
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLContentBuilder.java14
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePlugin.java46
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java18
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java14
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLConverter.java10
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLDocumentTypeAdapterFactory.java10
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatProcessorImpl.java31
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatter.java29
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatterFactory.java29
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/preferences/HTMLCorePreferenceInitializer.java59
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/preferences/HTMLCorePreferenceNames.java214
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/provisional/HTMLFilesPreferenceNames.java5
-rw-r--r--bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIMessages.java9
-rw-r--r--bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPluginResources.properties11
-rw-r--r--bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLMinimalContentModelGenerator.java10
-rw-r--r--bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentoutline/HTMLNodeActionManager.java14
-rw-r--r--bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/edit/ui/CleanupDialogHTML.java62
-rw-r--r--bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLFilesPreferencePage.java60
-rw-r--r--bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLSourcePreferencePage.java26
-rw-r--r--bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/CommonEncodingPreferenceNames.java5
-rw-r--r--bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePlugin.java30
-rw-r--r--bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/CommonModelPreferenceNames.java43
-rw-r--r--bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/PreferenceChangeListener.java24
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/StructuredTextViewerConfiguration.java1
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/preferences/PreferenceManager.java372
-rw-r--r--bundles/org.eclipse.wst.xml.core/plugin.xml5
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePlugin.java37
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/CleanupProcessorXML.java18
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/NodeCleanupHandler.java18
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/preferences/XMLCorePreferenceInitializer.java51
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/preferences/XMLCorePreferenceNames.java144
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/FormatProcessorXML.java29
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/NodeFormatter.java29
-rw-r--r--bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIMessages.java3
-rw-r--r--bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPluginResources.properties3
-rw-r--r--bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/CleanupDialogXML.java34
-rw-r--r--bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/AbstractContentAssistProcessor.java2
-rw-r--r--bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/ContentAssistRequest.java7
-rw-r--r--bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/preferences/XMLSourcePreferencePage.java102
77 files changed, 1798 insertions, 2120 deletions
diff --git a/bundles/org.eclipse.jst.jsp.core/plugin.xml b/bundles/org.eclipse.jst.jsp.core/plugin.xml
index f1ad265a98..e5cfeb359e 100644
--- a/bundles/org.eclipse.jst.jsp.core/plugin.xml
+++ b/bundles/org.eclipse.jst.jsp.core/plugin.xml
@@ -145,4 +145,9 @@
content-type="org.eclipse.core.runtime.xml"
file-extensions="tld"/>
</extension>
+
+ <!-- initialize jsp core preferences -->
+ <extension point="org.eclipse.core.runtime.preferences">
+ <initializer class="org.eclipse.jst.jsp.core.internal.preferences.JSPCorePreferenceInitializer"/>
+ </extension>
</plugin>
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java
index 579bb56180..3905b7bc96 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java
@@ -14,13 +14,9 @@ import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
import org.eclipse.jst.jsp.core.internal.java.search.JSPIndexManager;
import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames;
-import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.osgi.framework.BundleContext;
/**
@@ -53,42 +49,6 @@ public class JSPCorePlugin extends Plugin {
}
/* (non-Javadoc)
- * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
- */
- protected void initializeDefaultPluginPreferences() {
- Preferences prefs = getDefault().getPluginPreferences();
- // set model preference defaults
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
- prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
- prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
- prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-
- prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-
- String defaultEnc = CommonModelPreferenceNames.UTF_8;
- String systemEnc = System.getProperty("file.encoding"); //$NON-NLS-1$
- if (systemEnc != null) {
- defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, CommonModelPreferenceNames.UTF_8);
- }
- prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
-
- prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
- prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, CommonModelPreferenceNames.DEFAULT_TAB_WIDTH);
-
- prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, true);
- prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
- prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
- prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
- prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-
- prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, true);
- prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.UPPER);
- prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
- }
-
- /* (non-Javadoc)
* @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/preferences/JSPCorePreferenceInitializer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/preferences/JSPCorePreferenceInitializer.java
new file mode 100644
index 0000000000..762af18836
--- /dev/null
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/preferences/JSPCorePreferenceInitializer.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 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.jst.jsp.core.internal.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
+import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames;
+import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
+
+/**
+ * Sets default values for JSP Core preferences
+ */
+public class JSPCorePreferenceInitializer extends AbstractPreferenceInitializer {
+
+ public void initializeDefaultPreferences() {
+ IEclipsePreferences node = new DefaultScope().getNode(JSPCorePlugin.getDefault().getBundle().getSymbolicName());
+
+ // code generation preferences
+ node.put(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
+ String defaultEnc = "ISO-8859-1";//$NON-NLS-1$
+ String systemEnc = System.getProperty("file.encoding"); //$NON-NLS-1$
+ if (systemEnc != null) {
+ defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, "ISO-8859-1");//$NON-NLS-1$
+ }
+ node.put(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
+ node.put(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
+ }
+}
diff --git a/bundles/org.eclipse.wst.css.core/plugin.xml b/bundles/org.eclipse.wst.css.core/plugin.xml
index 0441d260d8..ef6e09bc73 100644
--- a/bundles/org.eclipse.wst.css.core/plugin.xml
+++ b/bundles/org.eclipse.wst.css.core/plugin.xml
@@ -92,4 +92,8 @@
</content-type>
</extension>
+ <!-- initialize css core preferences -->
+ <extension point="org.eclipse.core.runtime.preferences">
+ <initializer class="org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceInitializer"/>
+ </extension>
</plugin>
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePlugin.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePlugin.java
index de3169a6de..710b39a528 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePlugin.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePlugin.java
@@ -13,11 +13,6 @@ package org.eclipse.wst.css.core.internal;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames;
-import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
/**
* The main plugin class to be used in the desktop.
@@ -47,46 +42,4 @@ public class CSSCorePlugin extends Plugin {
public static IWorkspace getWorkspace() {
return ResourcesPlugin.getWorkspace();
}
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
- */
- protected void initializeDefaultPluginPreferences() {
- Preferences prefs = getDefault().getPluginPreferences();
-
- CSSPreferenceHelper.createDefaultPreferences(prefs);
-
- // set model preference defaults
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
- prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
- prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
- prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-
- prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-
- String defaultEnc = CommonModelPreferenceNames.UTF_8;
- String systemEnc = System.getProperty("file.encoding"); //$NON-NLS-1$
- if (systemEnc != null) {
- defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, CommonModelPreferenceNames.UTF_8);
- }
- prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
-
- prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
-
- prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, 4);
-
- prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, true);
- prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
- prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
- prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
- prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-
- prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, false);
- prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
- prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
- }
}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CSSCleanupStrategyImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CSSCleanupStrategyImpl.java
index 5c6e8259f8..06e3e62f45 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CSSCleanupStrategyImpl.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CSSCleanupStrategyImpl.java
@@ -12,8 +12,7 @@ package org.eclipse.wst.css.core.internal.cleanup;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.wst.css.core.internal.CSSCorePlugin;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSModelPreferenceNames;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
+import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames;
@@ -83,12 +82,12 @@ public class CSSCleanupStrategyImpl implements CSSCleanupStrategy {
*/
private void initialize() {
Preferences prefs = CSSCorePlugin.getDefault().getPluginPreferences();
- fIdentCase = getCleanupCaseValue(prefs.getInt(CSSModelPreferenceNames.CLEANUP_CASE_IDENTIFIER));
- fPropNameCase = getCleanupCaseValue(prefs.getInt(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_NAME));
- fPropValueCase = getCleanupCaseValue(prefs.getInt(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_VALUE));
- fSelectorTagCase = getCleanupCaseValue(prefs.getInt(CSSModelPreferenceNames.CLEANUP_CASE_SELECTOR));
- fQuoteValues = prefs.getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES);
- fFormatSource = prefs.getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE);
+ fIdentCase = getCleanupCaseValue(prefs.getInt(CSSCorePreferenceNames.CLEANUP_CASE_IDENTIFIER));
+ fPropNameCase = getCleanupCaseValue(prefs.getInt(CSSCorePreferenceNames.CLEANUP_CASE_PROPERTY_NAME));
+ fPropValueCase = getCleanupCaseValue(prefs.getInt(CSSCorePreferenceNames.CLEANUP_CASE_PROPERTY_VALUE));
+ fSelectorTagCase = getCleanupCaseValue(prefs.getInt(CSSCorePreferenceNames.CLEANUP_CASE_SELECTOR));
+ fQuoteValues = prefs.getBoolean(CSSCorePreferenceNames.QUOTE_ATTR_VALUES);
+ fFormatSource = prefs.getBoolean(CSSCorePreferenceNames.FORMAT_SOURCE);
}
/**
@@ -100,9 +99,9 @@ public class CSSCleanupStrategyImpl implements CSSCleanupStrategy {
*/
private short getCleanupCaseValue(int value) {
switch (value) {
- case CommonModelPreferenceNames.LOWER :
+ case CSSCorePreferenceNames.LOWER :
return LOWER;
- case CommonModelPreferenceNames.UPPER :
+ case CSSCorePreferenceNames.UPPER :
return UPPER;
}
return ASIS;
@@ -180,12 +179,12 @@ public class CSSCleanupStrategyImpl implements CSSCleanupStrategy {
// TODO: a saveOptions should be added to CSSCleanupStrategy interface
public void saveOptions() {
- CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSModelPreferenceNames.CLEANUP_CASE_IDENTIFIER, fIdentCase);
- CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_NAME, fPropNameCase);
- CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_VALUE, fPropValueCase);
- CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSModelPreferenceNames.CLEANUP_CASE_SELECTOR, fSelectorTagCase);
- CSSCorePlugin.getDefault().getPluginPreferences().setValue(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, fQuoteValues);
- CSSCorePlugin.getDefault().getPluginPreferences().setValue(CommonModelPreferenceNames.FORMAT_SOURCE, fFormatSource);
+ CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSCorePreferenceNames.CLEANUP_CASE_IDENTIFIER, fIdentCase);
+ CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSCorePreferenceNames.CLEANUP_CASE_PROPERTY_NAME, fPropNameCase);
+ CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSCorePreferenceNames.CLEANUP_CASE_PROPERTY_VALUE, fPropValueCase);
+ CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSCorePreferenceNames.CLEANUP_CASE_SELECTOR, fSelectorTagCase);
+ CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSCorePreferenceNames.QUOTE_ATTR_VALUES, fQuoteValues);
+ CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSCorePreferenceNames.FORMAT_SOURCE, fFormatSource);
CSSCorePlugin.getDefault().savePluginPreferences();
}
} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSCharsetRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSCharsetRuleImpl.java
index 7748a0b9d8..a16d26a675 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSCharsetRuleImpl.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSCharsetRuleImpl.java
@@ -12,9 +12,10 @@ package org.eclipse.wst.css.core.internal.document;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
+import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSCharsetRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.CSSUtil;
@@ -85,7 +86,7 @@ class CSSCharsetRuleImpl extends CSSRuleImpl implements ICSSCharsetRule {
// pa_TODO css pref
// String quote =
// com.ibm.sse.editor.css.preferences.CSSPreferenceHelper.getInstance().getQuoteString((ICSSModel)getOwnerDocument().getModel());
- String quote = CSSPreferenceHelper.getInstance().getQuoteString(null);
+ String quote = CSSCorePlugin.getDefault().getPluginPreferences().getString(CSSCorePreferenceNames.FORMAT_QUOTE);
String enc = CSSUtil.extractStringContents(encoding);
quote = CSSUtil.detectQuote(enc, quote);
setAttribute(ENCODING, quote + enc + quote);
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AbstractCSSSourceFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AbstractCSSSourceFormatter.java
index d1c40d7a60..ba40786c46 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AbstractCSSSourceFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AbstractCSSSourceFormatter.java
@@ -13,12 +13,15 @@ package org.eclipse.wst.css.core.internal.formatter;
import java.util.ArrayList;
import java.util.Iterator;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.DefaultLineTracker;
import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.TextUtilities;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategyImpl;
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.ICSSAttr;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSDocument;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
@@ -26,7 +29,6 @@ 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.core.internal.provisional.document.ICSSStyleDeclaration;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleSheet;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.CSSLinkConverter;
import org.eclipse.wst.css.core.internal.util.CSSUtil;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
@@ -64,15 +66,14 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
if (isCleanup() && !getCleanupStrategy(node).isFormatSource())
return; // for not formatting case on cleanup action
String delim = getLineDelimiter(node);
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
boolean needIndent = !(node instanceof ICSSStyleSheet);
if (toAppend == null) {
source.append(delim);
source.append(getIndent(node));
if (needIndent)
- source.append(mgr.getIndentString());
- }
- else {
+ source.append(getIndentString());
+ } else {
String type = toAppend.getType();
if (type == CSSRegionContexts.CSS_COMMENT) {
RegionIterator it = new RegionIterator(toAppend.getDocumentRegion(), toAppend.getTextRegion());
@@ -82,42 +83,40 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
source.append(delim);
source.append(getIndent(node));
if (needIndent)
- source.append(mgr.getIndentString());
- }
- else {
+ source.append(getIndentString());
+ } else {
appendSpaceBefore(node, toAppend.getText(), source);
}
- }
- else if (type == CSSRegionContexts.CSS_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
+ } else if (type == CSSRegionContexts.CSS_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
RegionIterator it = new RegionIterator(toAppend.getDocumentRegion(), toAppend.getTextRegion());
it.prev();
ITextRegion prev = it.prev();
+
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+
if (prev.getType() == CSSRegionContexts.CSS_S && TextUtilities.indexOf(DefaultLineTracker.DELIMITERS, it.getStructuredDocumentRegion().getText(prev), 0)[0] >= 0) {
source.append(delim);
source.append(getIndent(node));
if (needIndent)
- source.append(mgr.getIndentString());
- }
- else if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
+ source.append(getIndentString());
+ } else if (preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH) > 0 && (!preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR) || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
int length = getLastLineLength(node, source);
int append = 1;
- if (length + append > mgr.getMaxLineWidth()) {
+ if (length + append > preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH)) {
source.append(getLineDelimiter(node));
source.append(getIndent(node));
if (needIndent)
- source.append(mgr.getIndentString());
+ source.append(getIndentString());
}
}
- }
- else if (type == CSSRegionContexts.CSS_RBRACE || type == CSSRegionContexts.CSS_LBRACE) {
+ } else if (type == CSSRegionContexts.CSS_RBRACE || type == CSSRegionContexts.CSS_LBRACE) {
source.append(delim);
source.append(getIndent(node));
- }
- else {
+ } else {
source.append(delim);
source.append(getIndent(node));
if (needIndent)
- source.append(mgr.getIndentString());
+ source.append(getIndentString());
}
}
}
@@ -131,7 +130,9 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
if (isCleanup() && !getCleanupStrategy(node).isFormatSource())
return; // for not formatting case on cleanup action
String type = toAppend.getType();
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+
boolean needIndent = !(node instanceof ICSSStyleSheet);
if (type == CSSRegionContexts.CSS_COMMENT) {
// check whether previous region is 'S' and has CR-LF
@@ -143,50 +144,45 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
source.append(delim);
source.append(getIndent(node));
if (needIndent)
- source.append(mgr.getIndentString());
- }
- else {
+ source.append(getIndentString());
+ } else {
appendSpaceBefore(node, toAppend.getText(), source);
}
- }
- else if (type == CSSRegionContexts.CSS_LBRACE && mgr.isNewLineOnOpenBrace()) {
+ } else if (type == CSSRegionContexts.CSS_LBRACE && preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE)) {
String delim = getLineDelimiter(node);
source.append(delim);
source.append(getIndent(node));
// } else if (type == CSSRegionContexts.CSS_CURLY_BRACE_CLOSE) {
// } else if (type == CSSRegionContexts.CSS_INCLUDES || type ==
// CSSRegionContexts.CSS_DASHMATCH) {
- }
- else if (type == CSSRegionContexts.CSS_DECLARATION_SEPARATOR && node instanceof ICSSStyleDeclItem) {
- int n = mgr.getSpacesPreDelimiter();
- if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
+ } else if (type == CSSRegionContexts.CSS_DECLARATION_SEPARATOR && node instanceof ICSSStyleDeclItem) {
+ int n = preferences.getInt(CSSCorePreferenceNames.FORMAT_PROP_PRE_DELIM);
+ if (preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH) > 0 && (!preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR) || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
int length = getLastLineLength(node, source);
int append = 1;
- if (length + n + append > mgr.getMaxLineWidth()) {
+ if (length + n + append > preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH)) {
source.append(getLineDelimiter(node));
source.append(getIndent(node));
if (needIndent)
- source.append(mgr.getIndentString());
+ source.append(getIndentString());
n = 0; // no space is necessary
}
}
// no delimiter case
while (n-- > 0)
source.append(" ");//$NON-NLS-1$
- }
- else if (type == CSSRegionContexts.CSS_DECLARATION_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR || type == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE) {
- if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
+ } else if (type == CSSRegionContexts.CSS_DECLARATION_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR || type == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE) {
+ if (preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH) > 0 && (!preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR) || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
int length = getLastLineLength(node, source);
int append = 1;
- if (length + append > mgr.getMaxLineWidth()) {
+ if (length + append > preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH)) {
source.append(getLineDelimiter(node));
source.append(getIndent(node));
if (needIndent)
- source.append(mgr.getIndentString());
+ source.append(getIndentString());
}
}
- }
- else
+ } else
appendSpaceBefore(node, toAppend.getText(), source);
}
@@ -198,21 +194,21 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
return;
if (isCleanup() && !getCleanupStrategy(node).isFormatSource())
return; // for not formatting case on cleanup action
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
- if (toAppend != null && toAppend.startsWith("{") && mgr.isNewLineOnOpenBrace()) {//$NON-NLS-1$
+
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+ if (toAppend != null && toAppend.startsWith("{") && preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE)) {//$NON-NLS-1$
source.append(getLineDelimiter(node));
source.append(getIndent(node));
return;
- }
- else if (/* ! mgr.isOnePropertyPerLine() && */mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
+ } else if (/* ! mgr.isOnePropertyPerLine() && */preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH) > 0 && (!preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR) || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
int n = getLastLineLength(node, source);
int append = (toAppend != null) ? TextUtilities.indexOf(DefaultLineTracker.DELIMITERS, toAppend, 0)[0] : 0;
if (toAppend != null)
append = (append < 0) ? toAppend.length() : append;
- if (n + append + 1 > mgr.getMaxLineWidth()) {
+ if (n + append + 1 > preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH)) {
source.append(getLineDelimiter(node));
source.append(getIndent(node));
- source.append(mgr.getIndentString());
+ source.append(getIndentString());
return;
}
}
@@ -262,16 +258,14 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
else
return text.toLowerCase();
}
- else {
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
- if (mgr.isPreserveCase() || region.getType() == CSSRegionContexts.CSS_COMMENT)
- return text;
- else if (mgr.isIdentUpperCase())
- return text.toUpperCase();
- else
- return text.toLowerCase();
- }
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+ if (region.getType() == CSSRegionContexts.CSS_COMMENT)
+ return text;
+ else if (preferences.getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
+ return text.toUpperCase();
+ else
+ return text.toLowerCase();
}
/**
@@ -292,16 +286,14 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
else
return text.toLowerCase();
}
- else {
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
- if (mgr.isPreserveCase() || region.getType() != CSSRegionContexts.CSS_DECLARATION_PROPERTY)
- return text;
- else if (mgr.isPropNameUpperCase())
- return text.toUpperCase();
- else
- return text.toLowerCase();
- }
+ if (region.getType() != CSSRegionContexts.CSS_DECLARATION_PROPERTY)
+ return text;
+ else if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.UPPER)
+ return text.toUpperCase();
+ else
+ return text.toLowerCase();
}
/**
@@ -318,8 +310,7 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
if (isCleanup()) {
if (stgy.getPropValueCase() != CSSCleanupStrategy.ASIS) {
if (type == CSSRegionContexts.CSS_COMMENT) {
- }
- else {
+ } else {
if (stgy.getPropValueCase() == CSSCleanupStrategy.UPPER)
text = text.toUpperCase();
else
@@ -327,20 +318,6 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
}
}
}
- else {
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-
- if (!mgr.isPreserveCase()) {
- if (type == CSSRegionContexts.CSS_COMMENT) {
- }
- else {
- if (mgr.isPropValueUpperCase())
- text = text.toUpperCase();
- else
- text = text.toLowerCase();
- }
- }
- }
return text;
}
@@ -351,30 +328,29 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
if (isFormat())
return region.getText();
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
String text = region.getText();
if (region.getType() == CSSRegionContexts.CSS_URI) {
String uri = CSSLinkConverter.stripFunc(text);
- boolean upper = (type == 0) ? mgr.isIdentUpperCase() : ((type == 1) ? mgr.isPropNameUpperCase() : mgr.isPropValueUpperCase());
- String func = mgr.isPreserveCase() ? text.substring(0, 4) : (upper ? "URL(" : "url(");//$NON-NLS-2$//$NON-NLS-1$
+
+ boolean prefIsUpper = preferences.getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER;
+ boolean upper = (type == 0) ? prefIsUpper : ((type == 1) ? preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.UPPER : preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER);
+ String func = text.substring(0, 4);
if (isCleanup()) {
upper = ((type == 0) ? stgy.getIdentCase() : ((type == 1) ? stgy.getPropNameCase() : stgy.getPropValueCase())) == CSSCleanupStrategy.UPPER;
func = ((type == 0) ? stgy.getIdentCase() : ((type == 1) ? stgy.getPropNameCase() : stgy.getPropValueCase())) == CSSCleanupStrategy.ASIS ? text.substring(0, 4) : (upper ? "URL(" : "url(");//$NON-NLS-2$//$NON-NLS-1$
}
- if ((!isCleanup() && mgr.isQuoteInURI()) || (isCleanup() && stgy.isQuoteValues())) {
- String quote = mgr.getQuoteString(null /* reserved parameter */);
+ if ((!isCleanup() && preferences.getBoolean(CSSCorePreferenceNames.FORMAT_QUOTE_IN_URI)) || (isCleanup() && stgy.isQuoteValues())) {
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
quote = CSSUtil.detectQuote(uri, quote);
text = func + quote + uri + quote + ")";//$NON-NLS-1$
- }
- else if (isCleanup() && !stgy.isQuoteValues()) {
+ } else if (isCleanup() && !stgy.isQuoteValues()) {
text = func + CSSLinkConverter.removeFunc(text) + ")";//$NON-NLS-1$
- }
- else {
+ } else {
text = func + uri + ")";//$NON-NLS-1$
}
- }
- else if (region.getType() == CSSRegionContexts.CSS_STRING && (!isCleanup() || stgy.isQuoteValues())) {
- String quote = mgr.getQuoteString(null /* reserved parameter */);
+ } else if (region.getType() == CSSRegionContexts.CSS_STRING && (!isCleanup() || stgy.isQuoteValues())) {
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
// begginning
if (!text.startsWith(quote)) {
if (text.startsWith("\"") || text.startsWith("\'")) //$NON-NLS-1$ //$NON-NLS-2$
@@ -494,15 +470,14 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
childSource = ((AbstractCSSSourceFormatter) formatter).formatProc(child);
else
childSource = ((AbstractCSSSourceFormatter) formatter).formatProc(child, overlappedRegion(region, curStart, curEnd));
- }
- else
+ } else
toFinish = true;
}
// append between children
if (!first) {
curEnd = ((IndexedRegion) child).getStartOffset(); // change
- // only
- // start
+ // only
+ // start
if (start < curEnd) {
int curStart = ((IndexedRegion) child.getPreviousSibling()).getEndOffset();
if (curStart < end) {
@@ -598,8 +573,7 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
else
formatPost(node, overlappedRegion(region, curStart, curEnd), source);
}
- }
- else {
+ } else {
curEnd = getChildInsertPos(node);
if (overlaps(region, curStart, curEnd)) {
if (includes(region, curStart, curEnd))
@@ -634,20 +608,20 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
* org.eclipse.wst.css.core.model.interfaces.ICSSNode
*/
protected CSSCleanupStrategy getCleanupStrategy(ICSSNode node) {
- CSSCleanupStrategy strategy = CSSCleanupStrategyImpl.getInstance();
+ CSSCleanupStrategy currentStrategy = CSSCleanupStrategyImpl.getInstance();
ICSSDocument doc = node.getOwnerDocument();
if (doc == null)
- return strategy;
+ return currentStrategy;
ICSSModel model = doc.getModel();
if (model == null)
- return strategy;
+ return currentStrategy;
if (model.getStyleSheetType() != ICSSModel.EXTERNAL) {
// TODO - TRANSITION Nakamori-san, or Kit, how can we move to
// "HTML" plugin?
// can we subclass?
- // strategy = CSSInHTMLCleanupStrategyImpl.getInstance();
+ // currentStrategy = CSSInHTMLCleanupStrategyImpl.getInstance();
}
- return strategy;
+ return currentStrategy;
}
/**
@@ -666,12 +640,11 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
if (parent == null)
return "";//$NON-NLS-1$
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
String parentIndent = getIndent(parent);
if (parent instanceof org.w3c.dom.css.CSSRule)
- return parentIndent + mgr.getIndentString();
+ return parentIndent + getIndentString();
if (node.getParentNode() instanceof ICSSStyleDeclaration)
- return parentIndent + mgr.getIndentString();
+ return parentIndent + getIndentString();
return parentIndent;
}
@@ -686,8 +659,8 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
int n = str.lastIndexOf(delim);
if (n < 0)
return str.length();
- else
- return str.length() - n - delim.length();
+
+ return str.length() - n - delim.length();
}
/**
@@ -798,8 +771,7 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
ITextRegion textRegion = it.prev();
IStructuredDocumentRegion documentRegion = it.getStructuredDocumentRegion();
ret[0] = new CompoundRegion(documentRegion, textRegion);
- }
- else {
+ } else {
ret[0] = null;
}
it.reset(model, reg.getOffset() + reg.getLength());
@@ -807,8 +779,7 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
ITextRegion textRegion = it.next();
IStructuredDocumentRegion documentRegion = it.getStructuredDocumentRegion();
ret[1] = new CompoundRegion(documentRegion, textRegion);
- }
- else {
+ } else {
ret[1] = null;
}
return ret;
@@ -865,8 +836,7 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
list.toArray(regions);
return regions;
}
- else
- return new CompoundRegion[0];
+ return new CompoundRegion[0];
}
/**
@@ -887,12 +857,12 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
if (end < flatNode.getStartOffset(region))
break;
if (region.getType() != CSSRegionContexts.CSS_S || (isCleanup() && !stgy.isFormatSource())) // for
- // not
- // formatting
- // case
- // on
- // cleanup
- // action
+ // not
+ // formatting
+ // case
+ // on
+ // cleanup
+ // action
list.add(new CompoundRegion(flatNode, region));
}
flatNode = flatNode.getNext();
@@ -902,8 +872,7 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
list.toArray(regions);
return regions;
}
- else
- return new CompoundRegion[0];
+ return new CompoundRegion[0];
}
/**
@@ -912,8 +881,8 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
public static boolean includes(IRegion region, int start, int end) {
if (region == null)
return false;
- else
- return (region.getOffset() <= start) && (end <= region.getOffset() + region.getLength());
+
+ return (region.getOffset() <= start) && (end <= region.getOffset() + region.getLength());
}
/**
@@ -964,8 +933,26 @@ public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
public static boolean overlaps(IRegion region, int start, int end) {
if (region == null)
return false;
- else
- return (start < region.getOffset() + region.getLength()) && (region.getOffset() < end);
+
+ return (start < region.getOffset() + region.getLength()) && (region.getOffset() < end);
}
+ private String getIndentString() {
+ String indent = ""; //$NON-NLS-1$
+
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+ if (preferences != null) {
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(CSSCorePreferenceNames.INDENTATION_CHAR);
+ if (CSSCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
+ }
+ int indentationWidth = preferences.getInt(CSSCorePreferenceNames.INDENTATION_SIZE);
+
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
+ }
+ }
+ return indent;
+ }
} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrFormatter.java
index 1aa4ff0773..6401d4111d 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrFormatter.java
@@ -12,8 +12,11 @@ package org.eclipse.wst.css.core.internal.formatter;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
+import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSAttr;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSCharsetRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSImportRule;
@@ -21,7 +24,6 @@ import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSPageRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclItem;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.CSSUtil;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
@@ -99,7 +101,8 @@ public class AttrFormatter extends DefaultCSSSourceFormatter {
}
}
else { // generate source
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+
String value = attr.getValue();
if (value == null)
value = "";//$NON-NLS-1$
@@ -107,9 +110,9 @@ public class AttrFormatter extends DefaultCSSSourceFormatter {
}
else if (attr.getName().equals(ICSSImportRule.HREF)) {
String uri = org.eclipse.wst.css.core.internal.util.CSSLinkConverter.stripFunc(value);
- String func = mgr.isPropValueUpperCase() ? "URL(" : "url(";//$NON-NLS-2$//$NON-NLS-1$
- if (mgr.isQuoteInURI()) {
- String quote = mgr.getQuoteString(attr.getOwnerDocument().getModel());
+ String func = preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER ? "URL(" : "url(";//$NON-NLS-2$//$NON-NLS-1$
+ if (preferences.getBoolean(CSSCorePreferenceNames.FORMAT_QUOTE_IN_URI)) {
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
quote = CSSUtil.detectQuote(uri, quote);
value = func + quote + uri + quote + ")";//$NON-NLS-1$
}
@@ -118,26 +121,26 @@ public class AttrFormatter extends DefaultCSSSourceFormatter {
}
}
else if (attr.getName().equals(ICSSCharsetRule.ENCODING)) {
- String quote = mgr.getQuoteString(attr.getOwnerDocument().getModel());
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
if (!value.startsWith("\"") && !value.startsWith("\'"))//$NON-NLS-2$//$NON-NLS-1$
value = quote + value;
if (!value.endsWith("\"") && !value.endsWith("\'"))//$NON-NLS-2$//$NON-NLS-1$
value = value + quote;
}
else if (attr.getName().equals(ICSSStyleDeclItem.IMPORTANT)) {
- if (mgr.isPropValueUpperCase())
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER)
value = value.toUpperCase();
else
value = value.toLowerCase();
}
else if (attr.getName() == null || attr.getName().length() == 0) {
- if (mgr.isIdentUpperCase())
+ if (CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
value = value.toUpperCase();
else
value = value.toLowerCase();
}
else {
- if (mgr.isPropValueUpperCase())
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER)
value = value.toUpperCase();
else
value = value.toLowerCase();
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CharsetRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CharsetRuleFormatter.java
index e25c767215..7190fc9880 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CharsetRuleFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CharsetRuleFormatter.java
@@ -12,13 +12,15 @@ package org.eclipse.wst.css.core.internal.formatter;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.ICSSAttr;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSCharsetRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.CSSUtil;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
@@ -66,19 +68,16 @@ public class CharsetRuleFormatter extends DefaultCSSSourceFormatter {
context.start = it.getStructuredDocumentRegion().getStartOffset(prev);
else
context.start = it.getStructuredDocumentRegion().getStartOffset(region);
- }
- else
+ } else
context.start = it.getStructuredDocumentRegion().getStartOffset(region);
context.end = it.getStructuredDocumentRegion().getEndOffset(region);
- }
- else {
+ } else {
IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
if (region.getType() == CSSRegionContexts.CSS_S) {
context.start = flatNode.getStartOffset(region);
context.end = flatNode.getStartOffset(region);
- }
- else {
+ } else {
context.start = flatNode.getEndOffset() + 1;
context.end = flatNode.getEndOffset();
}
@@ -100,17 +99,17 @@ public class CharsetRuleFormatter extends DefaultCSSSourceFormatter {
if (end > 0) { // format source
int start = ((IndexedRegion) node).getStartOffset();
formatPre(node, new FormatRegion(start, end - start), source);
- }
- else { // generate source
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
- String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
+ } else { // generate source
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
String str = CHARSET;
- if (mgr.isIdentUpperCase())
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
str = CHARSET.toUpperCase();
source.append(str);
String enc = ((ICSSCharsetRule) node).getEncoding();
quote = CSSUtil.detectQuote(enc, quote);
- str = quote + ((enc != null) ? enc : "") + quote;//$NON-NLS-1$
+ str = quote + ((enc != null) ? enc : "") + quote + ";";//$NON-NLS-1$ //$NON-NLS-2$
appendSpaceBefore(node, str, source);
source.append(str);
}
@@ -126,7 +125,7 @@ public class CharsetRuleFormatter extends DefaultCSSSourceFormatter {
CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
for (int i = 0; i < regions.length; i++) {
- if (i != 0 || needS(outside[0]))
+ if ((i != 0 || needS(outside[0])) && !regions[i].getType().equals(CSSRegionContexts.CSS_DELIMITER))
appendSpaceBefore(node, regions[i], source);
source.append(decoratedIdentRegion(regions[i], stgy));
}
@@ -148,18 +147,16 @@ public class CharsetRuleFormatter extends DefaultCSSSourceFormatter {
ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICSSCharsetRule.ENCODING);
if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
return ((IndexedRegion) attr).getStartOffset();
- else {
- IndexedRegion iNode = (IndexedRegion) node;
- if (iNode.getEndOffset() <= 0)
- return -1;
-
- CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset()), stgy);
- for (int i = regions.length - 1; i >= 0; i--) {
- if (regions[i].getType() != CSSRegionContexts.CSS_COMMENT)
- return regions[i].getStartOffset();
- }
- return iNode.getEndOffset();
+ IndexedRegion iNode = (IndexedRegion) node;
+ if (iNode.getEndOffset() <= 0)
+ return -1;
+
+ CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset()), stgy);
+ for (int i = regions.length - 1; i >= 0; i--) {
+ if (regions[i].getType() != CSSRegionContexts.CSS_COMMENT)
+ return regions[i].getStartOffset();
}
+ return iNode.getEndOffset();
}
/**
@@ -171,8 +168,7 @@ public class CharsetRuleFormatter extends DefaultCSSSourceFormatter {
IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_DELIMITER)
return n - 1;
- else
- return n;
+ return n;
}
return -1;
}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CounterFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CounterFormatter.java
index dc013e4b5d..331dd1b0dd 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CounterFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CounterFormatter.java
@@ -12,13 +12,15 @@ package org.eclipse.wst.css.core.internal.formatter;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.ICSSAttr;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
import org.eclipse.wst.css.core.internal.provisional.document.ICounter;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.CSSUtil;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
@@ -45,6 +47,8 @@ public class CounterFormatter extends DefaultCSSSourceFormatter {
*
*/
public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+
StringBuffer source = new StringBuffer();
if (node == null || attr == null)
return source;
@@ -57,10 +61,8 @@ public class CounterFormatter extends DefaultCSSSourceFormatter {
context.start = iNode.getStartOffset();
context.end = iNode.getEndOffset();
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-
ICounter counter = (ICounter) node;
- String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
String sep = counter.getSeparator();
String ident = counter.getIdentifier();
String style = counter.getListStyle();
@@ -88,7 +90,7 @@ public class CounterFormatter extends DefaultCSSSourceFormatter {
sep = (sep == null || sep.length() == 0) ? null : (quote + sep + quote);
String func = (sep == null || sep.length() == 0) ? "counter(" : "counters(";//$NON-NLS-2$//$NON-NLS-1$
- if (mgr.isPropValueUpperCase()) {
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER) {
ident = ident.toUpperCase();
style = style.toUpperCase();
func = func.toUpperCase();
@@ -160,7 +162,8 @@ public class CounterFormatter extends DefaultCSSSourceFormatter {
protected void formatPre(ICSSNode node, StringBuffer source) {
int start = ((IndexedRegion) node).getStartOffset();
int end = ((IndexedRegion) node).getEndOffset();
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
CSSCleanupStrategy stgy = getCleanupStrategy(node);
if (end > 0) { // format source
@@ -178,7 +181,7 @@ public class CounterFormatter extends DefaultCSSSourceFormatter {
}
else { // generate source
ICounter counter = (ICounter) node;
- String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
String separator = counter.getSeparator();
quote = CSSUtil.detectQuote(separator, quote);
String sep = (separator == null || separator.length() == 0) ? null : (quote + separator + quote);
@@ -191,7 +194,7 @@ public class CounterFormatter extends DefaultCSSSourceFormatter {
if (style == null)
style = "";//$NON-NLS-1$
- if (mgr.isPropValueUpperCase()) {
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER) {
ident = ident.toUpperCase();
style = style.toUpperCase();
func = func.toUpperCase();
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FontFaceRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FontFaceRuleFormatter.java
index 5a1437f4fc..65a67d3dbf 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FontFaceRuleFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FontFaceRuleFormatter.java
@@ -13,9 +13,10 @@ package org.eclipse.wst.css.core.internal.formatter;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
+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.preferences.CSSPreferenceHelper;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
@@ -53,9 +54,8 @@ public class FontFaceRuleFormatter extends DeclContainerFormatter {
}
}
else {
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
String str = FONT_FACE;
- if (mgr.isIdentUpperCase())
+ if (CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
str = FONT_FACE.toUpperCase();
source.append(str);
appendSpaceBefore(node, "{", source);//$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FunctionFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FunctionFormatter.java
index 691a7aded9..29499ba05f 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FunctionFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FunctionFormatter.java
@@ -13,10 +13,11 @@ package org.eclipse.wst.css.core.internal.formatter;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.preferences.CSSPreferenceHelper;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
@@ -60,9 +61,8 @@ abstract public class FunctionFormatter extends AbstractCSSSourceFormatter {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 2, stgy));
}
- }
- else if (prev != null && child != null) { // generate source between
- // parameters
+ } else if (prev != null && child != null) { // generate source between
+ // parameters
source.append(",");//$NON-NLS-1$
}
appendSpaceBefore(node, toAppend, source);
@@ -99,8 +99,7 @@ abstract public class FunctionFormatter extends AbstractCSSSourceFormatter {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 2, stgy));
}
- }
- else { // generate source
+ } else { // generate source
source.append(")");//$NON-NLS-1$
}
}
@@ -127,7 +126,7 @@ abstract public class FunctionFormatter extends AbstractCSSSourceFormatter {
protected void formatPre(ICSSNode node, StringBuffer source) {
int start = ((IndexedRegion) node).getStartOffset();
int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
if (end > 0) { // format source
CSSCleanupStrategy stgy = getCleanupStrategy(node);
@@ -138,10 +137,9 @@ abstract public class FunctionFormatter extends AbstractCSSSourceFormatter {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedPropValueRegion(regions[i], stgy));
}
- }
- else { // generate source
+ } else { // generate source
String func = getFunc();
- if (mgr.isPropValueUpperCase())
+ if (CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER)
func = func.toUpperCase();
source.append(func);
}
@@ -174,8 +172,7 @@ abstract public class FunctionFormatter extends AbstractCSSSourceFormatter {
IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
return n - 1;
- else
- return n;
+ return n;
}
return -1;
}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/ImportRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/ImportRuleFormatter.java
index 5326f58240..d5d3ef7849 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/ImportRuleFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/ImportRuleFormatter.java
@@ -12,13 +12,15 @@ package org.eclipse.wst.css.core.internal.formatter;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.ICSSAttr;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSImportRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.CSSUtil;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
@@ -67,8 +69,7 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
else
context.start = it.getStructuredDocumentRegion().getStartOffset(region);
it.next();
- }
- else
+ } else
context.start = it.getStructuredDocumentRegion().getStartOffset(region);
it.next();
it.next();
@@ -78,27 +79,23 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
context.end = it.getStructuredDocumentRegion().getEndOffset(next);
else
context.end = it.getStructuredDocumentRegion().getEndOffset(region);
- }
- else
+ } else
context.end = it.getStructuredDocumentRegion().getEndOffset(region);
- }
- else {
+ } else {
ICSSNode child = node.getFirstChild();
IStructuredDocumentRegion flatNode = null;
ITextRegion region = null;
if (child == null) {
flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
- }
- else {
+ } else {
flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) child).getStartOffset() - 1);
region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) child).getStartOffset() - 1);
}
if (region.getType() == CSSRegionContexts.CSS_S) {
context.start = flatNode.getStartOffset(region);
context.end = flatNode.getEndOffset(region);
- }
- else {
+ } else {
context.start = flatNode.getEndOffset();
context.end = flatNode.getEndOffset();
}
@@ -139,17 +136,15 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
for (int i = 0; i < regions.length; i++) {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
appendSpaceBefore(node, toAppend, source);
- }
- else if (prev != null && child != null) { // generate source : ????
+ } else if (prev != null && child != null) { // generate source : ????
source.append(",");//$NON-NLS-1$
appendSpaceBefore(node, toAppend, source);
- }
- else if (child != null) { // generate source : between 'url()' and
- // media types
+ } else if (child != null) { // generate source : between 'url()' and
+ // media types
appendSpaceBefore(node, toAppend, source);
}
}
@@ -167,7 +162,7 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
if (i != 0 || needS(outside[0]))
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must be
- // comments
+ // comments
}
if (needS(outside[1])) {
if (((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength())
@@ -192,6 +187,8 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
appendDelimBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy));
}
+ } else {
+ source.append(";"); //$NON-NLS-1$
}
}
@@ -205,7 +202,7 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
for (int i = 0; i < regions.length; i++) {
- if (i != 0 || needS(outside[0]))
+ if ((i != 0 || needS(outside[0])) && !regions[i].getType().equals(CSSRegionContexts.CSS_DELIMITER))
appendDelimBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy));
}
@@ -217,7 +214,7 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
protected void formatPre(ICSSNode node, StringBuffer source) {
int start = ((IndexedRegion) node).getStartOffset();
int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
if (end > 0) { // format source
CSSCleanupStrategy stgy = getCleanupStrategy(node);
@@ -233,15 +230,16 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
appendSpaceBefore(node, regions[i], source);
source.append(str);
}
- }
- else { // generate source
+ } else { // generate source
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+
String str = IMPORT;
- if (mgr.isIdentUpperCase())
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
str = IMPORT.toUpperCase();
- String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
source.append(str);
str = "url(";//$NON-NLS-1$
- if (mgr.isPropValueUpperCase())
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER)
str = str.toUpperCase();
String href = ((ICSSImportRule) node).getHref();
quote = CSSUtil.detectQuote(href, quote);
@@ -291,32 +289,29 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICSSImportRule.HREF);
if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
return ((IndexedRegion) attr).getStartOffset();
- else {
- IndexedRegion iNode = (IndexedRegion) node;
- if (iNode.getEndOffset() <= 0)
- return -1;
+ IndexedRegion iNode = (IndexedRegion) node;
+ if (iNode.getEndOffset() <= 0)
+ return -1;
- FormatRegion formatRegion = null;
- ICSSNode child = node.getFirstChild();
- if (child != null && ((IndexedRegion) child).getEndOffset() > 0)
- formatRegion = new FormatRegion(iNode.getStartOffset(), ((IndexedRegion) child).getStartOffset() - iNode.getStartOffset());
- else
- formatRegion = new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset());
- CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), formatRegion, getCleanupStrategy(node));
+ FormatRegion formatRegion = null;
+ ICSSNode child = node.getFirstChild();
+ if (child != null && ((IndexedRegion) child).getEndOffset() > 0)
+ formatRegion = new FormatRegion(iNode.getStartOffset(), ((IndexedRegion) child).getStartOffset() - iNode.getStartOffset());
+ else
+ formatRegion = new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset());
+ CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), formatRegion, getCleanupStrategy(node));
- boolean atrule = false;
- for (int i = 0; i < regions.length; i++) {
- if (regions[i].getType() == CSSRegionContexts.CSS_IMPORT) {
- atrule = true;
- continue;
- }
- else if (!atrule)
- continue;
- if (regions[i].getType() != CSSRegionContexts.CSS_COMMENT)
- return regions[i].getStartOffset();
- }
- return (child != null && ((IndexedRegion) child).getEndOffset() > 0) ? ((IndexedRegion) child).getStartOffset() : iNode.getEndOffset();
+ boolean atrule = false;
+ for (int i = 0; i < regions.length; i++) {
+ if (regions[i].getType() == CSSRegionContexts.CSS_IMPORT) {
+ atrule = true;
+ continue;
+ } else if (!atrule)
+ continue;
+ if (regions[i].getType() != CSSRegionContexts.CSS_COMMENT)
+ return regions[i].getStartOffset();
}
+ return (child != null && ((IndexedRegion) child).getEndOffset() > 0) ? ((IndexedRegion) child).getStartOffset() : iNode.getEndOffset();
}
/**
@@ -328,8 +323,7 @@ public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_DELIMITER)
return n - 1;
- else
- return n;
+ return n;
}
return -1;
}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaListFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaListFormatter.java
index 98f1e05085..fa526f224c 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaListFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaListFormatter.java
@@ -13,11 +13,12 @@ package org.eclipse.wst.css.core.internal.formatter;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.ICSSAttr;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
@@ -82,8 +83,7 @@ public class MediaListFormatter extends DefaultCSSSourceFormatter {
context.end = ((IndexedRegion) node).getEndOffset();
last = true;
}
- }
- else {
+ } else {
last = true;
IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
@@ -113,8 +113,7 @@ public class MediaListFormatter extends DefaultCSSSourceFormatter {
buf.append(","); //$NON-NLS-1$
appendSpaceBefore(node, "", buf); //$NON-NLS-1$
}
- }
- else if (!first && !last) {
+ } else if (!first && !last) {
buf.append(","); //$NON-NLS-1$
appendSpaceBefore(node, "", buf); //$NON-NLS-1$
}
@@ -129,7 +128,7 @@ public class MediaListFormatter extends DefaultCSSSourceFormatter {
int start = ((IndexedRegion) node).getStartOffset();
int end = ((IndexedRegion) node).getEndOffset();
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
if (end > 0) { // format source
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
@@ -138,13 +137,12 @@ public class MediaListFormatter extends DefaultCSSSourceFormatter {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedIdentRegion(regions[i], stgy));
}
- }
- else { // generate source
+ } else { // generate source
MediaList list = (MediaList) node;
int n = list.getLength();
for (int i = 0; i < n; i++) {
String medium = list.item(i);
- if (mgr.isIdentUpperCase())
+ if (CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
medium = medium.toUpperCase();
else
medium = medium.toLowerCase();
@@ -187,22 +185,19 @@ public class MediaListFormatter extends DefaultCSSSourceFormatter {
if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
return ((IndexedRegion) attr).getStartOffset();
- else {
- IndexedRegion iNode = (IndexedRegion) node;
- if (iNode.getEndOffset() <= 0)
- return -1;
-
- /*
- * ITextRegion regions[] =
- * getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(),
- * new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() -
- * iNode.getStartOffset() + 1)); for(int i=regions.length - 1; i >=
- * 0; i--) { if (regions[i].getType() ==
- * CSSRegionContexts.IMPORTANT_SYM) return
- * regions[i].getStartOffset(); }
- */
- return iNode.getEndOffset();
- }
+ IndexedRegion iNode = (IndexedRegion) node;
+ if (iNode.getEndOffset() <= 0)
+ return -1;
+
+ /*
+ * ITextRegion regions[] =
+ * getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(),
+ * new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() -
+ * iNode.getStartOffset() + 1)); for(int i=regions.length - 1; i >= 0;
+ * i--) { if (regions[i].getType() == CSSRegionContexts.IMPORTANT_SYM)
+ * return regions[i].getStartOffset(); }
+ */
+ return iNode.getEndOffset();
}
/**
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaRuleFormatter.java
index 8fe50bbcc7..b7525322bf 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaRuleFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaRuleFormatter.java
@@ -13,10 +13,11 @@ package org.eclipse.wst.css.core.internal.formatter;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
@@ -63,71 +64,65 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
}
// extract source
if (child != null && child.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
- // "@media"
- // and
- // mediatype
+ // "@media"
+ // and
+ // mediatype
for (int i = 0; i < regions.length; i++) {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
appendSpaceBefore(node, toAppend, source);
- }
- else if (child != null && (child.getPreviousSibling() == null || child.getPreviousSibling().getNodeType() == ICSSNode.MEDIALIST_NODE)) { // between
- // mediatype
- // and
- // the
- // first
- // style
- // rule
+ } else if (child != null && (child.getPreviousSibling() == null || child.getPreviousSibling().getNodeType() == ICSSNode.MEDIALIST_NODE)) { // between
+ // mediatype
+ // and
+ // the
+ // first
+ // style
+ // rule
for (int i = 0; i < regions.length; i++) {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
appendDelimBefore(node, null, source);
- }
- else { // between styles
+ } else { // between styles
for (int i = 0; i < regions.length; i++) {
appendDelimBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
appendDelimBefore(node, null, source);
}
- }
- else { // source generation
+ } else { // source generation
if (child == null && prev != null && prev.getNodeType() != ICSSNode.MEDIALIST_NODE) { // after
- // the
- // last
- // style
- // rule
+ // the
+ // last
+ // style
+ // rule
appendDelimBefore(node.getParentNode(), null, source);
- }
- else if (child != null && child.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
- // "@media"
- // and
- // mediatype
+ } else if (child != null && child.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
+ // "@media"
+ // and
+ // mediatype
appendSpaceBefore(node, toAppend, source);
- }
- else if (prev != null && prev.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
- // mediatype
- // and
- // the
- // first
- // style
- // rule
+ } else if (prev != null && prev.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
+ // mediatype
+ // and
+ // the
+ // first
+ // style
+ // rule
appendSpaceBefore(node, "{", source);//$NON-NLS-1$
source.append("{");//$NON-NLS-1$
if (child != null)
appendDelimBefore(node, null, source);
else
appendDelimBefore(node.getParentNode(), null, source);
- }
- else { // normal case
+ } else { // normal case
appendDelimBefore(node, null, source);
}
}
@@ -144,45 +139,43 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
if (child != null && child.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
- // "@media"
- // and
- // mediatype
+ // "@media"
+ // and
+ // mediatype
for (int i = 0; i < regions.length; i++) {
if (i != 0 || needS(outside[0]))
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
if (needS(outside[1]) && ((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength()) {
appendSpaceBefore(node, toAppend, source);
}
- }
- else if (child != null && (child.getPreviousSibling() == null || child.getPreviousSibling().getNodeType() == ICSSNode.MEDIALIST_NODE)) { // between
- // mediatype
- // and
- // the
- // first
- // style
- // rule
+ } else if (child != null && (child.getPreviousSibling() == null || child.getPreviousSibling().getNodeType() == ICSSNode.MEDIALIST_NODE)) { // between
+ // mediatype
+ // and
+ // the
+ // first
+ // style
+ // rule
for (int i = 0; i < regions.length; i++) {
if (i != 0 || needS(outside[0]))
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
if (needS(outside[1]) && ((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength()) {
appendDelimBefore(node, null, source);
}
- }
- else { // between styles
+ } else { // between styles
for (int i = 0; i < regions.length; i++) {
if (i != 0 || needS(outside[0]))
appendDelimBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
if (needS(outside[1]) && ((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength()) {
appendDelimBefore(node, null, source);
@@ -206,8 +199,7 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
appendDelimBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy));
}
- }
- else {
+ } else {
boolean bInCurlyBrace = false;
for (int i = 0; i < regions.length; i++) {
if (!bInCurlyBrace)
@@ -219,8 +211,7 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
bInCurlyBrace = true;
}
}
- }
- else { // source generation
+ } else { // source generation
String delim = getLineDelimiter(node);
if (node.getLastChild() != null && node.getLastChild().getNodeType() == ICSSNode.MEDIALIST_NODE) {
appendSpaceBefore(node, "{", source);//$NON-NLS-1$
@@ -255,7 +246,7 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
protected void formatPre(ICSSNode node, StringBuffer source) {
int start = ((IndexedRegion) node).getStartOffset();
int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
if (end > 0) { // source formatting
CSSCleanupStrategy stgy = getCleanupStrategy(node);
@@ -266,10 +257,9 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedIdentRegion(regions[i], stgy));
}
- }
- else { // source generation
+ } else { // source generation
String str = MEDIA;
- if (mgr.isIdentUpperCase())
+ if (CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
str = MEDIA.toUpperCase();
source.append(str);
}
@@ -306,8 +296,7 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_LBRACE)
return n - 1;
- else
- return n;
+ return n;
}
return -1;
}
@@ -337,9 +326,9 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
return 0;
if (node.getFirstChild().getNextSibling() == node.getLastChild()) { // inserted
- // first
- // style
- // rule
+ // first
+ // style
+ // rule
IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(insertPos);
if (flatNode == null)
return 0;
@@ -377,9 +366,9 @@ public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
return 0;
if (node.getFirstChild().getNextSibling() == node.getLastChild()) { // inserted
- // first
- // style
- // rule
+ // first
+ // style
+ // rule
int pos = ((IndexedRegion) node.getFirstChild()).getEndOffset();
if (pos <= 0)
pos = ((IndexedRegion) node).getStartOffset() + 6 /*
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PageRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PageRuleFormatter.java
index be7c72e778..63de94e368 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PageRuleFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PageRuleFormatter.java
@@ -13,12 +13,13 @@ package org.eclipse.wst.css.core.internal.formatter;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.ICSSAttr;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSPageRule;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
@@ -105,7 +106,7 @@ public class PageRuleFormatter extends DeclContainerFormatter {
int start = ((IndexedRegion) node).getStartOffset();
int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
if (end > 0) { // format source
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
@@ -117,7 +118,7 @@ public class PageRuleFormatter extends DeclContainerFormatter {
}
else { // generate source
String str = PAGE;
- if (mgr.isIdentUpperCase())
+ if (CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
str = PAGE.toUpperCase();
source.append(str);
str = ((ICSSPageRule) node).getSelectorText();
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PrimitiveValueFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PrimitiveValueFormatter.java
index 1957e78c25..1855e9d0c4 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PrimitiveValueFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PrimitiveValueFormatter.java
@@ -12,14 +12,16 @@ package org.eclipse.wst.css.core.internal.formatter;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
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.ICSSPrimitiveValue;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.CSSUtil;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
@@ -46,14 +48,14 @@ public class PrimitiveValueFormatter extends DefaultCSSSourceFormatter {
protected void formatPre(ICSSNode node, StringBuffer source) {
int start = ((IndexedRegion) node).getStartOffset();
int end = ((IndexedRegion) node).getEndOffset();
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
CSSCleanupStrategy stgy = getCleanupStrategy(node);
if (end > 0) { // format source
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
boolean appendQuote = regions.length > 1 && node.getParentNode() instanceof ICSSStyleDeclItem && isCleanup() && getCleanupStrategy(node).isQuoteValues() && (((ICSSStyleDeclItem) node.getParentNode()).getPropertyName().equals(PropCMProperty.P_FONT) || ((ICSSStyleDeclItem) node.getParentNode()).getPropertyName().equals(PropCMProperty.P_FONT_FAMILY) || ((ICSSStyleDeclItem) node.getParentNode()).getPropertyName().equals(PropCMProperty.P_VOICE_FAMILY));
- String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
StringBuffer strBuf = new StringBuffer();
boolean skipSpace = false;
@@ -82,7 +84,7 @@ public class PrimitiveValueFormatter extends DefaultCSSSourceFormatter {
else { // generate source
ICSSPrimitiveValue value = (ICSSPrimitiveValue) node;
short type = value.getPrimitiveType();
- String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
String str = null;
switch (type) {
@@ -117,7 +119,7 @@ public class PrimitiveValueFormatter extends DefaultCSSSourceFormatter {
case ICSSPrimitiveValue.CSS_INHERIT_PRIMITIVE :
str = value.getStringValue();
if (str != null) {
- if (mgr.isPropValueUpperCase())
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER)
str = str.toUpperCase();
else
str.toLowerCase();
@@ -227,7 +229,7 @@ public class PrimitiveValueFormatter extends DefaultCSSSourceFormatter {
postStr = quote + ")";//$NON-NLS-1$
break;
}
- if (mgr.isPropValueUpperCase()) {
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER) {
if (preStr != null)
preStr = preStr.toUpperCase();
if (postStr != null)
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclItemFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclItemFormatter.java
index 5c11484dd0..5d62b29aad 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclItemFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclItemFormatter.java
@@ -12,14 +12,16 @@ package org.eclipse.wst.css.core.internal.formatter;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.ICSSAttr;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSPrimitiveValue;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
@@ -45,16 +47,16 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
*
*/
private void appendAfterColonSpace(ICSSNode node, StringBuffer source) {
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
- int n = mgr.getSpacesPostDelimiter();
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+ int n = preferences.getInt(CSSCorePreferenceNames.FORMAT_PROP_POST_DELIM);
- if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
+ if (preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH) > 0 && (!preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR) || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
int length = getLastLineLength(node, source);
int append = getFirstChildRegionLength(node);
- if (length + n + append > mgr.getMaxLineWidth()) {
+ if (length + n + append > preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH)) {
source.append(getLineDelimiter(node));
source.append(getIndent(node));
- source.append(mgr.getIndentString());
+ source.append(getIndentString());
n = 0; // no space is necessary
}
}
@@ -104,19 +106,16 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
context.start = it.getStructuredDocumentRegion().getStartOffset(prev);
else
context.start = it.getStructuredDocumentRegion().getStartOffset(region);
- }
- else
+ } else
context.start = it.getStructuredDocumentRegion().getStartOffset(region);
context.end = it.getStructuredDocumentRegion().getEndOffset(region);
- }
- else {
+ } else {
IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
if (region.getType() == CSSRegionContexts.CSS_S) {
context.start = flatNode.getStartOffset(region);
context.end = flatNode.getEndOffset(region);
- }
- else {
+ } else {
context.start = flatNode.getEndOffset();
context.end = flatNode.getEndOffset();
}
@@ -152,8 +151,8 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
for (int i = 0; i < regions.length; i++) {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 2, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
}
if (child != null && child instanceof ICSSPrimitiveValue) {
@@ -179,7 +178,7 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
if (i != 0 || needS(outside[0]))
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 2, stgy)); // must be
- // comments
+ // comments
}
if (needS(outside[1])) {
if (((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength()) {
@@ -204,18 +203,10 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedIdentRegion(regions[i], stgy));
}
- }
- else { // generate source
+ } else { // generate source
// append "!important"
String priority = ((ICSSStyleDeclItem) node).getPriority();
if (priority != null && priority.length() > 0) {
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
- if (!mgr.isPreserveCase()) {
- if (mgr.isIdentUpperCase())
- priority = priority.toUpperCase();
- else
- priority = priority.toLowerCase();
- }
appendSpaceBefore(node, priority, source);
source.append(priority);
}
@@ -244,7 +235,7 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
protected void formatPre(ICSSNode node, StringBuffer source) {
int start = ((IndexedRegion) node).getStartOffset();
int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
if (end > 0) { // format source
CSSCleanupStrategy stgy = getCleanupStrategy(node);
@@ -255,22 +246,21 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedPropNameRegion(regions[i], stgy));
}
- }
- else { // generatoe source
+ } else { // generatoe source
ICSSStyleDeclItem item = (ICSSStyleDeclItem) node;
- if (mgr.isPropNameUpperCase())
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.UPPER)
source.append(item.getPropertyName().toUpperCase());
else
source.append(item.getPropertyName());
- int k = mgr.getSpacesPreDelimiter();
- if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
+ int k = preferences.getInt(CSSCorePreferenceNames.FORMAT_PROP_PRE_DELIM);
+ if (preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH) > 0 && (!preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR) || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
int length = getLastLineLength(node, source);
int append = 1;
- if (length + k + append > mgr.getMaxLineWidth()) {
+ if (length + k + append > preferences.getInt(CSSCorePreferenceNames.LINE_WIDTH)) {
source.append(getLineDelimiter(node));
source.append(getIndent(node));
- source.append(mgr.getIndentString());
+ source.append(getIndentString());
k = 0; // no space is necessary
}
}
@@ -301,8 +291,7 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
if (needS(outside[1])) {
if (isIncludesPreEnd(node, region) && (!isCleanup() || getCleanupStrategy(node).isFormatSource())) {
appendAfterColonSpace(node, source);
- }
- else
+ } else
appendSpaceBefore(node, outside[1], source);
}
}
@@ -330,18 +319,16 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICSSStyleDeclItem.IMPORTANT);
if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
return ((IndexedRegion) attr).getStartOffset();
- else {
- IndexedRegion iNode = (IndexedRegion) node;
- if (iNode.getEndOffset() <= 0)
- return -1;
-
- CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset()), getCleanupStrategy(node));
- for (int i = regions.length - 1; i >= 0; i--) {
- if (regions[i].getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_IMPORTANT)
- return regions[i].getStartOffset();
- }
- return iNode.getEndOffset();
+ IndexedRegion iNode = (IndexedRegion) node;
+ if (iNode.getEndOffset() <= 0)
+ return -1;
+
+ CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset()), getCleanupStrategy(node));
+ for (int i = regions.length - 1; i >= 0; i--) {
+ if (regions[i].getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_IMPORTANT)
+ return regions[i].getStartOffset();
}
+ return iNode.getEndOffset();
}
/**
@@ -379,8 +366,7 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
return n;
}
- else
- return -1;
+ return -1;
}
/**
@@ -391,4 +377,23 @@ public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
instance = new StyleDeclItemFormatter();
return instance;
}
+
+ private String getIndentString() {
+ String indent = ""; //$NON-NLS-1$
+
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+ if (preferences != null) {
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(CSSCorePreferenceNames.INDENTATION_CHAR);
+ if (CSSCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
+ }
+ int indentationWidth = preferences.getInt(CSSCorePreferenceNames.INDENTATION_SIZE);
+
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
+ }
+ }
+ return indent;
+ }
} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclarationFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclarationFormatter.java
index e5a962adde..ad06635a9f 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclarationFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclarationFormatter.java
@@ -12,11 +12,13 @@ package org.eclipse.wst.css.core.internal.formatter;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy;
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.preferences.CSSPreferenceHelper;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
@@ -51,7 +53,6 @@ public class StyleDeclarationFormatter extends DefaultCSSSourceFormatter {
if (child == null && prev == null)
return;
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
if (start > 0 && start < end) { // format source
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
// get meaning regions
@@ -68,23 +69,20 @@ public class StyleDeclarationFormatter extends DefaultCSSSourceFormatter {
for (int i = 0; i < regions.length; i++) {
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must
- // be
- // comments
+ // be
+ // comments
}
- }
- else if (prev != null && child != null) { // generate source :
- // between two
- // declarations
+ } else if (prev != null && child != null) { // generate source :
+ // between two
+ // declarations
source.append(";");//$NON-NLS-1$
- }
- else if (prev == null) { // generate source : before the first
- // declaration
+ } else if (prev == null) { // generate source : before the first
+ // declaration
org.eclipse.wst.css.core.internal.util.RegionIterator it = null;
if (end > 0) {
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
it = new org.eclipse.wst.css.core.internal.util.RegionIterator(structuredDocument, end - 1);
- }
- else {
+ } else {
int pos = getChildInsertPos(node);
if (pos >= 0) {
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
@@ -105,15 +103,13 @@ public class StyleDeclarationFormatter extends DefaultCSSSourceFormatter {
break;
}
}
- }
- else if (child == null) { // generate source : after the last
- // declaration
+ } else if (child == null) { // generate source : after the last
+ // declaration
org.eclipse.wst.css.core.internal.util.RegionIterator it = null;
if (start > 0) {
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
it = new org.eclipse.wst.css.core.internal.util.RegionIterator(structuredDocument, start);
- }
- else {
+ } else {
int pos = getChildInsertPos(node);
if (pos >= 0) {
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
@@ -147,9 +143,10 @@ public class StyleDeclarationFormatter extends DefaultCSSSourceFormatter {
}
appendDelimBefore(node.getParentNode(), toAppendRegion, source);
}
- }
- else if ((prev != null || ((IndexedRegion) node).getEndOffset() <= 0)) {
- if (mgr.isOnePropertyPerLine() && (node.getOwnerDocument() != node || !mgr.isProhibitWrapOnAttr()))
+ } else if ((prev != null || ((IndexedRegion) node).getEndOffset() <= 0)) {
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+
+ if (preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE) && (node.getOwnerDocument() != node || !preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR)))
appendDelimBefore(node, null, source);
else if (prev != null || node.getOwnerDocument() != node)
appendSpaceBefore(node, toAppend, source);
@@ -165,18 +162,18 @@ public class StyleDeclarationFormatter extends DefaultCSSSourceFormatter {
IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
+
for (int i = 0; i < regions.length; i++) {
if (i != 0 || needS(outside[0]))
appendSpaceBefore(node, regions[i], source);
source.append(decoratedRegion(regions[i], 0, stgy)); // must be
- // comments
+ // comments
}
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
if (needS(outside[1])) {
- if (((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength() && mgr.isOnePropertyPerLine() && (node.getOwnerDocument() != node || !mgr.isProhibitWrapOnAttr())) {
+ if (((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength() && preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE) && (node.getOwnerDocument() != node || !preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR))) {
appendDelimBefore(node, null, source);
- }
- else
+ } else
appendSpaceBefore(node, toAppend, source);
}
}
@@ -192,8 +189,7 @@ public class StyleDeclarationFormatter extends DefaultCSSSourceFormatter {
CSSSourceGenerator formatter = getParentFormatter(node);
return (formatter != null) ? formatter.getChildInsertPos(node.getParentNode()) : -1;
}
- else
- return pos;
+ return pos;
}
/**
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleSheetFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleSheetFormatter.java
index db02fa4598..5bc1984233 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleSheetFormatter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleSheetFormatter.java
@@ -83,8 +83,6 @@ public class StyleSheetFormatter extends AbstractCSSSourceFormatter {
}
else if (prev != null && child != null) { // source generation :
// between two rules
- if (prev.getNodeType() == ICSSNode.IMPORTRULE_NODE || prev.getNodeType() == ICSSNode.CHARSETRULE_NODE || prev.getNodeType() == ICSSNode.UNKNOWNRULE_NODE)
- source.append(";");//$NON-NLS-1$
source.append(delim);
source.append(delim);
}
@@ -103,8 +101,6 @@ public class StyleSheetFormatter extends AbstractCSSSourceFormatter {
}
else if (child == null) { // source formatting : after the last
// rule
- if (prev.getNodeType() == ICSSNode.IMPORTRULE_NODE || prev.getNodeType() == ICSSNode.CHARSETRULE_NODE || prev.getNodeType() == ICSSNode.UNKNOWNRULE_NODE)
- source.append(";");//$NON-NLS-1$
if (start > 0 && start <= ((IndexedRegion) node).getEndOffset()) {
appendDelimBefore(node, null, source);
}
@@ -116,11 +112,6 @@ public class StyleSheetFormatter extends AbstractCSSSourceFormatter {
}
}
}
- else if (prev != null && child == null) { // source generation :
- // after the last rule
- if (prev.getNodeType() == ICSSNode.IMPORTRULE_NODE || prev.getNodeType() == ICSSNode.CHARSETRULE_NODE || prev.getNodeType() == ICSSNode.UNKNOWNRULE_NODE)
- source.append(";");//$NON-NLS-1$
- }
}
/**
@@ -163,10 +154,6 @@ public class StyleSheetFormatter extends AbstractCSSSourceFormatter {
appendDelimBefore(node, null, source);
}
else { // source generation
- ICSSNode lastChild = node.getLastChild();
- if (lastChild != null && (lastChild.getNodeType() == ICSSNode.CHARSETRULE_NODE || lastChild.getNodeType() == ICSSNode.IMPORTRULE_NODE || lastChild.getNodeType() == ICSSNode.UNKNOWNRULE_NODE)) {
- source.append(";");//$NON-NLS-1$
- }
if (node.getOwnerDocument().getModel() != null && node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED)
appendDelimBefore(node, null, source);
return; // nothing
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/preferences/CSSCorePreferenceInitializer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/preferences/CSSCorePreferenceInitializer.java
new file mode 100644
index 0000000000..fc3997d99e
--- /dev/null
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/preferences/CSSCorePreferenceInitializer.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 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.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
+import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames;
+import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
+
+/**
+ * Sets default values for CSS Core preferences
+ */
+public class CSSCorePreferenceInitializer extends AbstractPreferenceInitializer {
+
+ public void initializeDefaultPreferences() {
+ IEclipsePreferences node = new DefaultScope().getNode(CSSCorePlugin.getDefault().getBundle().getSymbolicName());
+
+ // formatting preferences
+ node.putInt(CSSCorePreferenceNames.LINE_WIDTH, 72);
+ node.putBoolean(CSSCorePreferenceNames.CLEAR_ALL_BLANK_LINES, false);
+ node.put(CSSCorePreferenceNames.INDENTATION_CHAR, CSSCorePreferenceNames.TAB);
+ node.putInt(CSSCorePreferenceNames.INDENTATION_SIZE, 1);
+
+ // cleanup preferences
+ node.putBoolean(CSSCorePreferenceNames.QUOTE_ATTR_VALUES, true);
+ node.putBoolean(CSSCorePreferenceNames.FORMAT_SOURCE, true);
+
+ // code generation preferences
+ node.put(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
+ String defaultEnc = "UTF-8";//$NON-NLS-1$
+ String systemEnc = System.getProperty("file.encoding"); //$NON-NLS-1$
+ if (systemEnc != null) {
+ defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, "UTF-8");//$NON-NLS-1$
+ }
+ node.put(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
+ node.put(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
+
+ // additional css core preferences
+ node.putInt(CSSCorePreferenceNames.FORMAT_PROP_PRE_DELIM, 0);
+ node.putInt(CSSCorePreferenceNames.FORMAT_PROP_POST_DELIM, 1);
+ node.put(CSSCorePreferenceNames.FORMAT_QUOTE, "\"");//$NON-NLS-1$
+ node.put(CSSCorePreferenceNames.FORMAT_BETWEEN_VALUE, " ");//$NON-NLS-1$
+ node.putBoolean(CSSCorePreferenceNames.FORMAT_QUOTE_IN_URI, true);
+ node.putBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE, true);
+ node.putBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, true);
+ node.putBoolean(CSSCorePreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE, false);
+ node.putInt(CSSCorePreferenceNames.CASE_IDENTIFIER, CSSCorePreferenceNames.UPPER);
+ node.putInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME, CSSCorePreferenceNames.LOWER);
+ node.putInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE, CSSCorePreferenceNames.LOWER);
+
+ // CSS cleanup preferences
+ node.putInt(CSSCorePreferenceNames.CLEANUP_CASE_IDENTIFIER, CSSCorePreferenceNames.ASIS);
+ node.putInt(CSSCorePreferenceNames.CLEANUP_CASE_PROPERTY_NAME, CSSCorePreferenceNames.ASIS);
+ node.putInt(CSSCorePreferenceNames.CLEANUP_CASE_PROPERTY_VALUE, CSSCorePreferenceNames.ASIS);
+ node.putInt(CSSCorePreferenceNames.CLEANUP_CASE_SELECTOR, CSSCorePreferenceNames.ASIS);
+ }
+
+}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/preferences/CSSCorePreferenceNames.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/preferences/CSSCorePreferenceNames.java
new file mode 100644
index 0000000000..d5b39fca5e
--- /dev/null
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/preferences/CSSCorePreferenceNames.java
@@ -0,0 +1,134 @@
+/*******************************************************************************
+ * Copyright (c) 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.preferences;
+
+/**
+ * CSS core preference keys.
+ *
+ * @since 1.0
+ */
+public class CSSCorePreferenceNames {
+ private CSSCorePreferenceNames() {
+ // empty private constructor so users cannot instantiate class
+ }
+
+ public static final String CASE_IDENTIFIER = "identifierCase"; //$NON-NLS-1$
+ public static final String CASE_PROPERTY_NAME = "propNameCase"; //$NON-NLS-1$
+ public static final String CASE_PROPERTY_VALUE = "propValueCase"; //$NON-NLS-1$
+ public static final String FORMAT_BETWEEN_VALUE = "betweenValue"; //$NON-NLS-1$
+ public static final String FORMAT_PROP_POST_DELIM = "postDelim"; //$NON-NLS-1$
+ public static final String FORMAT_PROP_PRE_DELIM = "preDelim"; //$NON-NLS-1$
+ public static final String FORMAT_QUOTE = "quote"; //$NON-NLS-1$
+ public static final String FORMAT_QUOTE_IN_URI = "quoteInURI"; //$NON-NLS-1$
+ public static final String WRAPPING_NEWLINE_ON_OPEN_BRACE = "newLineOnOpenBrace"; //$NON-NLS-1$
+ public static final String WRAPPING_ONE_PER_LINE = "onePropertyPerLine"; //$NON-NLS-1$
+ public static final String WRAPPING_PROHIBIT_WRAP_ON_ATTR = "prohibitWrapOnAttr"; //$NON-NLS-1$
+
+ // CSS cleanup preference names
+ public static final String CLEANUP_CASE_IDENTIFIER = "cleanupIdentifierCase"; //$NON-NLS-1$
+ public static final String CLEANUP_CASE_PROPERTY_NAME = "cleanupPropNameCase"; //$NON-NLS-1$
+ public static final String CLEANUP_CASE_PROPERTY_VALUE = "cleanupPropValueCase"; //$NON-NLS-1$
+ public static final String CLEANUP_CASE_SELECTOR = "cleanupSelectorCase"; //$NON-NLS-1$
+
+ /**
+ * The maximum width of a line before a line split is needed.
+ * <p>
+ * Value is of type <code>Integer</code>.
+ * </p>
+ */
+ public static final String LINE_WIDTH = "lineWidth";//$NON-NLS-1$
+
+ /**
+ * Indicates if all blanks lines should be cleared during formatting.
+ * Blank lines will be kept when false.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String CLEAR_ALL_BLANK_LINES = "clearAllBlankLines";//$NON-NLS-1$
+
+ /**
+ * The number of #INDENTATION_CHAR for 1 indentation.
+ * <p>
+ * Value is of type <code>Integer</code>.
+ * </p>
+ */
+ public static final String INDENTATION_SIZE = "indentationSize";//$NON-NLS-1$
+
+ /**
+ * The character used for indentation.
+ * <p>
+ * Value is of type <code>String</code>.<br />
+ * Possible values: {TAB, SPACE}
+ * </p>
+ */
+ public static final String INDENTATION_CHAR = "indentationChar";//$NON-NLS-1$
+
+ /**
+ * Possible value for the preference #INDENTATION_CHAR. Indicates to use
+ * tab character when formatting.
+ *
+ * @see #SPACE
+ * @see #INDENTATION_CHAR
+ */
+ public static final String TAB = "tab"; //$NON-NLS-1$
+
+ /**
+ * Possible value for the preference #INDENTATION_CHAR. Indicates to use
+ * space character when formatting.
+ *
+ * @see #TAB
+ * @see #INDENTATION_CHAR
+ */
+ public static final String SPACE = "space"; //$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to quote all attribute values during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String QUOTE_ATTR_VALUES = "quoteAttrValues";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not cleanup processor should format source.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String FORMAT_SOURCE = "formatSource";//$NON-NLS-1$
+
+ /**
+ * Possible value for the case preferences Indicates to leave case as is.
+ *
+ * @see #LOWER
+ * @see #UPPER
+ */
+ public static final int ASIS = 0;
+
+ /**
+ * Possible value for the case preferences Indicates to make name
+ * lowercase.
+ *
+ * @see #ASIS
+ * @see #UPPER
+ */
+ public static final int LOWER = 1;
+
+ /**
+ * Possible value for the case preferences Indicates to make name
+ * uppercase.
+ *
+ * @see #LOWER
+ * @see #ASIS
+ */
+ public static final int UPPER = 2;
+}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSModelPreferenceNames.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSModelPreferenceNames.java
deleted file mode 100644
index 6027fe61be..0000000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSModelPreferenceNames.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.provisional.preferences;
-
-public interface CSSModelPreferenceNames {
- public static final String CASE_IDENTIFIER = "identifierCase"; //$NON-NLS-1$
- public static final String CASE_PRESERVE_CASE = "preserveCase"; //$NON-NLS-1$
- public static final String CASE_PROPERTY_NAME = "propNameCase"; //$NON-NLS-1$
- public static final String CASE_PROPERTY_VALUE = "propValueCase"; //$NON-NLS-1$
- public static final String FORMAT_BETWEEN_VALUE = "betweenValue"; //$NON-NLS-1$
- public static final String FORMAT_PROP_POST_DELIM = "postDelim"; //$NON-NLS-1$
- public static final String FORMAT_PROP_PRE_DELIM = "preDelim"; //$NON-NLS-1$
- public static final String FORMAT_QUOTE = "quote"; //$NON-NLS-1$
- public static final String FORMAT_QUOTE_IN_URI = "quoteInURI"; //$NON-NLS-1$
- public static final String WRAPPING_NEWLINE_ON_OPEN_BRACE = "newLineOnOpenBrace"; //$NON-NLS-1$
- public static final String WRAPPING_ONE_PER_LINE = "onePropertyPerLine"; //$NON-NLS-1$
- public static final String WRAPPING_PROHIBIT_WRAP_ON_ATTR = "prohibitWrapOnAttr"; //$NON-NLS-1$
-
- // CSS cleanup preference names
- public static final String CLEANUP_CASE_IDENTIFIER = "cleanupIdentifierCase"; //$NON-NLS-1$
- public static final String CLEANUP_CASE_PROPERTY_NAME = "cleanupPropNameCase"; //$NON-NLS-1$
- public static final String CLEANUP_CASE_PROPERTY_VALUE = "cleanupPropValueCase"; //$NON-NLS-1$
- public static final String CLEANUP_CASE_SELECTOR = "cleanupSelectorCase"; //$NON-NLS-1$
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSPreferenceHelper.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSPreferenceHelper.java
index 5fe7ac56fc..0aa3a4a9a2 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSPreferenceHelper.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/provisional/preferences/CSSPreferenceHelper.java
@@ -12,12 +12,11 @@ package org.eclipse.wst.css.core.internal.provisional.preferences;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.wst.css.core.internal.CSSCorePlugin;
+import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
/**
- * this a temp dummy class to map to ModelPreferences
+ * @deprecated just access preferences directly
*/
public class CSSPreferenceHelper {
@@ -34,53 +33,30 @@ public class CSSPreferenceHelper {
/**
*
*/
- public static void createDefaultPreferences(Preferences prefs) {
- // setBooleanAttribute(COLOR_ENABLED, true);
- prefs.setDefault(CSSModelPreferenceNames.FORMAT_PROP_PRE_DELIM, 0);
- prefs.setDefault(CSSModelPreferenceNames.FORMAT_PROP_POST_DELIM, 1);
- prefs.setDefault(CSSModelPreferenceNames.FORMAT_QUOTE, "\"");//$NON-NLS-1$
- prefs.setDefault(CSSModelPreferenceNames.FORMAT_BETWEEN_VALUE, " ");//$NON-NLS-1$
- prefs.setDefault(CSSModelPreferenceNames.FORMAT_QUOTE_IN_URI, true);
- prefs.setDefault(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE, true);
- prefs.setDefault(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, true);
- prefs.setDefault(CSSModelPreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE, false);
- prefs.setDefault(CSSModelPreferenceNames.CASE_IDENTIFIER, CommonModelPreferenceNames.UPPER);
- prefs.setDefault(CSSModelPreferenceNames.CASE_PROPERTY_NAME, CommonModelPreferenceNames.LOWER);
- prefs.setDefault(CSSModelPreferenceNames.CASE_PROPERTY_VALUE, CommonModelPreferenceNames.LOWER);
- prefs.setDefault(CSSModelPreferenceNames.CASE_PRESERVE_CASE, true);
- // setBooleanAttribute(ASSIST_CATEGORIZE, true);
-
- // CSS cleanup preferences
- prefs.setDefault(CSSModelPreferenceNames.CLEANUP_CASE_IDENTIFIER, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_NAME, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_VALUE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CSSModelPreferenceNames.CLEANUP_CASE_SELECTOR, CommonModelPreferenceNames.ASIS);
- }
-
- /**
- *
- */
public String getBetweenValueString() {
- return getPreferences().getString(CSSModelPreferenceNames.FORMAT_BETWEEN_VALUE);
+ return getPreferences().getString(CSSCorePreferenceNames.FORMAT_BETWEEN_VALUE);
}
/**
*
*/
public String getIndentString() {
- Preferences prefs = getPreferences();
- boolean bUseTab = prefs.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS);
- if (bUseTab) {
- return "\t"; //$NON-NLS-1$
- }
- else {
- int n = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
- StringBuffer buf = new StringBuffer();
- while (0 < n--) {
- buf.append(" "); //$NON-NLS-1$
+ String indent = ""; //$NON-NLS-1$
+
+ Preferences preferences = getPreferences();
+ if (preferences != null) {
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(CSSCorePreferenceNames.INDENTATION_CHAR);
+ if (CSSCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
+ }
+ int indentationWidth = preferences.getInt(CSSCorePreferenceNames.INDENTATION_SIZE);
+
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
}
- return buf.toString();
}
+ return indent;
}
/**
@@ -88,7 +64,7 @@ public class CSSPreferenceHelper {
*/
public int getMaxLineWidth() {
Preferences prefs = getPreferences();
- return prefs.getInt(CommonModelPreferenceNames.LINE_WIDTH);
+ return prefs.getInt(CSSCorePreferenceNames.LINE_WIDTH);
}
/**
@@ -96,165 +72,148 @@ public class CSSPreferenceHelper {
*/
public String getQuoteString(ICSSModel model) {
// nakamori_TODO css pref transition
- return getPreferences().getString(CSSModelPreferenceNames.FORMAT_QUOTE);
+ return getPreferences().getString(CSSCorePreferenceNames.FORMAT_QUOTE);
}
/**
*
*/
public int getSpacesPostDelimiter() {
- return getPreferences().getInt(CSSModelPreferenceNames.FORMAT_PROP_POST_DELIM);
+ return getPreferences().getInt(CSSCorePreferenceNames.FORMAT_PROP_POST_DELIM);
}
/**
*
*/
public int getSpacesPreDelimiter() {
- return getPreferences().getInt(CSSModelPreferenceNames.FORMAT_PROP_PRE_DELIM);
+ return getPreferences().getInt(CSSCorePreferenceNames.FORMAT_PROP_PRE_DELIM);
}
/**
*
*/
public boolean isIdentUpperCase() {
- if (getPreferences().getInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.UPPER)
+ if (getPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER)
return true;
- else
- return false;
+ return false;
}
/**
*
*/
public boolean isNewLineOnOpenBrace() {
- return getPreferences().getBoolean(CSSModelPreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE);
+ return getPreferences().getBoolean(CSSCorePreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE);
}
/**
*
*/
public boolean isOnePropertyPerLine() {
- return getPreferences().getBoolean(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE);
- }
-
- /**
- *
- */
- public boolean isPreserveCase() {
- return getPreferences().getBoolean(CSSModelPreferenceNames.CASE_PRESERVE_CASE);
+ return getPreferences().getBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE);
}
/**
*
*/
public boolean isProhibitWrapOnAttr() {
- return getPreferences().getBoolean(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR);
+ return getPreferences().getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR);
}
/**
*
*/
public boolean isPropNameUpperCase() {
- if (getPreferences().getInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.UPPER)
+ if (getPreferences().getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.UPPER)
return true;
- else
- return false;
+ return false;
}
/**
*
*/
public boolean isPropValueUpperCase() {
- if (getPreferences().getInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.UPPER)
+ if (getPreferences().getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER)
return true;
- else
- return false;
+ return false;
}
/**
*
*/
public boolean isQuoteInURI() {
- return getPreferences().getBoolean(CSSModelPreferenceNames.FORMAT_QUOTE_IN_URI);
+ return getPreferences().getBoolean(CSSCorePreferenceNames.FORMAT_QUOTE_IN_URI);
}
/**
*
*/
protected void setBetweenValueString(String newBetweenValueString) {
- getPreferences().setValue(CSSModelPreferenceNames.FORMAT_BETWEEN_VALUE, newBetweenValueString);
+ getPreferences().setValue(CSSCorePreferenceNames.FORMAT_BETWEEN_VALUE, newBetweenValueString);
}
/**
*
*/
protected void setIdentUpperCase(boolean newIdentUpperCase) {
- int theCase = CommonModelPreferenceNames.LOWER;
+ int theCase = CSSCorePreferenceNames.LOWER;
if (newIdentUpperCase)
- theCase = CommonModelPreferenceNames.UPPER;
- getPreferences().setValue(CSSModelPreferenceNames.CASE_IDENTIFIER, theCase);
+ theCase = CSSCorePreferenceNames.UPPER;
+ getPreferences().setValue(CSSCorePreferenceNames.CASE_IDENTIFIER, theCase);
}
/**
*
*/
protected void setOnePropertyPerLine(boolean newOnePropertyPerLine) {
- getPreferences().setValue(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE, newOnePropertyPerLine);
- }
-
- /**
- *
- */
- protected void setPreserveCase(boolean newPreserveCase) {
- getPreferences().setValue(CSSModelPreferenceNames.CASE_PRESERVE_CASE, newPreserveCase);
+ getPreferences().setValue(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE, newOnePropertyPerLine);
}
/**
*
*/
protected void setProhibitWrapOnAttr(boolean newProhibitWrapOnAttr) {
- getPreferences().setValue(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, newProhibitWrapOnAttr);
+ getPreferences().setValue(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, newProhibitWrapOnAttr);
}
/**
*
*/
protected void setPropNameUpperCase(boolean newPropNameUpperCase) {
- int theCase = CommonModelPreferenceNames.LOWER;
+ int theCase = CSSCorePreferenceNames.LOWER;
if (newPropNameUpperCase)
- theCase = CommonModelPreferenceNames.UPPER;
- getPreferences().setValue(CSSModelPreferenceNames.CASE_PROPERTY_NAME, theCase);
+ theCase = CSSCorePreferenceNames.UPPER;
+ getPreferences().setValue(CSSCorePreferenceNames.CASE_PROPERTY_NAME, theCase);
}
/**
*
*/
protected void setPropValueUpperCase(boolean newPropValueUpperCase) {
- int theCase = CommonModelPreferenceNames.LOWER;
+ int theCase = CSSCorePreferenceNames.LOWER;
if (newPropValueUpperCase)
- theCase = CommonModelPreferenceNames.UPPER;
- getPreferences().setValue(CSSModelPreferenceNames.CASE_PROPERTY_VALUE, theCase);
+ theCase = CSSCorePreferenceNames.UPPER;
+ getPreferences().setValue(CSSCorePreferenceNames.CASE_PROPERTY_VALUE, theCase);
}
/**
*
*/
public void setQuoteString(String quote) {
- getPreferences().setValue(CSSModelPreferenceNames.FORMAT_QUOTE, quote);
+ getPreferences().setValue(CSSCorePreferenceNames.FORMAT_QUOTE, quote);
}
/**
*
*/
public void setSpacesPostDelimiter(int num) {
- getPreferences().setValue(CSSModelPreferenceNames.FORMAT_PROP_POST_DELIM, num);
+ getPreferences().setValue(CSSCorePreferenceNames.FORMAT_PROP_POST_DELIM, num);
}
/**
*
*/
public void setSpacesPreDelimiter(int num) {
- getPreferences().setValue(CSSModelPreferenceNames.FORMAT_PROP_PRE_DELIM, num);
+ getPreferences().setValue(CSSCorePreferenceNames.FORMAT_PROP_PRE_DELIM, num);
}
private Preferences getPreferences() {
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/CSSLinkConverter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/CSSLinkConverter.java
index 6890679bb8..e5d3690a3f 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/CSSLinkConverter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/util/CSSLinkConverter.java
@@ -12,11 +12,13 @@ package org.eclipse.wst.css.core.internal.util;
+import org.eclipse.core.runtime.Preferences;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
+import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSImportRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
import org.w3c.dom.css.CSSPrimitiveValue;
@@ -53,12 +55,13 @@ public class CSSLinkConverter extends org.eclipse.wst.css.core.internal.util.Abs
public static String addFunc(String value) {
if (!value.trim().toLowerCase().startsWith(URL_BEGIN)) {
// pa_TODO css pref
- CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
- String quote = mgr.getQuoteString(null);
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+
+ String quote = preferences.getString(CSSCorePreferenceNames.FORMAT_QUOTE);
value = CSSUtil.stripQuotes(value);
quote = CSSUtil.detectQuote(value, quote);
String str = URL_BEGIN;
- if (mgr.isPropValueUpperCase())
+ if (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER)
str = str.toUpperCase();
StringBuffer buf = new StringBuffer(str);
buf.append(quote);
@@ -67,8 +70,7 @@ public class CSSLinkConverter extends org.eclipse.wst.css.core.internal.util.Abs
buf.append(URL_END);
return buf.toString();
}
- else
- return value;
+ return value;
}
@@ -102,8 +104,7 @@ public class CSSLinkConverter extends org.eclipse.wst.css.core.internal.util.Abs
protected short preNode(ICSSNode node) {
if (node.getNodeType() == ICSSNode.PRIMITIVEVALUE_NODE) {
toAbsolute((CSSValue) node);
- }
- else if (node.getNodeType() == ICSSNode.IMPORTRULE_NODE) {
+ } else if (node.getNodeType() == ICSSNode.IMPORTRULE_NODE) {
ICSSImportRule iRule = (ICSSImportRule) node;
iRule.setHref(toAbsolute(addFunc(iRule.getHref())));
}
@@ -126,8 +127,7 @@ public class CSSLinkConverter extends org.eclipse.wst.css.core.internal.util.Abs
int endParenthesis = field.lastIndexOf(URL_END);
if (endParenthesis > url) {
field = field.substring(url + 4, endParenthesis);
- }
- else
+ } else
field = field.substring(url + 4);
}
return field.trim();
@@ -147,17 +147,14 @@ public class CSSLinkConverter extends org.eclipse.wst.css.core.internal.util.Abs
int end = field.lastIndexOf(D_QUOTE);
if (end > quote) {
field = field.substring(quote + 1, end);
- }
- else
+ } else
field = field.substring(quote + 1);
- }
- else if (field.toLowerCase().startsWith(S_QUOTE)) {
+ } else if (field.toLowerCase().startsWith(S_QUOTE)) {
int quote = field.indexOf(S_QUOTE);
int end = field.lastIndexOf(S_QUOTE);
if (end > quote) {
field = field.substring(quote + 1, end);
- }
- else
+ } else
field = field.substring(quote + 1);
}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIMessages.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIMessages.java
index 7f03969a2d..2abfcedfb4 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIMessages.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIMessages.java
@@ -72,6 +72,9 @@ public class CSSUIMessages extends NLS {
public static String Formatting_UI_;
public static String Line_width__UI_;
public static String Indent_using_tabs_;
+ public static String Indent_using_spaces;
+ public static String Indentation_size;
+ public static String Indentation_size_tip;
public static String StructureSelectEnclosing_label;
public static String StructureSelectEnclosing_tooltip;
public static String StructureSelectEnclosing_description;
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPluginResources.properties b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPluginResources.properties
index 264368be74..c3ed334284 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPluginResources.properties
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPluginResources.properties
@@ -77,6 +77,9 @@ SourceMenu_label=&Source
Formatting_UI_=Formatting
Line_width__UI_=Line &width:
Indent_using_tabs_=&Indent using tabs
+Indent_using_spaces=I&ndent using spaces
+Indentation_size=In&dentation size:
+Indentation_size_tip=Indentation size
StructureSelectEnclosing_label=&Enclosing Element
StructureSelectEnclosing_tooltip=Expand selection to include enclosing element
StructureSelectEnclosing_description=Expand selection to include enclosing element
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/autoedit/StructuredAutoEditStrategyCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/autoedit/StructuredAutoEditStrategyCSS.java
index 23d1e2a91c..76ac043c3b 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/autoedit/StructuredAutoEditStrategyCSS.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/autoedit/StructuredAutoEditStrategyCSS.java
@@ -8,12 +8,14 @@
****************************************************************************/
package org.eclipse.wst.css.ui.internal.autoedit;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.DocumentCommand;
import org.eclipse.jface.text.IDocument;
import org.eclipse.ui.texteditor.ITextEditorExtension3;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
+import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.css.ui.internal.Logger;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
@@ -123,7 +125,7 @@ public class StructuredAutoEditStrategyCSS extends BasicAutoEditStrategy {
if (str != null)
buf.append(str);
while (shift-- != 0)
- buf.append(CSSPreferenceHelper.getInstance().getIndentString());
+ buf.append(getIndentString());
command.text = buf.toString();
}
@@ -135,8 +137,8 @@ public class StructuredAutoEditStrategyCSS extends BasicAutoEditStrategy {
if (!(textEditor instanceof ITextEditorExtension3 && ((ITextEditorExtension3) textEditor).getInsertMode() == ITextEditorExtension3.SMART_INSERT))
return;
- //return;
- ///*
+ // return;
+ // /*
structuredDocument = (IStructuredDocument) document;
if (command.length == 0 && command.text != null) {
@@ -150,7 +152,7 @@ public class StructuredAutoEditStrategyCSS extends BasicAutoEditStrategy {
autoIndentAfterClose(command, CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE);
}
}
- //*/
+ // */
}
/**
@@ -181,7 +183,7 @@ public class StructuredAutoEditStrategyCSS extends BasicAutoEditStrategy {
int end = findEndOfWhiteSpace(structuredDocument, start, position);
return structuredDocument.get(start, end - start);
} else if (region.getType() == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START ||
- //region.getType() == CSSRegionContexts.CSS_PARENTHESIS_OPEN ||
+ // region.getType() == CSSRegionContexts.CSS_PARENTHESIS_OPEN ||
region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION || region.getType() == CSSRegionContexts.CSS_DECLARATION_SEPARATOR) {
int position = flatNode.getStart() + region.getStart();
int line = structuredDocument.getLineOfOffset(position);
@@ -225,17 +227,17 @@ public class StructuredAutoEditStrategyCSS extends BasicAutoEditStrategy {
ITextRegion r = it.prev();
CompoundRegion region = new CompoundRegion(it.getStructuredDocumentRegion(), r);
if (region.getType() == CSSRegionContexts.CSS_LBRACE ||
- // region.getType() == CSSRegionContexts.CSS_RBRACE ||
+ // region.getType() == CSSRegionContexts.CSS_RBRACE ||
region.getType() == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START ||
- // region.getType() ==
+ // region.getType() ==
// CSSRegionContexts.CSS_BRACKET_CLOSE ||
- //// region.getType() ==
+ // // region.getType() ==
// CSSRegionContexts.CSS_PARENTHESIS_OPEN ||
- // region.getType() ==
+ // region.getType() ==
// CSSRegionContexts.CSS_PARENTHESIS_CLOSE ||
region.getType() == CSSRegionContexts.CSS_DELIMITER || region.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER ||
- // region.getType() == CSSRegionContexts.CSS_COLON ||
- // region.getType() == CSSRegionContexts.CSS_COMMENT
+ // region.getType() == CSSRegionContexts.CSS_COLON ||
+ // region.getType() == CSSRegionContexts.CSS_COMMENT
// ||
region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
return region;
@@ -360,8 +362,8 @@ public class StructuredAutoEditStrategyCSS extends BasicAutoEditStrategy {
// skip to PARENTHESIS_OPEN
while (it.hasPrev()) {
region = it.prev();
- if (//region.getType() ==
- // CSSRegionContexts.CSS_PARENTHESIS_OPEN ||
+ if (// region.getType() ==
+ // CSSRegionContexts.CSS_PARENTHESIS_OPEN ||
region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION)
nest--;
else if (region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
@@ -497,5 +499,23 @@ public class StructuredAutoEditStrategyCSS extends BasicAutoEditStrategy {
return end;
}
-}
+ private String getIndentString() {
+ String indent = ""; //$NON-NLS-1$
+
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+ if (preferences != null) {
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(CSSCorePreferenceNames.INDENTATION_CHAR);
+ if (CSSCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
+ }
+ int indentationWidth = preferences.getInt(CSSCorePreferenceNames.INDENTATION_SIZE);
+
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
+ }
+ }
+ return indent;
+ }
+}
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
index 7b247e6c04..13113b901d 100644
--- 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
@@ -14,11 +14,13 @@ 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.provisional.preferences.CSSPreferenceHelper;
+import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.css.ui.internal.image.CSSImageHelper;
import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
@@ -79,20 +81,20 @@ abstract class CSSProposalGenerator {
protected StringAndOffset generateBraces() {
StringBuffer buf = new StringBuffer();
String lineDelimiter = fContext.getStructuredDocument().getLineDelimiter();
- CSSPreferenceHelper prefs = CSSPreferenceHelper.getInstance();
- String indentStr = prefs.getIndentString();
- if (prefs.isNewLineOnOpenBrace()) {
+ 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 (prefs.isOnePropertyPerLine()) {
+ 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 (prefs.isOnePropertyPerLine()) {
+ if (preferences.getBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE)) {
buf.append(lineDelimiter);
} else {
buf.append(" ");//$NON-NLS-1$
@@ -140,14 +142,15 @@ abstract class CSSProposalGenerator {
*/
protected StringAndOffset generateURI() {
StringBuffer buf = new StringBuffer();
- CSSPreferenceHelper prefs = CSSPreferenceHelper.getInstance();
+
+ boolean isQuoteInURI = CSSCorePlugin.getDefault().getPluginPreferences().getBoolean(CSSCorePreferenceNames.FORMAT_QUOTE_IN_URI);
char quoteChar = getQuoteChar();
buf.append("url(");//$NON-NLS-1$
- if (prefs.isQuoteInURI()) {
+ if (isQuoteInURI) {
buf.append(quoteChar);
}
int offset = buf.length();
- if (prefs.isQuoteInURI()) {
+ if (isQuoteInURI) {
buf.append(quoteChar);
}
buf.append(")");//$NON-NLS-1$
@@ -176,8 +179,8 @@ abstract class CSSProposalGenerator {
* @return char
*/
private char getQuoteChar() {
- CSSPreferenceHelper prefs = CSSPreferenceHelper.getInstance();
- String quoteStr = prefs.getQuoteString(fContext.getModel());
+
+ 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) {
@@ -206,4 +209,24 @@ abstract class CSSProposalGenerator {
* (text.toUpperCase().indexOf(textToReplace.toUpperCase()) == 0); }
*/
}
+
+
+ private String getIndentString() {
+ String indent = ""; //$NON-NLS-1$
+
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
+ if (preferences != null) {
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(CSSCorePreferenceNames.INDENTATION_CHAR);
+ if (CSSCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
+ }
+ int indentationWidth = preferences.getInt(CSSCorePreferenceNames.INDENTATION_SIZE);
+
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
+ }
+ }
+ return indent;
+ }
} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForAtmarkRule.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForAtmarkRule.java
index 6164c95258..06a18ba34c 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForAtmarkRule.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForAtmarkRule.java
@@ -14,15 +14,16 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+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.ICSSCharsetRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSDocument;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSImportRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.SelectionCollector;
import org.eclipse.wst.css.ui.internal.image.CSSImageType;
import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
@@ -44,7 +45,7 @@ class CSSProposalGeneratorForAtmarkRule extends CSSProposalGenerator {
*/
CSSProposalGeneratorForAtmarkRule(CSSContentAssistContext context) {
super(context);
- fUseUpperCase = CSSPreferenceHelper.getInstance().isIdentUpperCase();
+ fUseUpperCase = CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER;
}
/**
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
index 296c948e41..ce496eb6fd 100644
--- 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
@@ -16,14 +16,15 @@ 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.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.ui.internal.image.CSSImageType;
-import org.eclipse.wst.css.ui.internal.preferences.CSSPreferenceManager;
class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
@@ -42,14 +43,13 @@ class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
*/
protected Iterator getCandidates() {
List candidates = new ArrayList();
-
- CSSPreferenceHelper prefs = CSSPreferenceHelper.getInstance();
+ Preferences preferences = CSSCorePlugin.getDefault().getPluginPreferences();
String preDelim = "";//$NON-NLS-1$
- for (int i = 0; i < prefs.getSpacesPreDelimiter(); i++) {
+ 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 < prefs.getSpacesPostDelimiter(); i++) {
+ for (int i = 0; i < preferences.getInt(CSSCorePreferenceNames.FORMAT_PROP_POST_DELIM); i++) {
postDelim += ' ';//$NON-NLS-1$
}
@@ -70,7 +70,7 @@ class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
names.add(node);
}
sortNames(names);
- //Collections.sort(names);
+ // Collections.sort(names);
boolean bAddColon = true;
if (targetNode instanceof ICSSStyleDeclItem && fContext.targetHas(CSSRegionContexts.CSS_DECLARATION_SEPARATOR)) {
@@ -81,7 +81,7 @@ class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
while (i.hasNext()) {
CSSMMNode node = (CSSMMNode) i.next();
String text = node.getName();
- text = (prefs.isPropNameUpperCase()) ? text.toUpperCase() : text.toLowerCase();
+ text = (preferences.getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.UPPER) ? text.toUpperCase() : text.toLowerCase();
if (!isMatch(text)) {
continue;
}
@@ -96,9 +96,9 @@ class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
buf.append(postDelim);
cursorPos += 1 + postDelim.length();
}
- // if (! (targetNode instanceof ICSSStyleDeclItem)) {
- // buf.append(';');//$NON-NLS-1$
- // }
+ // if (! (targetNode instanceof ICSSStyleDeclItem)) {
+ // buf.append(';');//$NON-NLS-1$
+ // }
CSSCACandidate item = new CSSCACandidate();
item.setReplacementString(buf.toString());
@@ -112,9 +112,6 @@ class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
}
void sortNames(List names) {
- CSSPreferenceManager prefMan = CSSPreferenceManager.getInstance();
- final boolean categorize = prefMan.getContentAssistCategorize();
-
Collections.sort(names, new Comparator() {
public int compare(Object o1, Object o2) {
CSSMMNode node1 = (CSSMMNode) o1;
@@ -125,20 +122,18 @@ class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
return -1;
}
int diff = 0;
- if (categorize) {
- 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;
+ 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 {
- diff = category1.compareTo(category2);
+ return 1;
}
+ } else if (category2 == null) {
+ return -1;
+ } else {
+ diff = category1.compareTo(category2);
}
if (diff == 0) {
String name = node1.getName();
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java
index 08a3a30e7d..e81b779e17 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java
@@ -15,6 +15,7 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import org.eclipse.wst.css.core.internal.CSSCorePlugin;
import org.eclipse.wst.css.core.internal.metamodel.CSSMMDescriptor;
import org.eclipse.wst.css.core.internal.metamodel.CSSMMFunction;
import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
@@ -24,10 +25,10 @@ import org.eclipse.wst.css.core.internal.metamodel.CSSMMUnit;
import org.eclipse.wst.css.core.internal.metamodel.util.CSSFunctionID;
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.ICSSPrimitiveValue;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.core.internal.util.CSSUtil;
import org.eclipse.wst.css.core.internal.util.RegionIterator;
import org.eclipse.wst.css.ui.internal.image.CSSImageType;
@@ -50,7 +51,7 @@ class CSSProposalGeneratorForDeclarationValue extends CSSProposalGenerator {
*/
CSSProposalGeneratorForDeclarationValue(CSSContentAssistContext context) {
super(context);
- fUseUpperCase = CSSPreferenceHelper.getInstance().isPropValueUpperCase();
+ fUseUpperCase = CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER;
}
/**
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java
index ecc68dbbb6..30ec915622 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java
@@ -17,15 +17,16 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+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.CSSMMSelector;
import org.eclipse.wst.css.core.internal.metamodel.util.CSSMMTypeCollector;
import org.eclipse.wst.css.core.internal.parser.CSSRegionUtil;
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.ICSSPageRule;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSPreferenceHelper;
import org.eclipse.wst.css.ui.internal.image.CSSImageType;
import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
@@ -64,7 +65,7 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator {
}
}
- boolean useUpperCase = CSSPreferenceHelper.getInstance().isIdentUpperCase();
+ boolean useUpperCase = CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER;
List tags = getSelectorTags();
Collections.sort(tags);
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/CSSPreferenceManager.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/CSSPreferenceManager.java
deleted file mode 100644
index c6f0d49b7a..0000000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/CSSPreferenceManager.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.preferences;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.ui.internal.provisional.preferences.PreferenceManager;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @deprecated preference management has moved to base preferences
- */
-public class CSSPreferenceManager extends PreferenceManager {
-
- private static CSSPreferenceManager fInstance = null;
- //
- private final static String GROUP_COLOR = "color";//$NON-NLS-1$
- private final static String COLOR_ENABLED = "useColor";//$NON-NLS-1$
- //
- private final static String GROUP_ASSIST = "contentAssist"; //$NON-NLS-1$
- private final static String ASSIST_CATEGORIZE = "categorize"; //$NON-NLS-1$
-
- protected Document fallbackDocument = null;
-
- /**
- *
- */
- protected CSSPreferenceManager() {
- super();
- }
-
- /**
- *
- */
- public Document createDefaultPreferences() {
- Document doc = super.createDefaultPreferences();
- if (doc == null) {
- return doc;
- }
-
- Node preference = doc.getFirstChild();
-
- Element color = doc.createElement(GROUP_COLOR);
- setBooleanAttribute(color, COLOR_ENABLED, true);
- preference.appendChild(color);
-
- Element contentAssist = doc.createElement(GROUP_ASSIST);
- setBooleanAttribute(contentAssist, ASSIST_CATEGORIZE, true);
- preference.appendChild(contentAssist);
-
- return doc;
- }
-
- public boolean getContentAssistCategorize() {
- return getBooleanAttribute(getGroupElement(GROUP_ASSIST), ASSIST_CATEGORIZE);
- }
-
- public void setContentAssistCategorize(boolean categorize) {
- setBooleanAttribute(getGroupElement(GROUP_ASSIST), ASSIST_CATEGORIZE, categorize);
- }
-
- /**
- *
- */
- protected boolean getBooleanAttribute(Element element, String name) {
- String str = element.getAttribute(name);
- if (str == null || str.length() <= 0) {
- element = getDefaultGroupElement(element.getTagName());
- if (element != null)
- str = element.getAttribute(name);
- }
- return (str == null) ? false : str.equals(Boolean.TRUE.toString());
- }
-
- /**
- *
- */
- public boolean getColorEnabled() {
- return getBooleanAttribute(getGroupElement(GROUP_COLOR), COLOR_ENABLED);
- }
-
- /**
- *
- */
- protected String getFilename() {
- if (fileName == null) {
- fileName = Platform.getStateLocation(Platform.getBundle("org.eclipse.wst.sse.core")).toString() + "/cssprefs.xml";//$NON-NLS-1$ //$NON-NLS-2$
- }
- return fileName;
- }
-
- /**
- *
- */
- protected Element getGroupElement(String name) {
- Node node = getNamedChild(getRootElement(), name);
- return (node instanceof Element) ? (Element) node : getDefaultGroupElement(name);
- }
-
- /**
- *
- */
- protected Element getDefaultGroupElement(String name) {
- Node node = getNamedChild(getDefaultRootElement(), name);
- return (node instanceof Element) ? (Element) node : null;
- }
-
- /**
- *
- */
- protected Node getDefaultRootElement() {
- if (fallbackDocument == null)
- fallbackDocument = createDefaultPreferences();
- return getRootElement(fallbackDocument);
- }
-
- /**
- *
- */
- public synchronized static CSSPreferenceManager getInstance() {
- if (fInstance == null) {
- fInstance = new CSSPreferenceManager();
- }
- return fInstance;
- }
-
- /**
- *
- */
- protected int getIntAttribute(Element element, String name) {
- int value = 0;
- try {
- value = Integer.parseInt(element.getAttribute(name));
- } catch (NumberFormatException e) {
- element = getDefaultGroupElement(element.getTagName());
- try {
- value = Integer.parseInt(element.getAttribute(name));
- } catch (NumberFormatException ee) {
- }
- }
- return value;
- }
-
- /**
- *
- */
- protected String getStringAttribute(Element element, String name) {
- if (element.getAttributeNode(name) == null) {
- element = getDefaultGroupElement(element.getTagName());
- }
- return element.getAttribute(name);
- }
-
- /**
- *
- */
- protected void setBooleanAttribute(Element element, String name, boolean value) {
- element.setAttribute(name, new Boolean(value).toString());
- }
-
- /**
- *
- */
- public void setColorEnabled(boolean enabled) {
- setBooleanAttribute(getGroupElement(GROUP_COLOR), COLOR_ENABLED, enabled);
- }
-
- /**
- *
- */
- protected void setStringAttribute(Element element, String name, String value) {
- element.setAttribute(name, value);
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSColorManager.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSColorManager.java
deleted file mode 100644
index 477d47e0be..0000000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSColorManager.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.preferences.ui;
-
-
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.wst.css.ui.internal.Logger;
-import org.eclipse.wst.css.ui.internal.style.IStyleConstantsCSS;
-import org.eclipse.wst.sse.ui.internal.preferences.ui.ColorNames;
-import org.eclipse.wst.sse.ui.internal.provisional.preferences.PreferenceManager;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @deprecated color preference management has moved to base preferences
- */
-public class CSSColorManager extends PreferenceManager {
-
- private static CSSColorManager fInstance = null;
-
- // names for preference elements ... non-NLS
- public static final String FOREGROUND = "foreground";//$NON-NLS-1$
- public static final String BACKGROUND = "background";//$NON-NLS-1$
- public static final String BOLD = "bold";//$NON-NLS-1$
- public static final String ITALIC = "italic";//$NON-NLS-1$
- public static final String NAME = "name";//$NON-NLS-1$
- public static final String COLOR = "color";//$NON-NLS-1$
-
- private CSSColorManager() {
- super();
- }
-
- protected Element addColor(Node colors, String name, String foreground, String background) {
- Element newColor = newColor(colors.getOwnerDocument(), name, foreground, background);
- colors.appendChild(newColor);
- return newColor;
- }
-
- /**
- * <!ELEMENT colors (color) > <!ELEMENT color EMPTY > <!ATTLIST color name
- * CDATA #REQUIRED foreground CDATA #IMPLIED background CDATA #IMPLIED
- * bold CDATA #REQUIRED >
- *
- */
- public Document createDefaultPreferences() {
- Document prefDocument = super.createDefaultPreferences();
- if (prefDocument == null)
- return prefDocument;
-
- while (prefDocument.getChildNodes().getLength() > 0)
- prefDocument.removeChild(prefDocument.getLastChild());
- Element colors = prefDocument.createElement(getRootElementName());
- prefDocument.appendChild(colors);
-
- // current as of 2001-8-13
- addColor(colors, IStyleConstantsCSS.NORMAL, null, null);
- addColor(colors, IStyleConstantsCSS.ATMARK_RULE, getColorString(63, 127, 127), null);
- addColor(colors, IStyleConstantsCSS.SELECTOR, getColorString(63, 127, 127), null);
- addColor(colors, IStyleConstantsCSS.MEDIA, getColorString(42, 0, 225), null);
- addColor(colors, IStyleConstantsCSS.COMMENT, getColorString(63, 95, 191), null);
- addColor(colors, IStyleConstantsCSS.PROPERTY_NAME, getColorString(127, 0, 127), null);
- addColor(colors, IStyleConstantsCSS.PROPERTY_VALUE, getColorString(42, 0, 225), null);
- addColor(colors, IStyleConstantsCSS.URI, getColorString(42, 0, 225), null);
- addColor(colors, IStyleConstantsCSS.STRING, getColorString(42, 0, 225), null);
- addColor(colors, IStyleConstantsCSS.COLON, null, null);
- addColor(colors, IStyleConstantsCSS.SEMI_COLON, null, null);
- addColor(colors, IStyleConstantsCSS.CURLY_BRACE, null, null);
- addColor(colors, IStyleConstantsCSS.ERROR, getColorString(191, 63, 63), null);
-
- return prefDocument;
- }
-
- public RGB getBackgroundRGB(String name) {
- Element element = getColorElement(name);
- if (element != null) {
- return getRGB(element.getAttribute(BACKGROUND));
- }
- else {
- return new RGB(255, 255, 255);
- }
- }
-
- private Element getColorElement(String name) {
- Node colorsElement = getRootElement();
- NodeList colors = colorsElement.getChildNodes();
- for (int i = 0; i < colors.getLength(); i++) {
- Node node = colors.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE && ((Element) node).getAttribute(NAME).equals(name)) {
- return (Element) node;
- }
- }
- return null;
- }
-
- public static String getColorString(int r, int g, int b) {
- return "#" + getHexString(r, 2) + getHexString(g, 2) + getHexString(b, 2);//$NON-NLS-1$
- }
-
- public String getFilename() {
- if (fileName == null) {
- fileName = Platform.getStateLocation(Platform.getBundle("org.eclipse.sse.core")).toString() + "/csssourcecolors.xml";//$NON-NLS-1$ //$NON-NLS-2$
- }
- return fileName;
- }
-
- public RGB getForegroundRGB(String name) {
- Element element = getColorElement(name);
- if (element != null) {
- return getRGB(element.getAttribute(FOREGROUND));
- }
- else {
- return new RGB(0, 0, 0);
- }
- }
-
- public static String getHexString(int value, int minWidth) {
- String hexString = Integer.toHexString(value);
- for (int i = hexString.length(); i < minWidth; i++) {
- hexString = "0" + hexString;//$NON-NLS-1$
- }
- return hexString;
- }
-
- public synchronized static CSSColorManager getInstance() {
- if (fInstance == null) {
- fInstance = new CSSColorManager();
- }
- return fInstance;
- }
-
- private RGB getRGB(String rgbStr) {
- RGB result = null;
- if (6 < rgbStr.length() && rgbStr.charAt(0) == '#') {
- try {
- int r = Integer.valueOf(rgbStr.substring(1, 3), 16).intValue();
- int g = Integer.valueOf(rgbStr.substring(3, 5), 16).intValue();
- int b = Integer.valueOf(rgbStr.substring(5, 7), 16).intValue();
- result = new RGB(r, g, b);
- }
- catch (NumberFormatException e) {
- Logger.logException("Invalid color string " + rgbStr, e); //$NON-NLS-1$
- }
- }
- return result;
- }
-
- /**
- * The intended name for the root Element of the Document; what is also
- * listed within the DOCTYPE declaration.
- *
- * @return String
- */
- public String getRootElementName() {
- return ColorNames.COLORS;
- }
-
- public int getStyle(String name) {
- int style = SWT.NORMAL;
- Element element = getColorElement(name);
- if (element != null) {
- if (Boolean.valueOf(element.getAttribute(BOLD)).booleanValue()) {
- style |= SWT.BOLD;
- }
- if (Boolean.valueOf(element.getAttribute(ITALIC)).booleanValue()) {
- style |= SWT.ITALIC;
- }
- }
- return style;
- }
-
- protected Element newColor(Document doc, String name, String foreground, String background) {
- if (doc == null || name == null || name.length() < 1)
- return null;
- Element newColor = doc.createElement(ColorNames.COLOR);
- newColor.setAttribute(ColorNames.NAME, name);
- if (foreground != null)
- newColor.setAttribute(ColorNames.FOREGROUND, foreground);
- if (background != null)
- newColor.setAttribute(ColorNames.BACKGROUND, background);
- return newColor;
- }
-
- protected Element newColor(Document doc, String name, String foreground, String background, boolean bold, boolean italic) {
- Element newColor = newColor(doc, name, foreground, background);
- if (newColor == null)
- return null;
- newColor.setAttribute(ColorNames.BOLD, String.valueOf(bold));
- newColor.setAttribute(ColorNames.ITALIC, String.valueOf(italic));
- return newColor;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSSourcePreferencePage.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSSourcePreferencePage.java
index 6e6cae0f7b..3ba95e70ff 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSSourcePreferencePage.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/ui/CSSSourcePreferencePage.java
@@ -18,110 +18,75 @@ import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Spinner;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.help.WorkbenchHelp;
import org.eclipse.wst.css.core.internal.CSSCorePlugin;
-import org.eclipse.wst.css.core.internal.provisional.preferences.CSSModelPreferenceNames;
+import org.eclipse.wst.css.core.internal.preferences.CSSCorePreferenceNames;
import org.eclipse.wst.css.ui.internal.CSSUIMessages;
import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
import org.eclipse.wst.css.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.ui.internal.preferences.XMLSourcePreferencePage;
+import org.eclipse.wst.sse.ui.internal.preferences.ui.AbstractPreferencePage;
/**
*/
-public class CSSSourcePreferencePage extends XMLSourcePreferencePage {
- // Formatting
- private final static String FORMATTING_GROUP = CSSUIMessages.Formatting_UI_;
- private final static String FORMATTING_LINE_WIDTH = CSSUIMessages.Line_width__UI_;
- private final static String FORMATTING_INDENT_USING_TABS = CSSUIMessages.Indent_using_tabs_;
- // CSS Formatting
- private final static String FORMATTING_INSERT_LINE_BREAK = CSSUIMessages.PrefsLabel_WrappingInsertLineBreak; //$NON-NLS-1$
- private final static String FORMATTING_WRAPPING_WITHOUT_ATTR = CSSUIMessages.PrefsLabel_WrappingWithoutAttr;//$NON-NLS-1$
-
- // Case
- private final static String CASE_GROUP = CSSUIMessages.PrefsLabel_CaseGroup; //$NON-NLS-1$
- private final static String CASE_IDENT = CSSUIMessages.PrefsLabel_CaseIdent; //$NON-NLS-1$
- private final static String CASE_PROP_NAME = CSSUIMessages.PrefsLabel_CasePropName; //$NON-NLS-1$
- private final static String CASE_PROP_VALUE = CSSUIMessages.PrefsLabel_CasePropValue; //$NON-NLS-1$
- private final static String CASE_IDENT_UPPER = CSSUIMessages.PrefsLabel_CaseIdentUpper; //$NON-NLS-1$
- private final static String CASE_IDENT_LOWER = CSSUIMessages.PrefsLabel_CaseIdentLower; //$NON-NLS-1$
- private final static String CASE_PROP_NAME_UPPER = CSSUIMessages.PrefsLabel_CasePropNameUpper; //$NON-NLS-1$
- private final static String CASE_PROP_NAME_LOWER = CSSUIMessages.PrefsLabel_CasePropNameLower; //$NON-NLS-1$
- private final static String CASE_PROP_VALUE_UPPER = CSSUIMessages.PrefsLabel_CasePropValueUpper; //$NON-NLS-1$
- private final static String CASE_PROP_VALUE_LOWER = CSSUIMessages.PrefsLabel_CasePropValueLower; //$NON-NLS-1$
-
- // one property per one line
- protected Button fPropertyPerLine;
- // prohibit wrapping if style attribute
- protected Button fNowrapAttr;
+public class CSSSourcePreferencePage extends AbstractPreferencePage {
+ // Content Assist
+ protected Button fAutoPropose;
+ protected Label fAutoProposeLabel;
+ protected Text fAutoProposeText;
+ protected Button fClearAllBlankLines;
+ protected Button fIdentLower;
// case of output character
// case of identifier
protected Button fIdentUpper;
- protected Button fIdentLower;
+ private Spinner fIndentationSize;
+ private Button fIndentUsingSpaces;
+
+ private Button fIndentUsingTabs;
+ // Formatting
+ protected Label fLineWidthLabel;
+
+ protected Text fLineWidthText;
+ // prohibit wrapping if style attribute
+ protected Button fNowrapAttr;
+ // one property per one line
+ protected Button fPropertyPerLine;
+ protected Button fPropNameLower;
+
// case of property name
protected Button fPropNameUpper;
- protected Button fPropNameLower;
+ protected Button fPropValueLower;
// case of property value
protected Button fPropValueUpper;
- protected Button fPropValueLower;
-
- protected void createContentsForFormattingGroup(Composite parent) {
- Group formattingGroup = createGroup(parent, 2);
- formattingGroup.setText(FORMATTING_GROUP);
- // // assigning one help for whole group
- // WorkbenchHelp.setHelp(formattingGroup,
- // "com.ibm.etools.webedit.core.cssp1200"); //$NON-NLS-1$
-
- fLineWidthLabel = createLabel(formattingGroup, FORMATTING_LINE_WIDTH);
- fLineWidthText = new Text(formattingGroup, SWT.SINGLE | SWT.BORDER);
- GridData gData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.BEGINNING);
- gData.widthHint = 25;
- fLineWidthText.setLayoutData(gData);
- fLineWidthText.addModifyListener(this);
-
- fPropertyPerLine = createCheckBox(formattingGroup, FORMATTING_INSERT_LINE_BREAK);
- ((GridData) fPropertyPerLine.getLayoutData()).horizontalSpan = 2;
+ protected Button fSplitMultiAttrs;
+ private final int MAX_INDENTATION_SIZE = 16;
+ private final int MIN_INDENTATION_SIZE = 0;
- fIndentUsingTabs = createCheckBox(formattingGroup, FORMATTING_INDENT_USING_TABS);
- ((GridData) fIndentUsingTabs.getLayoutData()).horizontalSpan = 2;
- fNowrapAttr = createCheckBox(formattingGroup, FORMATTING_WRAPPING_WITHOUT_ATTR);
- ((GridData) fNowrapAttr.getLayoutData()).horizontalSpan = 2;
- }
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ protected Control createContents(Composite parent) {
+ Composite composite = (Composite) super.createContents(parent);
+ WorkbenchHelp.setHelp(composite, IHelpContextIds.CSS_PREFWEBX_SOURCE_HELPID);
- protected void performDefaultsForFormattingGroup() {
- // Formatting
- Preferences prefs = getModelPreferences();
- fLineWidthText.setText(prefs.getDefaultString(CommonModelPreferenceNames.LINE_WIDTH));
- fPropertyPerLine.setSelection(prefs.getDefaultBoolean(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE));
- fIndentUsingTabs.setSelection(prefs.getDefaultBoolean(CommonModelPreferenceNames.INDENT_USING_TABS));
- fNowrapAttr.setSelection(prefs.getDefaultBoolean(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR));
- }
+ createContentsForFormattingGroup(composite);
+ createContentsForContentAssistGroup(composite);
+ setSize(composite);
+ loadPreferences();
- protected void initializeValuesForFormattingGroup() {
- // Formatting
- Preferences prefs = getModelPreferences();
- fLineWidthText.setText(prefs.getString(CommonModelPreferenceNames.LINE_WIDTH));
- fPropertyPerLine.setSelection(prefs.getBoolean(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE));
- fIndentUsingTabs.setSelection(prefs.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS));
- fNowrapAttr.setSelection(prefs.getBoolean(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR));
+ return composite;
}
- protected void storeValuesForFormattingGroup() {
- // Formatting
- Preferences prefs = getModelPreferences();
- prefs.setValue(CommonModelPreferenceNames.LINE_WIDTH, fLineWidthText.getText());
- prefs.setValue(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE, fPropertyPerLine.getSelection());
- prefs.setValue(CommonModelPreferenceNames.INDENT_USING_TABS, fIndentUsingTabs.getSelection());
- prefs.setValue(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, fNowrapAttr.getSelection());
- }
-
- protected void createContentsForContentAssistGroup(Composite parent) {
+ private void createContentsForContentAssistGroup(Composite parent) {
// not content assist, but preferred case
Group caseGroup = createGroup(parent, 3);
- caseGroup.setText(CASE_GROUP);
+ caseGroup.setText(CSSUIMessages.PrefsLabel_CaseGroup);
// WorkbenchHelp.setHelp(caseGroup,
// "com.ibm.etools.webedit.core.cssp1400"); //$NON-NLS-1$
@@ -132,89 +97,79 @@ public class CSSSourcePreferencePage extends XMLSourcePreferencePage {
// use group for radio buttons so that associated label is read
// Composite identGroup = createComposite(caseGroup, 1);
Group identGroup = createGroup(caseGroup, 1);
- identGroup.setText(CASE_IDENT);
- fIdentUpper = createRadioButton(identGroup, CASE_IDENT_UPPER);
- fIdentLower = createRadioButton(identGroup, CASE_IDENT_LOWER);
+ identGroup.setText(CSSUIMessages.PrefsLabel_CaseIdent);
+ fIdentUpper = createRadioButton(identGroup, CSSUIMessages.PrefsLabel_CaseIdentUpper);
+ fIdentLower = createRadioButton(identGroup, CSSUIMessages.PrefsLabel_CaseIdentLower);
// use group for radio buttons so that associated label is read
// Composite propNameGroup = createComposite(caseGroup, 1);
Group propNameGroup = createGroup(caseGroup, 1);
- propNameGroup.setText(CASE_PROP_NAME);
- fPropNameUpper = createRadioButton(propNameGroup, CASE_PROP_NAME_UPPER);
- fPropNameLower = createRadioButton(propNameGroup, CASE_PROP_NAME_LOWER);
+ propNameGroup.setText(CSSUIMessages.PrefsLabel_CasePropName);
+ fPropNameUpper = createRadioButton(propNameGroup, CSSUIMessages.PrefsLabel_CasePropNameUpper);
+ fPropNameLower = createRadioButton(propNameGroup, CSSUIMessages.PrefsLabel_CasePropNameLower);
// use group for radio buttons so that associated label is read
// Composite propValueGroup = createComposite(caseGroup, 1);
Group propValueGroup = createGroup(caseGroup, 1);
- propValueGroup.setText(CASE_PROP_VALUE);
- fPropValueUpper = createRadioButton(propValueGroup, CASE_PROP_VALUE_UPPER);
- fPropValueLower = createRadioButton(propValueGroup, CASE_PROP_VALUE_LOWER);
- }
-
- protected void performDefaultsForContentAssistGroup() {
- // not content assist, but preferred case
- Preferences prefs = getModelPreferences();
- fIdentUpper.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.UPPER);
- fIdentLower.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.LOWER);
- fPropNameUpper.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.UPPER);
- fPropNameLower.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.LOWER);
- fPropValueUpper.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.UPPER);
- fPropValueLower.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.LOWER);
+ propValueGroup.setText(CSSUIMessages.PrefsLabel_CasePropValue);
+ fPropValueUpper = createRadioButton(propValueGroup, CSSUIMessages.PrefsLabel_CasePropValueUpper);
+ fPropValueLower = createRadioButton(propValueGroup, CSSUIMessages.PrefsLabel_CasePropValueLower);
}
- protected void initializeValuesForContentAssistGroup() {
- // not content assist, but preferred case
- Preferences prefs = getModelPreferences();
- fIdentUpper.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.UPPER);
- fIdentLower.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.LOWER);
- fPropNameUpper.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.UPPER);
- fPropNameLower.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.LOWER);
- fPropValueUpper.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.UPPER);
- fPropValueLower.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.LOWER);
- }
-
- protected void storeValuesForContentAssistGroup() {
- // not content assist, but preferred case
- Preferences prefs = getModelPreferences();
- prefs.setValue(CSSModelPreferenceNames.CASE_IDENTIFIER, (fIdentUpper.getSelection()) ? CommonModelPreferenceNames.UPPER : CommonModelPreferenceNames.LOWER);
- prefs.setValue(CSSModelPreferenceNames.CASE_PROPERTY_NAME, (fPropNameUpper.getSelection()) ? CommonModelPreferenceNames.UPPER : CommonModelPreferenceNames.LOWER);
- prefs.setValue(CSSModelPreferenceNames.CASE_PROPERTY_VALUE, (fPropValueUpper.getSelection()) ? CommonModelPreferenceNames.UPPER : CommonModelPreferenceNames.LOWER);
- }
-
- protected void createContentsForGrammarConstraintsGroup(Composite parent) {
- // do nothing
- }
+ private void createContentsForFormattingGroup(Composite parent) {
+ Group formattingGroup = createGroup(parent, 2);
+ formattingGroup.setText(CSSUIMessages.Formatting_UI_);
+ // // assigning one help for whole group
+ // WorkbenchHelp.setHelp(formattingGroup,
+ // "com.ibm.etools.webedit.core.cssp1200"); //$NON-NLS-1$
- protected void performDefaultsForGrammarConstraintsGroup() {
- // do nothing
- }
+ fLineWidthLabel = createLabel(formattingGroup, CSSUIMessages.Line_width__UI_);
+ fLineWidthText = new Text(formattingGroup, SWT.SINGLE | SWT.BORDER);
+ GridData gData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.BEGINNING);
+ gData.widthHint = 25;
+ fLineWidthText.setLayoutData(gData);
+ fLineWidthText.addModifyListener(this);
- protected void initializeValuesForGrammarConstraintsGroup() {
- // do nothing
- }
+ fPropertyPerLine = createCheckBox(formattingGroup, CSSUIMessages.PrefsLabel_WrappingInsertLineBreak);
+ ((GridData) fPropertyPerLine.getLayoutData()).horizontalSpan = 2;
- protected void storeValuesForGrammarConstraintsGroup() {
- // do nothing
+ fNowrapAttr = createCheckBox(formattingGroup, CSSUIMessages.PrefsLabel_WrappingWithoutAttr);
+ ((GridData) fNowrapAttr.getLayoutData()).horizontalSpan = 2;
+
+ fIndentUsingTabs = createRadioButton(formattingGroup, CSSUIMessages.Indent_using_tabs_);
+ ((GridData) fIndentUsingTabs.getLayoutData()).horizontalSpan = 2;
+ fIndentUsingSpaces = createRadioButton(formattingGroup, CSSUIMessages.Indent_using_spaces);
+ ((GridData) fIndentUsingSpaces.getLayoutData()).horizontalSpan = 2;
+
+ createLabel(formattingGroup, CSSUIMessages.Indentation_size);
+ fIndentationSize = new Spinner(formattingGroup, SWT.READ_ONLY | SWT.BORDER);
+ GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ fIndentationSize.setLayoutData(gd);
+ fIndentationSize.setToolTipText(CSSUIMessages.Indentation_size_tip);
+ fIndentationSize.setMinimum(MIN_INDENTATION_SIZE);
+ fIndentationSize.setMaximum(MAX_INDENTATION_SIZE);
+ fIndentationSize.setIncrement(1);
+ fIndentationSize.setPageIncrement(4);
+ fIndentationSize.addModifyListener(this);
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
*/
- // protected IPreferenceStore doGetPreferenceStore() {
- // return CSSUIPlugin.getDefault().getPreferenceStore();
- // }
+ protected IPreferenceStore doGetPreferenceStore() {
+ return CSSUIPlugin.getDefault().getPreferenceStore();
+ }
+
/*
* (non-Javadoc)
*
* @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#doSavePreferenceStore()
*/
- protected void doSavePreferenceStore() {
+ private void doSavePreferenceStore() {
CSSUIPlugin.getDefault().savePluginPreferences();
CSSCorePlugin.getDefault().savePluginPreferences(); // model
}
-
+
/*
* (non-Javadoc)
*
@@ -224,20 +179,110 @@ public class CSSSourcePreferencePage extends XMLSourcePreferencePage {
return CSSCorePlugin.getDefault().getPluginPreferences();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
- */
- protected Control createContents(Composite parent) {
- Control c = super.createContents(parent);
- WorkbenchHelp.setHelp(c, IHelpContextIds.CSS_PREFWEBX_SOURCE_HELPID);
- return c;
+ protected void initializeValues() {
+ initializeValuesForFormattingGroup();
+ initializeValuesForContentAssistGroup();
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
- */
- protected IPreferenceStore doGetPreferenceStore() {
- return CSSUIPlugin.getDefault().getPreferenceStore();
+
+ private void initializeValuesForContentAssistGroup() {
+ // not content assist, but preferred case
+ Preferences prefs = getModelPreferences();
+ fIdentUpper.setSelection(prefs.getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER);
+ fIdentLower.setSelection(prefs.getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.LOWER);
+ fPropNameUpper.setSelection(prefs.getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.UPPER);
+ fPropNameLower.setSelection(prefs.getInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.LOWER);
+ fPropValueUpper.setSelection(prefs.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER);
+ fPropValueLower.setSelection(prefs.getInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.LOWER);
+ }
+
+ private void initializeValuesForFormattingGroup() {
+ // Formatting
+ Preferences prefs = getModelPreferences();
+ fLineWidthText.setText(prefs.getString(CSSCorePreferenceNames.LINE_WIDTH));
+ fPropertyPerLine.setSelection(prefs.getBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE));
+ fNowrapAttr.setSelection(prefs.getBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR));
+
+ if (CSSCorePreferenceNames.TAB.equals(getModelPreferences().getString(CSSCorePreferenceNames.INDENTATION_CHAR))) {
+ fIndentUsingTabs.setSelection(true);
+ fIndentUsingSpaces.setSelection(false);
+ } else {
+ fIndentUsingSpaces.setSelection(true);
+ fIndentUsingTabs.setSelection(false);
+ }
+
+ fIndentationSize.setSelection(getModelPreferences().getInt(CSSCorePreferenceNames.INDENTATION_SIZE));
+ }
+
+ protected void performDefaults() {
+ performDefaultsForFormattingGroup();
+ performDefaultsForContentAssistGroup();
+
+ validateValues();
+ enableValues();
+
+ super.performDefaults();
+ }
+
+ private void performDefaultsForContentAssistGroup() {
+ // not content assist, but preferred case
+ Preferences prefs = getModelPreferences();
+ fIdentUpper.setSelection(prefs.getDefaultInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER);
+ fIdentLower.setSelection(prefs.getDefaultInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.LOWER);
+ fPropNameUpper.setSelection(prefs.getDefaultInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.UPPER);
+ fPropNameLower.setSelection(prefs.getDefaultInt(CSSCorePreferenceNames.CASE_PROPERTY_NAME) == CSSCorePreferenceNames.LOWER);
+ fPropValueUpper.setSelection(prefs.getDefaultInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.UPPER);
+ fPropValueLower.setSelection(prefs.getDefaultInt(CSSCorePreferenceNames.CASE_PROPERTY_VALUE) == CSSCorePreferenceNames.LOWER);
+ }
+
+ private void performDefaultsForFormattingGroup() {
+ // Formatting
+ Preferences prefs = getModelPreferences();
+ fLineWidthText.setText(prefs.getDefaultString(CSSCorePreferenceNames.LINE_WIDTH));
+ fPropertyPerLine.setSelection(prefs.getDefaultBoolean(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE));
+ fNowrapAttr.setSelection(prefs.getDefaultBoolean(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR));
+
+ if (CSSCorePreferenceNames.TAB.equals(getModelPreferences().getDefaultString(CSSCorePreferenceNames.INDENTATION_CHAR))) {
+ fIndentUsingTabs.setSelection(true);
+ fIndentUsingSpaces.setSelection(false);
+ } else {
+ fIndentUsingSpaces.setSelection(true);
+ fIndentUsingTabs.setSelection(false);
+ }
+ fIndentationSize.setSelection(getModelPreferences().getDefaultInt(CSSCorePreferenceNames.INDENTATION_SIZE));
+ }
+
+ public boolean performOk() {
+ boolean result = super.performOk();
+
+ doSavePreferenceStore();
+
+ return result;
+ }
+
+ protected void storeValues() {
+ storeValuesForFormattingGroup();
+ storeValuesForContentAssistGroup();
+ }
+
+ private void storeValuesForContentAssistGroup() {
+ // not content assist, but preferred case
+ Preferences prefs = getModelPreferences();
+ prefs.setValue(CSSCorePreferenceNames.CASE_IDENTIFIER, (fIdentUpper.getSelection()) ? CSSCorePreferenceNames.UPPER : CSSCorePreferenceNames.LOWER);
+ prefs.setValue(CSSCorePreferenceNames.CASE_PROPERTY_NAME, (fPropNameUpper.getSelection()) ? CSSCorePreferenceNames.UPPER : CSSCorePreferenceNames.LOWER);
+ prefs.setValue(CSSCorePreferenceNames.CASE_PROPERTY_VALUE, (fPropValueUpper.getSelection()) ? CSSCorePreferenceNames.UPPER : CSSCorePreferenceNames.LOWER);
+ }
+ private void storeValuesForFormattingGroup() {
+ // Formatting
+ Preferences prefs = getModelPreferences();
+ prefs.setValue(CSSCorePreferenceNames.LINE_WIDTH, fLineWidthText.getText());
+ prefs.setValue(CSSCorePreferenceNames.WRAPPING_ONE_PER_LINE, fPropertyPerLine.getSelection());
+ prefs.setValue(CSSCorePreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, fNowrapAttr.getSelection());
+
+ if (fIndentUsingTabs.getSelection()) {
+ getModelPreferences().setValue(CSSCorePreferenceNames.INDENTATION_CHAR, CSSCorePreferenceNames.TAB);
+ } else {
+ getModelPreferences().setValue(CSSCorePreferenceNames.INDENTATION_CHAR, CSSCorePreferenceNames.SPACE);
+ }
+ getModelPreferences().setValue(CSSCorePreferenceNames.INDENTATION_SIZE, fIndentationSize.getSelection());
}
} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/plugin.xml b/bundles/org.eclipse.wst.html.core/plugin.xml
index 5dfccbebef..7aada526cd 100644
--- a/bundles/org.eclipse.wst.html.core/plugin.xml
+++ b/bundles/org.eclipse.wst.html.core/plugin.xml
@@ -210,4 +210,9 @@
systemID="http://www.wapforum.org/DTD/wml13.dtd">
</documentType>
</extension>
+
+ <!-- initialize html core preferences -->
+ <extension point="org.eclipse.core.runtime.preferences">
+ <initializer class="org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceInitializer"/>
+ </extension>
</plugin>
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLContentBuilder.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLContentBuilder.java
index 55ebe6b741..7f612fb364 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLContentBuilder.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLContentBuilder.java
@@ -13,8 +13,8 @@ package org.eclipse.wst.html.core.internal;
import org.eclipse.core.runtime.Preferences;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
import org.eclipse.wst.xml.core.internal.contentmodel.util.DOMContentBuilderImpl;
import org.w3c.dom.Document;
@@ -32,8 +32,8 @@ public class HTMLContentBuilder extends DOMContentBuilderImpl {
public HTMLContentBuilder(Document document) {
super(document);
Preferences prefs = HTMLCorePlugin.getDefault().getPluginPreferences();
- fTagCase = prefs.getInt(CommonModelPreferenceNames.TAG_NAME_CASE);
- fAttrCase = prefs.getInt(CommonModelPreferenceNames.ATTR_NAME_CASE);
+ fTagCase = prefs.getInt(HTMLCorePreferenceNames.TAG_NAME_CASE);
+ fAttrCase = prefs.getInt(HTMLCorePreferenceNames.ATTR_NAME_CASE);
// Element caseSettings = HTMLPreferenceManager.getHTMLInstance().getElement(PreferenceNames.PREFERRED_CASE);
// fTagCase = caseSettings.getAttribute(PreferenceNames.TAGNAME);
// fAttrCase = caseSettings.getAttribute(PreferenceNames.ATTRIBUTENAME);
@@ -45,16 +45,16 @@ public class HTMLContentBuilder extends DOMContentBuilderImpl {
// if (cmnode instanceof HTMLCMNode && ((HTMLCMNode) cmnode).shouldIgnoreCase()) {
if (shouldIgnoreCase(cmnode)) {
if (cmnode.getNodeType() == CMNode.ELEMENT_DECLARATION) {
- if (fTagCase == CommonModelPreferenceNames.LOWER)
+ if (fTagCase == HTMLCorePreferenceNames.LOWER)
name = name.toLowerCase();
- else if (fTagCase == CommonModelPreferenceNames.UPPER)
+ else if (fTagCase == HTMLCorePreferenceNames.UPPER)
name = name.toUpperCase();
// else do nothing
}
else if (cmnode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION) {
- if (fAttrCase == CommonModelPreferenceNames.LOWER)
+ if (fAttrCase == HTMLCorePreferenceNames.LOWER)
name = name.toLowerCase();
- else if (fAttrCase == CommonModelPreferenceNames.UPPER)
+ else if (fAttrCase == HTMLCorePreferenceNames.UPPER)
name = name.toUpperCase();
// else do nothing
}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePlugin.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePlugin.java
index f564c3bf0b..fc73123c95 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePlugin.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePlugin.java
@@ -13,11 +13,6 @@ package org.eclipse.wst.html.core.internal;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.html.core.internal.provisional.HTMLFilesPreferenceNames;
-import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames;
-import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
/**
* The main plugin class to be used in the desktop.
@@ -47,45 +42,4 @@ public class HTMLCorePlugin extends Plugin {
public static IWorkspace getWorkspace() {
return ResourcesPlugin.getWorkspace();
}
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
- */
- protected void initializeDefaultPluginPreferences() {
- Preferences prefs = getDefault().getPluginPreferences();
- // set model preference defaults
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, true);
- prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
- prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
- prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
- prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-
- prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-
- String defaultEnc = CommonModelPreferenceNames.UTF_8;
- String systemEnc = System.getProperty("file.encoding"); //$NON-NLS-1$
- if (systemEnc != null) {
- defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, CommonModelPreferenceNames.UTF_8);
- }
- prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
-
- prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
- prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, CommonModelPreferenceNames.DEFAULT_TAB_WIDTH);
-
- prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, true);
- prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
- prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
- prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
- prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-
- prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, true);
- prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
- prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
-
- prefs.setDefault(HTMLFilesPreferenceNames.DEFAULT_SUFFIX, HTMLFilesPreferenceNames.HTML_SUFFIX);
- prefs.setDefault(HTMLFilesPreferenceNames.GENERATE_DOCUMENT_TYPE, true);
- prefs.setDefault(HTMLFilesPreferenceNames.GENERATE_GENERATOR, true);
- }
}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java
index 26c6b90620..ea0244ed05 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java
@@ -13,10 +13,10 @@ package org.eclipse.wst.html.core.internal.cleanup;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupHandler;
import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupPreferences;
import org.eclipse.wst.sse.core.internal.cleanup.StructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentEvent;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
@@ -40,15 +40,13 @@ abstract class AbstractNodeCleanupHandler implements IStructuredCleanupHandler {
Preferences preferences = getModelPreferences();
if (preferences != null) {
- fCleanupPreferences.setTagNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE));
- fCleanupPreferences.setAttrNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE));
- fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
- fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
- fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
- fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
- fCleanupPreferences.setFormatSource(preferences.getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
- fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
- fCleanupPreferences.setEOLCode(preferences.getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE));
+ fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(HTMLCorePreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
+ fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(HTMLCorePreferenceNames.INSERT_REQUIRED_ATTRS));
+ fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(HTMLCorePreferenceNames.INSERT_MISSING_TAGS));
+ fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(HTMLCorePreferenceNames.QUOTE_ATTR_VALUES));
+ fCleanupPreferences.setFormatSource(preferences.getBoolean(HTMLCorePreferenceNames.FORMAT_SOURCE));
+ fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(HTMLCorePreferenceNames.CONVERT_EOL_CODES));
+ fCleanupPreferences.setEOLCode(preferences.getString(HTMLCorePreferenceNames.CLEANUP_EOL_CODE));
}
}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java
index 356d54b479..70a79f0a43 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java
@@ -24,8 +24,8 @@ import org.eclipse.wst.css.core.internal.format.CSSSourceFormatter;
import org.eclipse.wst.css.core.internal.provisional.adapters.IStyleDeclarationAdapter;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
import org.eclipse.wst.sse.core.internal.provisional.exceptions.SourceEditingRuntimeException;
@@ -133,7 +133,7 @@ public class ElementNodeCleanupHandler extends AbstractNodeCleanupHandler {
if (element.isCommentTag())
return; // do nothing
- int attrNameCase = CommonModelPreferenceNames.ASIS;
+ int attrNameCase = HTMLCorePreferenceNames.ASIS;
if (shouldIgnoreCase(element))
attrNameCase = getCleanupPreferences().getAttrNameCase();
@@ -150,9 +150,9 @@ public class ElementNodeCleanupHandler extends AbstractNodeCleanupHandler {
// English locale should be used to convert between uppercase and lowercase
// (otherwise "link" would be converted to "LÝNK" in Turkish, where '?' in "LÝNK"
// is the "I Overdot Capital" in Turkish).
- if (attrNameCase == CommonModelPreferenceNames.LOWER)
+ if (attrNameCase == HTMLCorePreferenceNames.LOWER)
newAttrName = oldAttrName.toLowerCase(Locale.US);
- else if (attrNameCase == CommonModelPreferenceNames.UPPER)
+ else if (attrNameCase == HTMLCorePreferenceNames.UPPER)
newAttrName = oldAttrName.toUpperCase(Locale.US);
if (newAttrName.compareTo(oldAttrName) != 0) {
@@ -171,7 +171,7 @@ public class ElementNodeCleanupHandler extends AbstractNodeCleanupHandler {
if (element.isCommentTag())
return node; // do nothing
- int tagNameCase = CommonModelPreferenceNames.ASIS;
+ int tagNameCase = HTMLCorePreferenceNames.ASIS;
if (shouldIgnoreCase(element))
tagNameCase = getCleanupPreferences().getTagNameCase();
@@ -185,9 +185,9 @@ public class ElementNodeCleanupHandler extends AbstractNodeCleanupHandler {
// English locale should be used to convert between uppercase and lowercase
// (otherwise "link" would be converted to "LÝNK" in Turkish, where '?' in "LÝNK"
// is the "I Overdot Capital" in Turkish).
- if (tagNameCase == CommonModelPreferenceNames.LOWER)
+ if (tagNameCase == HTMLCorePreferenceNames.LOWER)
newTagName = oldTagName.toLowerCase(Locale.US);
- else if (tagNameCase == CommonModelPreferenceNames.UPPER)
+ else if (tagNameCase == HTMLCorePreferenceNames.UPPER)
newTagName = oldTagName.toUpperCase(Locale.US);
IDOMModel structuredModel = node.getModel();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLConverter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLConverter.java
index 0c93f35bce..4207f6f43e 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLConverter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLConverter.java
@@ -19,8 +19,8 @@ import java.io.UnsupportedEncodingException;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.wst.html.core.internal.cleanup.HTMLCleanupProcessorImpl;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
@@ -68,12 +68,12 @@ public class HTMLConverter {
pref.setQuoteAttrValues(true);
pref.setFormatSource(false);
if (model.getDocument().isXMLType()) { // XHTML
- pref.setTagNameCase(CommonModelPreferenceNames.LOWER);
- pref.setAttrNameCase(CommonModelPreferenceNames.LOWER);
+ pref.setTagNameCase(HTMLCorePreferenceNames.LOWER);
+ pref.setAttrNameCase(HTMLCorePreferenceNames.LOWER);
}
else {
- pref.setTagNameCase(CommonModelPreferenceNames.ASIS);
- pref.setAttrNameCase(CommonModelPreferenceNames.ASIS);
+ pref.setTagNameCase(HTMLCorePreferenceNames.ASIS);
+ pref.setAttrNameCase(HTMLCorePreferenceNames.ASIS);
}
processor.cleanupModel(model);
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLDocumentTypeAdapterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLDocumentTypeAdapterFactory.java
index 3bb28b2ebb..840f8cc9d0 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLDocumentTypeAdapterFactory.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/document/HTMLDocumentTypeAdapterFactory.java
@@ -14,7 +14,7 @@ package org.eclipse.wst.html.core.internal.document;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
@@ -23,7 +23,7 @@ import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
/**
*/
-public class HTMLDocumentTypeAdapterFactory implements INodeAdapterFactory, Preferences.IPropertyChangeListener, CommonModelPreferenceNames {
+public class HTMLDocumentTypeAdapterFactory implements INodeAdapterFactory, Preferences.IPropertyChangeListener {
private int tagNameCase = DocumentTypeAdapter.UPPER_CASE;
private int attrNameCase = DocumentTypeAdapter.LOWER_CASE;
@@ -97,7 +97,7 @@ public class HTMLDocumentTypeAdapterFactory implements INodeAdapterFactory, Pref
if (property == null)
return;
- if (property.equals(TAG_NAME_CASE) || property.equals(ATTR_NAME_CASE)) {
+ if (property.equals(HTMLCorePreferenceNames.TAG_NAME_CASE) || property.equals(HTMLCorePreferenceNames.ATTR_NAME_CASE)) {
updateCases();
}
}
@@ -111,10 +111,10 @@ public class HTMLDocumentTypeAdapterFactory implements INodeAdapterFactory, Pref
if (this.preferences == null)
return;
- if (this.preferences.getInt(TAG_NAME_CASE) == LOWER) {
+ if (this.preferences.getInt(HTMLCorePreferenceNames.TAG_NAME_CASE) == HTMLCorePreferenceNames.LOWER) {
this.tagNameCase = DocumentTypeAdapter.LOWER_CASE;
}
- if (this.preferences.getInt(ATTR_NAME_CASE) == UPPER) {
+ if (this.preferences.getInt(HTMLCorePreferenceNames.ATTR_NAME_CASE) == HTMLCorePreferenceNames.UPPER) {
this.attrNameCase = DocumentTypeAdapter.UPPER_CASE;
}
}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatProcessorImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatProcessorImpl.java
index 3b4afe689e..4a8da5dc43 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatProcessorImpl.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatProcessorImpl.java
@@ -12,10 +12,9 @@ package org.eclipse.wst.html.core.internal.format;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatPreferences;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.xml.core.internal.provisional.format.FormatProcessorXML;
import org.eclipse.wst.xml.core.internal.provisional.format.IStructuredFormatPreferencesXML;
import org.eclipse.wst.xml.core.internal.provisional.format.StructuredFormatPreferencesXML;
@@ -38,20 +37,22 @@ public class HTMLFormatProcessorImpl extends FormatProcessorXML {
Preferences preferences = HTMLCorePlugin.getDefault().getPluginPreferences();
if (preferences != null) {
- fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
- ((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
- fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
-
- if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
- fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
- else {
- int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
- String indent = ""; //$NON-NLS-1$
- for (int i = 0; i < tabWidth; i++) {
- indent += " "; //$NON-NLS-1$
- }
- fFormatPreferences.setIndent(indent);
+ fFormatPreferences.setLineWidth(preferences.getInt(HTMLCorePreferenceNames.LINE_WIDTH));
+ ((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(HTMLCorePreferenceNames.SPLIT_MULTI_ATTRS));
+ fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(HTMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES));
+
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(HTMLCorePreferenceNames.INDENTATION_CHAR);
+ if (HTMLCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
}
+ int indentationWidth = preferences.getInt(HTMLCorePreferenceNames.INDENTATION_SIZE);
+
+ String indent = ""; //$NON-NLS-1$
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
+ }
+ fFormatPreferences.setIndent(indent);
}
}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatter.java
index daee7dcd64..a026d6644a 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatter.java
@@ -14,13 +14,12 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties;
import org.eclipse.wst.html.core.internal.provisional.HTMLFormatContraints;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatContraints;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatPreferences;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -613,20 +612,22 @@ public class HTMLFormatter implements IStructuredFormatter {
Preferences preferences = HTMLCorePlugin.getDefault().getPluginPreferences();
if (preferences != null) {
- fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
- ((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
- fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
+ fFormatPreferences.setLineWidth(preferences.getInt(HTMLCorePreferenceNames.LINE_WIDTH));
+ ((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(HTMLCorePreferenceNames.SPLIT_MULTI_ATTRS));
+ fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(HTMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES));
+
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(HTMLCorePreferenceNames.INDENTATION_CHAR);
+ if (HTMLCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
+ }
+ int indentationWidth = preferences.getInt(HTMLCorePreferenceNames.INDENTATION_SIZE);
- if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
- fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
- else {
- int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
- String indent = ""; //$NON-NLS-1$
- for (int i = 0; i < tabWidth; i++) {
- indent += " "; //$NON-NLS-1$
- }
- fFormatPreferences.setIndent(indent);
+ String indent = ""; //$NON-NLS-1$
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
}
+ fFormatPreferences.setIndent(indent);
}
}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatterFactory.java
index 4c4b9d9a4d..eff9cd9b48 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatterFactory.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/format/HTMLFormatterFactory.java
@@ -12,10 +12,9 @@ package org.eclipse.wst.html.core.internal.format;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatPreferences;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.xml.core.internal.provisional.format.IStructuredFormatPreferencesXML;
import org.eclipse.wst.xml.core.internal.provisional.format.StructuredFormatPreferencesXML;
import org.w3c.dom.Node;
@@ -86,20 +85,22 @@ class HTMLFormatterFactory {
Preferences preferences = HTMLCorePlugin.getDefault().getPluginPreferences();
if (preferences != null) {
- fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
- fFormatPreferences.setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
- fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
+ fFormatPreferences.setLineWidth(preferences.getInt(HTMLCorePreferenceNames.LINE_WIDTH));
+ fFormatPreferences.setSplitMultiAttrs(preferences.getBoolean(HTMLCorePreferenceNames.SPLIT_MULTI_ATTRS));
+ fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(HTMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES));
- if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
- fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
- else {
- int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
- String indent = ""; //$NON-NLS-1$
- for (int i = 0; i < tabWidth; i++) {
- indent += " "; //$NON-NLS-1$
- }
- fFormatPreferences.setIndent(indent);
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(HTMLCorePreferenceNames.INDENTATION_CHAR);
+ if (HTMLCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
+ }
+ int indentationWidth = preferences.getInt(HTMLCorePreferenceNames.INDENTATION_SIZE);
+
+ String indent = ""; //$NON-NLS-1$
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
}
+ fFormatPreferences.setIndent(indent);
}
}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/preferences/HTMLCorePreferenceInitializer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/preferences/HTMLCorePreferenceInitializer.java
new file mode 100644
index 0000000000..1683e1c84d
--- /dev/null
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/preferences/HTMLCorePreferenceInitializer.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 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.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
+import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames;
+import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
+
+/**
+ * Sets default values for HTML Core preferences
+ */
+public class HTMLCorePreferenceInitializer extends AbstractPreferenceInitializer {
+
+ public void initializeDefaultPreferences() {
+ IEclipsePreferences node = new DefaultScope().getNode(HTMLCorePlugin.getDefault().getBundle().getSymbolicName());
+
+ // formatting preferences
+ node.putInt(HTMLCorePreferenceNames.LINE_WIDTH, 72);
+ node.putBoolean(HTMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES, false);
+ node.put(HTMLCorePreferenceNames.INDENTATION_CHAR, HTMLCorePreferenceNames.TAB);
+ node.putInt(HTMLCorePreferenceNames.INDENTATION_SIZE, 1);
+ node.putBoolean(HTMLCorePreferenceNames.SPLIT_MULTI_ATTRS, false);
+
+ // cleanup preferences
+ node.putInt(HTMLCorePreferenceNames.CLEANUP_TAG_NAME_CASE, HTMLCorePreferenceNames.ASIS);
+ node.putInt(HTMLCorePreferenceNames.CLEANUP_ATTR_NAME_CASE, HTMLCorePreferenceNames.ASIS);
+ // node.putBoolean(HTMLCorePreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS,
+ // true);
+ node.putBoolean(HTMLCorePreferenceNames.INSERT_REQUIRED_ATTRS, true);
+ node.putBoolean(HTMLCorePreferenceNames.INSERT_MISSING_TAGS, true);
+ node.putBoolean(HTMLCorePreferenceNames.QUOTE_ATTR_VALUES, true);
+ node.putBoolean(HTMLCorePreferenceNames.FORMAT_SOURCE, true);
+ node.putBoolean(HTMLCorePreferenceNames.CONVERT_EOL_CODES, false);
+
+ // code generation preferences
+ node.put(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
+ String defaultEnc = "UTF-8";//$NON-NLS-1$
+ String systemEnc = System.getProperty("file.encoding"); //$NON-NLS-1$
+ if (systemEnc != null) {
+ defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, "UTF-8");//$NON-NLS-1$
+ }
+ node.put(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
+ node.put(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
+
+ node.putInt(HTMLCorePreferenceNames.TAG_NAME_CASE, HTMLCorePreferenceNames.LOWER);
+ node.putInt(HTMLCorePreferenceNames.ATTR_NAME_CASE, HTMLCorePreferenceNames.LOWER);
+ }
+}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/preferences/HTMLCorePreferenceNames.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/preferences/HTMLCorePreferenceNames.java
new file mode 100644
index 0000000000..e424d5561e
--- /dev/null
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/preferences/HTMLCorePreferenceNames.java
@@ -0,0 +1,214 @@
+/*******************************************************************************
+ * Copyright (c) 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
+ * Jens Lukowski/Innoopract - initial renaming/restructuring
+ *
+ *******************************************************************************/
+package org.eclipse.wst.html.core.internal.preferences;
+
+/**
+ * Common preference keys used by HTML core
+ *
+ * @since 1.0
+ */
+public class HTMLCorePreferenceNames {
+ private HTMLCorePreferenceNames() {
+ // empty private constructor so users cannot instantiate class
+ }
+
+ /**
+ * The maximum width of a line before a line split is needed.
+ * <p>
+ * Value is of type <code>Integer</code>.
+ * </p>
+ */
+ public static final String LINE_WIDTH = "lineWidth";//$NON-NLS-1$
+
+ /**
+ * Indicates if all blanks lines should be cleared during formatting.
+ * Blank lines will be kept when false.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String CLEAR_ALL_BLANK_LINES = "clearAllBlankLines";//$NON-NLS-1$
+
+ /**
+ * The number of #INDENTATION_CHAR for 1 indentation.
+ * <p>
+ * Value is of type <code>Integer</code>.
+ * </p>
+ */
+ public static final String INDENTATION_SIZE = "indentationSize";//$NON-NLS-1$
+
+ /**
+ * The character used for indentation.
+ * <p>
+ * Value is of type <code>String</code>.<br />
+ * Possible values: {TAB, SPACE}
+ * </p>
+ */
+ public static final String INDENTATION_CHAR = "indentationChar";//$NON-NLS-1$
+
+ /**
+ * Possible value for the preference #INDENTATION_CHAR. Indicates to use
+ * tab character when formatting.
+ *
+ * @see #SPACE
+ * @see #INDENTATION_CHAR
+ */
+ public static final String TAB = "tab"; //$NON-NLS-1$
+
+ /**
+ * Possible value for the preference #INDENTATION_CHAR. Indicates to use
+ * space character when formatting.
+ *
+ * @see #TAB
+ * @see #INDENTATION_CHAR
+ */
+ public static final String SPACE = "space"; //$NON-NLS-1$
+
+ /**
+ * Indicates if tags with multiple attributes should be formatted
+ * (splitting each attr on a new line).
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String SPLIT_MULTI_ATTRS = "splitMultiAttrs";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not cleanup processor should format source.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String FORMAT_SOURCE = "formatSource";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not empty elements should be compressed during
+ * cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String COMPRESS_EMPTY_ELEMENT_TAGS = "compressEmptyElementTags";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to insert required attributes during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String INSERT_REQUIRED_ATTRS = "insertRequiredAttrs";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to insert missing tags during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String INSERT_MISSING_TAGS = "insertMissingTags";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to quote all attribute values during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String QUOTE_ATTR_VALUES = "quoteAttrValues";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to convert all line delimiters during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String CONVERT_EOL_CODES = "convertEOLCodes";//$NON-NLS-1$
+
+ /**
+ * Indicates the line delimiter to use during cleanup if converting line
+ * delimiters.
+ * <p>
+ * Value is of type <code>String</code>.<br />
+ * Possible values: {CR, CRLF, LF, NO_TRANSLATION}
+ * </p>
+ *
+ */
+ public static final String CLEANUP_EOL_CODE = "cleanupEOLCode";//$NON-NLS-1$
+
+ /**
+ * Indicates case to use on all tag names during cleanup.
+ * <p>
+ * Value is of type <code>Integer</code>.<br />
+ * Possible values: {LOWER, UPPER, ASIS}
+ * </p>
+ */
+ public static final String CLEANUP_TAG_NAME_CASE = "cleanupTagNameCase";//$NON-NLS-1$
+
+ /**
+ * Indicates case to use on all attribute names during cleanup.
+ * <p>
+ * Value is of type <code>Integer</code>.<br />
+ * Possible values: {LOWER, UPPER, ASIS}
+ * </p>
+ */
+ public static final String CLEANUP_ATTR_NAME_CASE = "cleanupAttrNameCase";//$NON-NLS-1$
+
+ /**
+ * Preferred markup case for tag names in code generation
+ * <p>
+ * Value is of type <code>Integer</code>.<br />
+ * Possible values: {LOWER, UPPER}
+ * </p>
+ */
+ public static final String TAG_NAME_CASE = "tagNameCase";//$NON-NLS-1$
+
+ /**
+ * Preferred markup case for attribute names in code generation
+ * <p>
+ * Value is of type <code>Integer</code>.<br />
+ * Possible values: {LOWER, UPPER}
+ * </p>
+ */
+ public static final String ATTR_NAME_CASE = "attrNameCase";//$NON-NLS-1$
+
+ /**
+ * Possible value for the preference #TAG_NAME_CASE or #ATTR_NAME_CASE.
+ * Indicates to leave case as is.
+ *
+ * @see #LOWER
+ * @see #UPPER
+ * @see #TAG_NAME_CASE
+ * @see #ATTR_NAME_CASE
+ */
+ public static final int ASIS = 0;
+
+ /**
+ * Possible value for the preference #TAG_NAME_CASE or #ATTR_NAME_CASE.
+ * Indicates to make name lowercase.
+ *
+ * @see #ASIS
+ * @see #UPPER
+ * @see #TAG_NAME_CASE
+ * @see #ATTR_NAME_CASE
+ */
+ public static final int LOWER = 1;
+
+ /**
+ * Possible value for the preference #TAG_NAME_CASE or #ATTR_NAME_CASE.
+ * Indicates to make name uppercase.
+ *
+ * @see #LOWER
+ * @see #ASIS
+ * @see #TAG_NAME_CASE
+ * @see #ATTR_NAME_CASE
+ */
+ public static final int UPPER = 2;
+}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/provisional/HTMLFilesPreferenceNames.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/provisional/HTMLFilesPreferenceNames.java
index 8bb687058e..fe2b4ea9df 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/provisional/HTMLFilesPreferenceNames.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/provisional/HTMLFilesPreferenceNames.java
@@ -12,12 +12,11 @@ package org.eclipse.wst.html.core.internal.provisional;
import org.eclipse.core.runtime.IProduct;
import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
/**
- * Additional preferences for new HTML Files generation
+ * @deprecated not used in WTP
*/
-public interface HTMLFilesPreferenceNames extends CommonModelPreferenceNames {
+public interface HTMLFilesPreferenceNames {
static final String DEFAULT_SUFFIX = "defaultSuffix";//$NON-NLS-1$
static final String HTML_SUFFIX = "html";//$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIMessages.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIMessages.java
index c55dba5cbc..0c12e6710e 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIMessages.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIMessages.java
@@ -25,9 +25,6 @@ public class HTMLUIMessages extends NLS {
public static String Sample_HTML_doc;
public static String HTMLFilesPreferencePage_0;
- public static String HTMLFilesPreferencePage_1;
- public static String HTMLFilesPreferencePage_2;
- public static String HTMLFilesPreferencePage_3;
public static String _UI_WIZARD_NEW_TITLE;
public static String _UI_WIZARD_NEW_HEADING;
public static String _UI_WIZARD_NEW_DESCRIPTION;
@@ -85,6 +82,12 @@ public class HTMLUIMessages extends NLS {
public static String EOL_Unix_UI;
public static String EOL_Mac_UI;
+ // below are possibly unused strings that may be deleted
+ public static String HTMLFilesPreferencePage_1;
+ public static String HTMLFilesPreferencePage_2;
+ public static String HTMLFilesPreferencePage_3;
+ // above are possibly unused strings that may be deleted
+
static {
// load message values from bundle file
NLS.initializeMessages(BUNDLE_NAME, HTMLUIMessages.class);
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPluginResources.properties b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPluginResources.properties
index 0f36192784..0853392710 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPluginResources.properties
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPluginResources.properties
@@ -14,9 +14,6 @@
Sample_HTML_doc=<!DOCTYPE HTML\n\tPUBLIC \"-//W3C/DTD/ HTML 4.01 Transitional//EN\"\n\t\"http://www.w3.org/TR/html4/loose.dtd\">\n<HTML>\n\t<HEAD>\n\t\t<META content=\"text/html\">\n\t\t<TITLE>HTML Highlighting Preferences</TITLE>\n\t</HEAD>\n<BODY>\n\t<!--\n\t\twe need a flaming logo!\n\t-->\n</BODY>\n</HTML>
HTMLFilesPreferencePage_0=Loading files...
-HTMLFilesPreferencePage_1=Add this suffix (if not specified):
-HTMLFilesPreferencePage_2=Insert DOCTYPE declaration
-HTMLFilesPreferencePage_3=Insert GENERATOR with META tag
#
_UI_WIZARD_NEW_TITLE = New HTML Page
_UI_WIZARD_NEW_HEADING = HTML Page
@@ -77,4 +74,10 @@ EOL_Mac_UI=&Mac
UI_Description_of_role_of_following_DOCTYPE=Use the following default document type when no DOCTYPE is declared in a file:
UI_Public_ID=Public ID:
UI_System_ID=System ID:
-UI_none=none \ No newline at end of file
+UI_none=none
+
+# below are possibly unused strings that may be deleted
+HTMLFilesPreferencePage_1=Add this suffix (if not specified):
+HTMLFilesPreferencePage_2=Insert DOCTYPE declaration
+HTMLFilesPreferencePage_3=Insert GENERATOR with META tag
+# above are possibly unused strings that may be deleted
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLMinimalContentModelGenerator.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLMinimalContentModelGenerator.java
index 7d58e15b57..f3daa1ae65 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLMinimalContentModelGenerator.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLMinimalContentModelGenerator.java
@@ -13,8 +13,8 @@ package org.eclipse.wst.html.ui.internal.contentassist;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
import org.eclipse.wst.xml.ui.internal.contentassist.XMLContentModelGenerator;
@@ -36,8 +36,8 @@ public class HTMLMinimalContentModelGenerator extends XMLContentModelGenerator {
private void init() {
//IPreferenceStore prefs = CommonPreferencesPlugin.getDefault().getPreferenceStore(ContentType.ContentTypeID_HTML);
Preferences prefs = HTMLCorePlugin.getDefault().getPluginPreferences();
- fTagCase = prefs.getInt(CommonModelPreferenceNames.TAG_NAME_CASE);
- fAttrCase = prefs.getInt(CommonModelPreferenceNames.ATTR_NAME_CASE);
+ fTagCase = prefs.getInt(HTMLCorePreferenceNames.TAG_NAME_CASE);
+ fAttrCase = prefs.getInt(HTMLCorePreferenceNames.ATTR_NAME_CASE);
}
protected void generateEndTag(String tagName, Node parentNode, CMElementDeclaration elementDecl, StringBuffer buffer) {
@@ -78,12 +78,12 @@ public class HTMLMinimalContentModelGenerator extends XMLContentModelGenerator {
else if (cmnode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION)
caseVal = fAttrCase;
switch (caseVal) {
- case CommonModelPreferenceNames.LOWER :
+ case HTMLCorePreferenceNames.LOWER :
{
name = name.toLowerCase();
}
break;
- case CommonModelPreferenceNames.UPPER :
+ case HTMLCorePreferenceNames.UPPER :
{
name = name.toUpperCase();
}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentoutline/HTMLNodeActionManager.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentoutline/HTMLNodeActionManager.java
index d8ff788ed1..10d8f5d460 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentoutline/HTMLNodeActionManager.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentoutline/HTMLNodeActionManager.java
@@ -15,10 +15,10 @@ import org.eclipse.jface.viewers.Viewer;
import org.eclipse.wst.html.core.internal.HTMLContentBuilder;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
import org.eclipse.wst.html.core.internal.format.HTMLFormatProcessorImpl;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties;
import org.eclipse.wst.html.core.internal.provisional.contenttype.ContentTypeIdForHTML;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
import org.eclipse.wst.xml.core.internal.contentmodel.util.DOMContentBuilder;
@@ -69,16 +69,16 @@ public class HTMLNodeActionManager extends XMLNodeActionManager {
if (shouldIgnoreCase(cmnode)) {
String name = cmnode.getNodeName();
if (cmnode.getNodeType() == CMNode.ELEMENT_DECLARATION) {
- if (fTagCase == CommonModelPreferenceNames.LOWER)
+ if (fTagCase == HTMLCorePreferenceNames.LOWER)
name = name.toLowerCase();
- else if (fTagCase == CommonModelPreferenceNames.UPPER)
+ else if (fTagCase == HTMLCorePreferenceNames.UPPER)
name = name.toUpperCase();
// else do nothing
}
else if (cmnode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION) {
- if (fAttrCase == CommonModelPreferenceNames.LOWER)
+ if (fAttrCase == HTMLCorePreferenceNames.LOWER)
name = name.toLowerCase();
- else if (fAttrCase == CommonModelPreferenceNames.UPPER)
+ else if (fAttrCase == HTMLCorePreferenceNames.UPPER)
name = name.toUpperCase();
// else do nothing
}
@@ -97,8 +97,8 @@ public class HTMLNodeActionManager extends XMLNodeActionManager {
protected void updateCase() {
if (model.getModelHandler().getAssociatedContentTypeId().equals(ContentTypeIdForHTML.ContentTypeID_HTML)) {
Preferences prefs = HTMLCorePlugin.getDefault().getPluginPreferences(); //$NON-NLS-1$
- fTagCase = prefs.getInt(CommonModelPreferenceNames.TAG_NAME_CASE);
- fAttrCase = prefs.getInt(CommonModelPreferenceNames.ATTR_NAME_CASE);
+ fTagCase = prefs.getInt(HTMLCorePreferenceNames.TAG_NAME_CASE);
+ fAttrCase = prefs.getInt(HTMLCorePreferenceNames.ATTR_NAME_CASE);
// Element caseSettings = HTMLPreferenceManager.getHTMLInstance().getElement(PreferenceNames.PREFERRED_CASE);
// fTagCase = caseSettings.getAttribute(PreferenceNames.TAGNAME);
// fAttrCase = caseSettings.getAttribute(PreferenceNames.ATTRIBUTENAME);
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/edit/ui/CleanupDialogHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/edit/ui/CleanupDialogHTML.java
index 0bfbee1b82..bab0c0d084 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/edit/ui/CleanupDialogHTML.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/edit/ui/CleanupDialogHTML.java
@@ -23,12 +23,12 @@ import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.help.WorkbenchHelp;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.html.core.internal.provisional.contenttype.ContentTypeIdForHTML;
import org.eclipse.wst.html.ui.internal.HTMLUIMessages;
import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
import org.eclipse.wst.sse.core.internal.ltk.modelhandler.IModelHandler;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.eclipse.wst.xml.core.internal.cleanup.XMLCleanupPreferencesImpl;
import org.eclipse.wst.xml.core.internal.provisional.contenttype.ContentTypeIdForXML;
@@ -159,18 +159,18 @@ public class CleanupDialogHTML extends Dialog implements SelectionListener {
}
protected void initializeOptionsForHTML() {
- int tagNameCase = getModelPreferences().getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE);
- if (tagNameCase == CommonModelPreferenceNames.UPPER)
+ int tagNameCase = getModelPreferences().getInt(HTMLCorePreferenceNames.CLEANUP_TAG_NAME_CASE);
+ if (tagNameCase == HTMLCorePreferenceNames.UPPER)
fRadioButtonTagNameCaseUpper.setSelection(true);
- else if (tagNameCase == CommonModelPreferenceNames.LOWER)
+ else if (tagNameCase == HTMLCorePreferenceNames.LOWER)
fRadioButtonTagNameCaseLower.setSelection(true);
else
fRadioButtonTagNameCaseAsis.setSelection(true);
- int attrNameCase = getModelPreferences().getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE);
- if (attrNameCase == CommonModelPreferenceNames.UPPER)
+ int attrNameCase = getModelPreferences().getInt(HTMLCorePreferenceNames.CLEANUP_ATTR_NAME_CASE);
+ if (attrNameCase == HTMLCorePreferenceNames.UPPER)
fRadioButtonAttrNameCaseUpper.setSelection(true);
- else if (attrNameCase == CommonModelPreferenceNames.LOWER)
+ else if (attrNameCase == HTMLCorePreferenceNames.LOWER)
fRadioButtonAttrNameCaseLower.setSelection(true);
else
fRadioButtonAttrNameCaseAsis.setSelection(true);
@@ -180,13 +180,13 @@ public class CleanupDialogHTML extends Dialog implements SelectionListener {
if (isHTMLType())
initializeOptionsForHTML();
- fCheckBoxInsertRequiredAttrs.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
- fCheckBoxInsertMissingTags.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
- fCheckBoxQuoteAttrValues.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
- fCheckBoxFormatSource.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
- fCheckBoxConvertEOLCodes.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
+ fCheckBoxInsertRequiredAttrs.setSelection(getModelPreferences().getBoolean(HTMLCorePreferenceNames.INSERT_REQUIRED_ATTRS));
+ fCheckBoxInsertMissingTags.setSelection(getModelPreferences().getBoolean(HTMLCorePreferenceNames.INSERT_MISSING_TAGS));
+ fCheckBoxQuoteAttrValues.setSelection(getModelPreferences().getBoolean(HTMLCorePreferenceNames.QUOTE_ATTR_VALUES));
+ fCheckBoxFormatSource.setSelection(getModelPreferences().getBoolean(HTMLCorePreferenceNames.FORMAT_SOURCE));
+ fCheckBoxConvertEOLCodes.setSelection(getModelPreferences().getBoolean(HTMLCorePreferenceNames.CONVERT_EOL_CODES));
if (fCheckBoxConvertEOLCodes.getSelection()) {
- String EOLCode = getModelPreferences().getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE);
+ String EOLCode = getModelPreferences().getString(HTMLCorePreferenceNames.CLEANUP_EOL_CODE);
if (EOLCode == CommonEncodingPreferenceNames.LF)
fRadioButtonConvertEOLUnix.setSelection(true);
else if (EOLCode == CommonEncodingPreferenceNames.CR)
@@ -199,18 +199,18 @@ public class CleanupDialogHTML extends Dialog implements SelectionListener {
protected void storeOptionsForHTML() {
if (fRadioButtonTagNameCaseUpper.getSelection())
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.UPPER);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_TAG_NAME_CASE, HTMLCorePreferenceNames.UPPER);
else if (fRadioButtonTagNameCaseLower.getSelection())
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_TAG_NAME_CASE, HTMLCorePreferenceNames.LOWER);
else
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_TAG_NAME_CASE, HTMLCorePreferenceNames.ASIS);
if (fRadioButtonAttrNameCaseUpper.getSelection())
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.UPPER);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_ATTR_NAME_CASE, HTMLCorePreferenceNames.UPPER);
else if (fRadioButtonAttrNameCaseLower.getSelection())
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_ATTR_NAME_CASE, HTMLCorePreferenceNames.LOWER);
else
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_ATTR_NAME_CASE, HTMLCorePreferenceNames.ASIS);
// explicitly save plugin preferences so values are stored
HTMLCorePlugin.getDefault().savePluginPreferences();
@@ -219,34 +219,34 @@ public class CleanupDialogHTML extends Dialog implements SelectionListener {
protected void storeOptions() {
if (isHTMLType()) {
storeOptionsForHTML();
- XMLCleanupPreferencesImpl.getInstance().setTagNameCase(getModelPreferences().getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE));
- XMLCleanupPreferencesImpl.getInstance().setAttrNameCase(getModelPreferences().getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE));
+ XMLCleanupPreferencesImpl.getInstance().setTagNameCase(getModelPreferences().getInt(HTMLCorePreferenceNames.CLEANUP_TAG_NAME_CASE));
+ XMLCleanupPreferencesImpl.getInstance().setAttrNameCase(getModelPreferences().getInt(HTMLCorePreferenceNames.CLEANUP_ATTR_NAME_CASE));
}
else {
- XMLCleanupPreferencesImpl.getInstance().setTagNameCase(CommonModelPreferenceNames.ASIS);
- XMLCleanupPreferencesImpl.getInstance().setAttrNameCase(CommonModelPreferenceNames.ASIS);
+ XMLCleanupPreferencesImpl.getInstance().setTagNameCase(HTMLCorePreferenceNames.ASIS);
+ XMLCleanupPreferencesImpl.getInstance().setAttrNameCase(HTMLCorePreferenceNames.ASIS);
}
- getModelPreferences().setValue(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, fCheckBoxInsertRequiredAttrs.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.INSERT_MISSING_TAGS, fCheckBoxInsertMissingTags.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, fCheckBoxQuoteAttrValues.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.FORMAT_SOURCE, fCheckBoxFormatSource.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.CONVERT_EOL_CODES, fCheckBoxConvertEOLCodes.getSelection());
+ getModelPreferences().setValue(HTMLCorePreferenceNames.INSERT_REQUIRED_ATTRS, fCheckBoxInsertRequiredAttrs.getSelection());
+ getModelPreferences().setValue(HTMLCorePreferenceNames.INSERT_MISSING_TAGS, fCheckBoxInsertMissingTags.getSelection());
+ getModelPreferences().setValue(HTMLCorePreferenceNames.QUOTE_ATTR_VALUES, fCheckBoxQuoteAttrValues.getSelection());
+ getModelPreferences().setValue(HTMLCorePreferenceNames.FORMAT_SOURCE, fCheckBoxFormatSource.getSelection());
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CONVERT_EOL_CODES, fCheckBoxConvertEOLCodes.getSelection());
XMLCleanupPreferencesImpl.getInstance().setInsertMissingTags(fCheckBoxInsertMissingTags.getSelection());
XMLCleanupPreferencesImpl.getInstance().setQuoteAttrValues(fCheckBoxQuoteAttrValues.getSelection());
XMLCleanupPreferencesImpl.getInstance().setFormatSource(fCheckBoxFormatSource.getSelection());
XMLCleanupPreferencesImpl.getInstance().setConvertEOLCodes(fCheckBoxConvertEOLCodes.getSelection());
if (fCheckBoxConvertEOLCodes.getSelection()) {
if (fRadioButtonConvertEOLUnix.getSelection()) {
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.LF);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.LF);
XMLCleanupPreferencesImpl.getInstance().setEOLCode(CommonEncodingPreferenceNames.LF);
}
else if (fRadioButtonConvertEOLMac.getSelection()) {
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CR);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CR);
XMLCleanupPreferencesImpl.getInstance().setEOLCode(CommonEncodingPreferenceNames.CR);
}
else {
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CRLF);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CRLF);
XMLCleanupPreferencesImpl.getInstance().setEOLCode(CommonEncodingPreferenceNames.CRLF);
}
}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLFilesPreferencePage.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLFilesPreferencePage.java
index 4d29f5c817..1166434969 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLFilesPreferencePage.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLFilesPreferencePage.java
@@ -13,15 +13,12 @@ package org.eclipse.wst.html.ui.internal.preferences.ui;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.help.WorkbenchHelp;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.html.core.internal.provisional.HTMLFilesPreferenceNames;
import org.eclipse.wst.html.ui.internal.HTMLUIMessages;
import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
@@ -32,9 +29,6 @@ import org.eclipse.wst.xml.ui.internal.preferences.XMLFilesPreferencePage;
public class HTMLFilesPreferencePage extends XMLFilesPreferencePage {
private WorkbenchDefaultEncodingSettings fInputEncodingSettings = null;
- private Text fHtmlext_Field;
- private Button fDoctype_Button;
- private Button fGenerator_Button;
/* (non-Javadoc)
* @see com.ibm.sse.editor.preferences.ui.AbstractPreferencePage#getModelPreferences()
@@ -126,65 +120,11 @@ public class HTMLFilesPreferencePage extends XMLFilesPreferencePage {
protected void createContentsForCreatingGroup(Composite parent) {
Group creatingGroup = createGroup(parent, 2);
creatingGroup.setText(HTMLUIMessages.Creating_files);
-
- // Add this suffix..
- createLabel(creatingGroup, HTMLUIMessages.HTMLFilesPreferencePage_1);
- fHtmlext_Field = createTextField(creatingGroup);
// Encoding..
Label label = createLabel(creatingGroup, HTMLUIMessages.Encoding_desc);
((GridData)label.getLayoutData()).horizontalSpan = 2;
fEncodingSettings = new EncodingSettings(creatingGroup);
((GridData)fEncodingSettings.getLayoutData()).horizontalSpan = 2;
-
- // Insert DOCTYPE declaration
- fDoctype_Button = createCheckBox(creatingGroup, HTMLUIMessages.HTMLFilesPreferencePage_2);
- ((GridData)fDoctype_Button.getLayoutData()).horizontalSpan = 2;
-
- // Insert GENERATOR with META tag
- fGenerator_Button = createCheckBox(creatingGroup, HTMLUIMessages.HTMLFilesPreferencePage_3);
- ((GridData)fGenerator_Button.getLayoutData()).horizontalSpan = 2;
- }
- /* (non-Javadoc)
- * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#initializeValuesForCreatingGroup()
- */
- protected void initializeValuesForCreatingGroup() {
- super.initializeValuesForCreatingGroup();
-
- String defaultSuffix = getModelPreferences().getString(HTMLFilesPreferenceNames.DEFAULT_SUFFIX);
- if (defaultSuffix.length() > 0) {
- fHtmlext_Field.setText(defaultSuffix);
- }
-
- boolean bCheck;
- bCheck = getModelPreferences().getBoolean(HTMLFilesPreferenceNames.GENERATE_DOCUMENT_TYPE);
- fDoctype_Button.setSelection(bCheck);
-
- bCheck = getModelPreferences().getBoolean(HTMLFilesPreferenceNames.GENERATE_GENERATOR);
- fGenerator_Button.setSelection(bCheck);
- }
- /* (non-Javadoc)
- * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#performDefaultsForCreatingGroup()
- */
- protected void performDefaultsForCreatingGroup() {
- super.performDefaultsForCreatingGroup();
-
- fHtmlext_Field.setText(getModelPreferences().getDefaultString(HTMLFilesPreferenceNames.DEFAULT_SUFFIX));
-
- fDoctype_Button.setSelection(getModelPreferences().getDefaultBoolean(HTMLFilesPreferenceNames.GENERATE_DOCUMENT_TYPE));
- fGenerator_Button.setSelection(getModelPreferences().getDefaultBoolean(HTMLFilesPreferenceNames.GENERATE_GENERATOR));
- }
- /* (non-Javadoc)
- * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#storeValuesForCreatingGroup()
- */
- protected void storeValuesForCreatingGroup() {
- super.storeValuesForCreatingGroup();
-
- String str_ext = fHtmlext_Field.getText();
- getModelPreferences().setValue(HTMLFilesPreferenceNames.DEFAULT_SUFFIX, str_ext);
-
- getModelPreferences().setValue(HTMLFilesPreferenceNames.GENERATE_DOCUMENT_TYPE, fDoctype_Button.getSelection());
-
- getModelPreferences().setValue(HTMLFilesPreferenceNames.GENERATE_GENERATOR, fGenerator_Button.getSelection());
}
} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLSourcePreferencePage.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLSourcePreferencePage.java
index d6d37f9147..386ef700db 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLSourcePreferencePage.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/ui/HTMLSourcePreferencePage.java
@@ -18,10 +18,10 @@ import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.ui.help.WorkbenchHelp;
import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
+import org.eclipse.wst.html.core.internal.preferences.HTMLCorePreferenceNames;
import org.eclipse.wst.html.ui.internal.HTMLUIMessages;
import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.xml.ui.internal.preferences.XMLSourcePreferencePage;
public class HTMLSourcePreferencePage extends XMLSourcePreferencePage {
@@ -77,32 +77,32 @@ public class HTMLSourcePreferencePage extends XMLSourcePreferencePage {
}
protected void performDefaults() {
- fTagNameUpper.setSelection(getModelPreferences().getDefaultInt(CommonModelPreferenceNames.TAG_NAME_CASE) == CommonModelPreferenceNames.UPPER);
- fTagNameLower.setSelection(getModelPreferences().getDefaultInt(CommonModelPreferenceNames.TAG_NAME_CASE) == CommonModelPreferenceNames.LOWER);
- fAttrNameUpper.setSelection(getModelPreferences().getDefaultInt(CommonModelPreferenceNames.ATTR_NAME_CASE) == CommonModelPreferenceNames.UPPER);
- fAttrNameLower.setSelection(getModelPreferences().getDefaultInt(CommonModelPreferenceNames.ATTR_NAME_CASE) == CommonModelPreferenceNames.LOWER);
+ fTagNameUpper.setSelection(getModelPreferences().getDefaultInt(HTMLCorePreferenceNames.TAG_NAME_CASE) == HTMLCorePreferenceNames.UPPER);
+ fTagNameLower.setSelection(getModelPreferences().getDefaultInt(HTMLCorePreferenceNames.TAG_NAME_CASE) == HTMLCorePreferenceNames.LOWER);
+ fAttrNameUpper.setSelection(getModelPreferences().getDefaultInt(HTMLCorePreferenceNames.ATTR_NAME_CASE) == HTMLCorePreferenceNames.UPPER);
+ fAttrNameLower.setSelection(getModelPreferences().getDefaultInt(HTMLCorePreferenceNames.ATTR_NAME_CASE) == HTMLCorePreferenceNames.LOWER);
super.performDefaults();
}
protected void initializeValues() {
- fTagNameUpper.setSelection(getModelPreferences().getInt(CommonModelPreferenceNames.TAG_NAME_CASE) == CommonModelPreferenceNames.UPPER);
- fTagNameLower.setSelection(getModelPreferences().getInt(CommonModelPreferenceNames.TAG_NAME_CASE) == CommonModelPreferenceNames.LOWER);
- fAttrNameUpper.setSelection(getModelPreferences().getInt(CommonModelPreferenceNames.ATTR_NAME_CASE) == CommonModelPreferenceNames.UPPER);
- fAttrNameLower.setSelection(getModelPreferences().getInt(CommonModelPreferenceNames.ATTR_NAME_CASE) == CommonModelPreferenceNames.LOWER);
+ fTagNameUpper.setSelection(getModelPreferences().getInt(HTMLCorePreferenceNames.TAG_NAME_CASE) == HTMLCorePreferenceNames.UPPER);
+ fTagNameLower.setSelection(getModelPreferences().getInt(HTMLCorePreferenceNames.TAG_NAME_CASE) == HTMLCorePreferenceNames.LOWER);
+ fAttrNameUpper.setSelection(getModelPreferences().getInt(HTMLCorePreferenceNames.ATTR_NAME_CASE) == HTMLCorePreferenceNames.UPPER);
+ fAttrNameLower.setSelection(getModelPreferences().getInt(HTMLCorePreferenceNames.ATTR_NAME_CASE) == HTMLCorePreferenceNames.LOWER);
super.initializeValues();
}
protected void storeValues() {
if (fTagNameUpper.getSelection())
- getModelPreferences().setValue(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.UPPER);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.TAG_NAME_CASE, HTMLCorePreferenceNames.UPPER);
else
- getModelPreferences().setValue(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.TAG_NAME_CASE, HTMLCorePreferenceNames.LOWER);
if (fAttrNameUpper.getSelection())
- getModelPreferences().setValue(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.UPPER);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.ATTR_NAME_CASE, HTMLCorePreferenceNames.UPPER);
else
- getModelPreferences().setValue(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
+ getModelPreferences().setValue(HTMLCorePreferenceNames.ATTR_NAME_CASE, HTMLCorePreferenceNames.LOWER);
super.storeValues();
}
diff --git a/bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/CommonEncodingPreferenceNames.java b/bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/CommonEncodingPreferenceNames.java
index 072666513c..70354d505d 100644
--- a/bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/CommonEncodingPreferenceNames.java
+++ b/bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/CommonEncodingPreferenceNames.java
@@ -16,6 +16,11 @@ package org.eclipse.wst.sse.core.internal.encoding;
* Common preference keys used to specify encoding and end of line.
*/
public class CommonEncodingPreferenceNames {
+
+ private CommonEncodingPreferenceNames() {
+ // empty private constructor so users cannot instantiate class
+ }
+
/**
* Constant to be used when referring to CR/MAC line delimiter
*/
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePlugin.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePlugin.java
index 3871288322..fd4a755a5b 100644
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePlugin.java
+++ b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePlugin.java
@@ -45,36 +45,12 @@ public class SSECorePlugin extends Plugin {
protected void initializeDefaultPluginPreferences() {
Preferences prefs = getDefault().getPluginPreferences();
// set model preference defaults
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS, true);
- prefs.setDefault(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, true);
- prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
- prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
- prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
- prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
- prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
- prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, CommonModelPreferenceNames.UTF_8);
- prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
- prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, CommonModelPreferenceNames.DEFAULT_TAB_WIDTH);
- prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, false);
- prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
- prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
- prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
- prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
- prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, false);
- prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.UPPER);
- prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
+
+ prefs.setDefault(CommonEncodingPreferenceNames.USE_3BYTE_BOM_WITH_UTF8, false);
+
prefs.setDefault(CommonModelPreferenceNames.TASK_TAG_ENABLE, false);
prefs.setDefault(CommonModelPreferenceNames.TASK_TAG_TAGS, "TODO,FIXME,XXX"); //$NON-NLS-1$
prefs.setDefault(CommonModelPreferenceNames.TASK_TAG_PRIORITIES, "1,2,1"); //$NON-NLS-1$
-
- initializeDefaultPluginPreferencesForEncoding(prefs);
-
- }
-
- private void initializeDefaultPluginPreferencesForEncoding(Preferences prefs) {
- prefs.setDefault(CommonEncodingPreferenceNames.USE_3BYTE_BOM_WITH_UTF8, false);
}
/*
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/CommonModelPreferenceNames.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/CommonModelPreferenceNames.java
index 5a1274c685..61a513bfa5 100644
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/CommonModelPreferenceNames.java
+++ b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/CommonModelPreferenceNames.java
@@ -12,49 +12,10 @@
*******************************************************************************/
package org.eclipse.wst.sse.core.internal.preferences;
-
/**
- * Here is a description of how each common model file preference is used.
- *
- * tabWidth The number of spaces representing a tab. This number is also used
- * as number of spaces to indent during formatting when indentUsingTabs is
- * false.
- *
- * splitLines Indicates if long lines should be splitted.
- *
- * splitLinesUsingEditorsWidth Indicates if long lines should be splitted
- * using the editor's current width. The editor's current width will be used
- * when splitting long lines if splitLinesUsingEditorWidth is true. lineWidth
- * will be used when splitting long lines if splitLinesUsingEditorWidth is
- * false.
- *
- * lineWidth The maximum width of a line before a line split is needed. This
- * number is only used when lineSplitting is true, otherwise it's ignored.
- *
- * splitMultiAttrs Indicates if tags with multiple attributes should be
- * formatted (splitting each attr on a new line).
- *
- * indentUsingTabs Indicates if tabs should be used for indentation during
- * formatting. The same number of spaces specified by tabWidth will be used
- * for indentation if indentUsingTabs is false.
- *
- * clearAllBlankLines Indicates if all blanks lines should be cleared during
- * formatting. Blanks lines will be kept when clearAllBlankLines is false.
- *
- * formattingSupported Indicates if the current content type supports
- * formatting. The splitLines, splitLinesUsingEditorsWidth, lineWidth,
- * splitMultiAttrs, and indentUsingTabs preferences will be meaningless if
- * formattingSupported is false.
- *
- * contentAssistSupported Indicates if the current content type supports
- * content assist. The autoPropose, and autoProposeCode preferences will be
- * meaningless if contentAssistSupported is false.
+ * @deprecated CommonModelPreferenceNames are now managed by each individual
+ * content type. (XXCorePreferenceNames)
*
- * preferredMarkupCaseSupported Indicates if the current content type supports
- * "preferred markup case for content assist, and code generation". The
- * tagNameCase, and attrNameCase preferences will be meaningless if
- * preferredMarkupCaseSupported is false.
- *
*/
public interface CommonModelPreferenceNames {
String TAB_WIDTH = "tabWidth";//$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/PreferenceChangeListener.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/PreferenceChangeListener.java
deleted file mode 100644
index e6956d9e2d..0000000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/preferences/PreferenceChangeListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- * Jens Lukowski/Innoopract - initial renaming/restructuring
- *
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.preferences;
-
-/**
- * @deprecated This used to be used by our own PreferenceManager but since
- * that class is no longer needed, this class should also no
- * longer be needed. Use the base's IPreferenceChangeListener or
- * IPropertyChangeListener instead.
- */
-public interface PreferenceChangeListener {
-
- void preferencesChanged();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/StructuredTextViewerConfiguration.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/StructuredTextViewerConfiguration.java
index 67f96f7f7e..c34425cc46 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/StructuredTextViewerConfiguration.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/StructuredTextViewerConfiguration.java
@@ -89,7 +89,6 @@ public class StructuredTextViewerConfiguration extends TextSourceViewerConfigura
*/
public StructuredTextViewerConfiguration(IPreferenceStore store) {
super(store);
- fPreferenceStore = store;
fContentAssistProcessors = new ArrayList();
}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/preferences/PreferenceManager.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/preferences/PreferenceManager.java
deleted file mode 100644
index 6534f88cf0..0000000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/provisional/preferences/PreferenceManager.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- * Jens Lukowski/Innoopract - initial renaming/restructuring
- *
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.provisional.preferences;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.wst.sse.core.internal.preferences.PreferenceChangeListener;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @deprecated no longer need a special PreferenceManager for our component.
- * All preferences should be accessible using the base preference
- * manager.
- */
-public abstract class PreferenceManager {
-
- class EmptyNodeList implements NodeList {
- protected EmptyNodeList() {
- super();
- }
-
- public int getLength() {
- return 0;
- }
-
- public Node item(int param1) {
- return null;
- }
- }
-
- /**
- * The PreferenceRuntimeException is often thrown by methods when a
- * service we use throws a checked exception, but we want to convert and
- * treat as a runtime exception.
- */
- class PreferenceRuntimeException extends RuntimeException {
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 1L;
- private Throwable originalException;
-
- public PreferenceRuntimeException() {
- super();
- }
-
- /**
- * This form of the constructor is used to wrapper another exception.
- */
- public PreferenceRuntimeException(Throwable t) {
- this();
- originalException = t;
- }
-
- public String getMessage() {
- String result = super.getMessage();
- if ((result != null) && (!result.endsWith("."))) //$NON-NLS-1$
- result = result + "."; //$NON-NLS-1$
- if (originalException != null) {
- String embeddedMessage = originalException.getMessage();
- embeddedMessage = originalException.getClass().getName() + ": " + originalException.getMessage(); //$NON-NLS-1$
- // not all exceptions have messages (e.g. many
- // NullPointerException)
- String originalError = SSEUIMessages.PreferenceManager_0; //$NON-NLS-1$
- if (result == null)
- result = ""; //$NON-NLS-1$
- if (embeddedMessage != null)
- result = result + " " + originalError + " " + embeddedMessage; //$NON-NLS-2$//$NON-NLS-1$
- else
- result = result + " " + originalError + " " + originalException.toString(); //$NON-NLS-2$//$NON-NLS-1$
- }
- return result;
- }
-
- public Throwable getOriginalException() {
- return originalException;
- }
-
- public String toString() {
- // we don't put super.toString or getClass to "hide" that it was a
- // SourceEditing exception (otherwise, focus goes on that,
- // instead of original exception.
- String message = getMessage();
- // message should never be null ... but just in case
- return (message != null) ? message : super.toString();
- }
- }
-
- protected Document document = null;
-
- protected String fileName = null;
- private List preferenceChangeListeners = new ArrayList(1);
-
- protected Document _getNewDocumentDOM2() {
- Document result = null;
- // settings
- DocumentBuilder builder = getDocumentBuilder();
- result = builder.newDocument();
- Element settings = result.createElement(getRootElementName());
- result.appendChild(settings);
- return result;
-
- }
-
- protected Document _getParsedDocumentDOM2(String filename) {
- Document result = null;
- DocumentBuilder builder = getDocumentBuilder();
- try {
- Reader inputReader = new FileReader(getFilename());
- InputSource inputSource = new InputSource(inputReader);
- result = builder.parse(inputSource);
- }
- catch (FileNotFoundException e) {
- // file not found is "ok" ... it'll be created if we return null
- result = null;
- }
- catch (IOException e) {
- result = null;
- }
- catch (SAXException e) {
- result = null;
- }
-
- return result;
-
- }
-
- public void addPreferenceChangeListener(PreferenceChangeListener l) {
- if (!preferenceChangeListeners.contains(l))
- preferenceChangeListeners.add(l);
- }
-
- /**
- * Returns a new document containing the defaults for this manager. This
- * SHOULD NOT overwrite the actual document stored within this manager,
- * and while a root element MAY BE created by the DOM implementation, it
- * is recommended that subclasses NOT RELY upon it being there.
- *
- * @return org.w3c.dom.Document
- */
- public Document createDefaultPreferences() {
- Document txobj = null;
- txobj = _getNewDocumentDOM2();
- return txobj;
- }
-
- protected void firePreferenceChangeListeners() {
- if (preferenceChangeListeners != null)
- for (int i = 0; i < preferenceChangeListeners.size(); ++i)
- ((PreferenceChangeListener) preferenceChangeListeners.get(i)).preferencesChanged();
- }
-
- /**
- *
- * @return Document
- */
- public Document getDocument() {
- if (document == null)
- load();
- return document;
- }
-
- private DocumentBuilder getDocumentBuilder() {
- DocumentBuilder result = null;
- try {
- result = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- }
- catch (ParserConfigurationException e) {
- Logger.logException(e);
- }
- return result;
- }
-
- /*************************************************************************
- * Takes a single string of the form "a/b/c" and ensures that that
- * structure exists below the head element, down through 'c', and returns
- * a <em>single</em> element 'c'. For multiple elements (such as
- * multiple &lt;macro&gt; elements contained within a single
- * &lt;macros&gt; element, full DOM access is required for searching and
- * child element manipulation.
- ************************************************************************/
- public Element getElement(String name) {
- if (document == null)
- load();
- if (document != null)
- return (Element) getNode(getRootElement(), name);
- else
- return null;
- }
-
- protected abstract String getFilename();
-
- protected Node getNamedChild(Node parent, String childName) {
- if (parent == null) {
- return null;
- }
- NodeList childList = parent.getChildNodes();
- for (int i = 0; i < childList.getLength(); i++) {
- if (childList.item(i).getNodeName().equals(childName))
- return childList.item(i);
- }
- return null;
- }
-
- /*************************************************************************
- * Takes a single string of the form "a/b/c" and ensures that that
- * structure exists below the head element, down through 'c', and returns
- * the element 'c'.
- ************************************************************************/
- public Node getNode(Node node, String name) {
- StringTokenizer tokenizer = new StringTokenizer(name, "/"); //$NON-NLS-1$
- String token = null;
- while (tokenizer.hasMoreTokens()) {
- token = tokenizer.nextToken();
- if (getNamedChild(node, token) == null) {
- Document localDocument = node.getOwnerDocument();
- node.appendChild(localDocument.createElement(token));
- }
- node = getNamedChild(node, token);
- }
- return node;
- }
-
- protected Document getParsedDocument(String filename) {
- Document result = null;
- // file name is almost never null,
- // but can be if preferences are being ran
- // outside of a workbench application
- if (filename != null) {
- File existenceTester = new File(filename);
- if (!existenceTester.exists())
- result = null;
- else
- result = _getParsedDocumentDOM2(filename);
- }
- return result;
-
- }
-
- /**
- * Returns the root element of the current document
- *
- * @return org.w3c.dom.Element
- */
- public Node getRootElement() {
- return getRootElement(getDocument());
- }
-
- /**
- * Returns the root element of the current document
- *
- * @return org.w3c.dom.Element
- */
- public Node getRootElement(Document doc) {
- if (doc == null)
- return null;
- Node rootElement = doc.getFirstChild();
- while (rootElement != null && rootElement.getNodeType() != Node.ELEMENT_NODE && !rootElement.getNodeName().equals(getRootElementName())) {
- rootElement = rootElement.getNextSibling();
- }
- return rootElement;
- }
-
- /**
- * The intended name for the root Element of the Document; what is also
- * listed within the DOCTYPE declaration.
- *
- * @return String
- */
- public String getRootElementName() {
- return "settings"; //$NON-NLS-1$
- }
-
- public void load() {
- document = getParsedDocument(getFilename());
-
- if (document == null) {
- document = createDefaultPreferences();
- }
- }
-
- public void removePreferenceChangeListener(PreferenceChangeListener l) {
- preferenceChangeListeners.remove(l);
- }
-
- public void save() {
- if (document == null) {
- document = createDefaultPreferences();
- }
- try {
- // pa_TODO is this still going to be done like this?
- FileWriter output = new FileWriter(getFilename());
- saveDocument(document, output);
- output.flush();
- output.close();
- }
- catch (IOException e) {
- Logger.logException("Program Error: PreferenceManager::save. Exception saving preferences ", e); //$NON-NLS-1$
- throw new PreferenceRuntimeException(e);
- }
- firePreferenceChangeListeners();
- }
-
- public void saveDocument(Document document, Writer writer) throws IOException {
-
- serialize(document, writer);
- }
-
- private void serialize(Document sourceDocument, Writer writer) throws IOException {
- Source domSource = new DOMSource(sourceDocument);
- try {
- Transformer serializer = TransformerFactory.newInstance().newTransformer();
- try {
- serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
- serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (IllegalArgumentException e) {
- // unsupported properties
- }
- serializer.transform(domSource, new StreamResult(writer));
- }
- catch (TransformerConfigurationException e) {
- throw new IOException(e.getMessage());
- }
- catch (TransformerFactoryConfigurationError e) {
- throw new IOException(e.getMessage());
- }
- catch (TransformerException e) {
- throw new IOException(e.getMessage());
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/plugin.xml b/bundles/org.eclipse.wst.xml.core/plugin.xml
index 89b2a7aaad..1f11fce43c 100644
--- a/bundles/org.eclipse.wst.xml.core/plugin.xml
+++ b/bundles/org.eclipse.wst.xml.core/plugin.xml
@@ -119,6 +119,11 @@
</content-type>
</extension>
+ <!-- initialize xml core preferences -->
+ <extension point="org.eclipse.core.runtime.preferences">
+ <initializer class="org.eclipse.wst.xml.core.internal.preferences.XMLCorePreferenceInitializer"/>
+ </extension>
+
<!-- added following from content model plugin.xml -->
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePlugin.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePlugin.java
index 962b707466..5d7fea07cf 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePlugin.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePlugin.java
@@ -15,9 +15,6 @@ package org.eclipse.wst.xml.core.internal;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
/**
@@ -48,38 +45,4 @@ public class XMLCorePlugin extends Plugin {
super();
plugin = this;
}
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
- */
- protected void initializeDefaultPluginPreferences() {
- Preferences prefs = getDefault().getPluginPreferences();
- // set model preference defaults
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
- prefs.setDefault(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS, true);
- prefs.setDefault(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, true);
- prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
- prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
- prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
- prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-
- prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
- prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, CommonModelPreferenceNames.UTF_8);
- prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
-
- prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, 4);
-
- prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, true);
- prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
- prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
- prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
- prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-
- prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, false);
- prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
- prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
- }
}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/CleanupProcessorXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/CleanupProcessorXML.java
index 53a3da814a..97bf41cdf8 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/CleanupProcessorXML.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/CleanupProcessorXML.java
@@ -18,8 +18,8 @@ import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupHandler;
import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupPreferences;
import org.eclipse.wst.sse.core.internal.cleanup.StructuredCleanupPreferences;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
+import org.eclipse.wst.xml.core.internal.preferences.XMLCorePreferenceNames;
import org.eclipse.wst.xml.core.internal.provisional.contenttype.ContentTypeIdForXML;
import org.eclipse.wst.xml.core.internal.provisional.format.FormatProcessorXML;
import org.w3c.dom.Node;
@@ -57,15 +57,13 @@ public class CleanupProcessorXML extends AbstractStructuredCleanupProcessor {
Preferences preferences = getModelPreferences();
if (preferences != null) {
- fCleanupPreferences.setTagNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE));
- fCleanupPreferences.setAttrNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE));
- fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
- fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
- fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
- fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
- fCleanupPreferences.setFormatSource(preferences.getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
- fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
- fCleanupPreferences.setEOLCode(preferences.getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE));
+ fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(XMLCorePreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
+ fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(XMLCorePreferenceNames.INSERT_REQUIRED_ATTRS));
+ fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(XMLCorePreferenceNames.INSERT_MISSING_TAGS));
+ fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(XMLCorePreferenceNames.QUOTE_ATTR_VALUES));
+ fCleanupPreferences.setFormatSource(preferences.getBoolean(XMLCorePreferenceNames.FORMAT_SOURCE));
+ fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(XMLCorePreferenceNames.CONVERT_EOL_CODES));
+ fCleanupPreferences.setEOLCode(preferences.getString(XMLCorePreferenceNames.CLEANUP_EOL_CODE));
}
}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/NodeCleanupHandler.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/NodeCleanupHandler.java
index d8775a0f4e..444ff50e31 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/NodeCleanupHandler.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/NodeCleanupHandler.java
@@ -17,8 +17,8 @@ import org.eclipse.core.runtime.Preferences;
import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupHandler;
import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupPreferences;
import org.eclipse.wst.sse.core.internal.cleanup.StructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
+import org.eclipse.wst.xml.core.internal.preferences.XMLCorePreferenceNames;
import org.w3c.dom.Node;
@@ -44,15 +44,13 @@ public class NodeCleanupHandler implements IStructuredCleanupHandler {
Preferences preferences = getModelPreferences();
if (preferences != null) {
- fCleanupPreferences.setTagNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE));
- fCleanupPreferences.setAttrNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE));
- fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
- fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
- fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
- fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
- fCleanupPreferences.setFormatSource(preferences.getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
- fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
- fCleanupPreferences.setEOLCode(preferences.getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE));
+ fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(XMLCorePreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
+ fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(XMLCorePreferenceNames.INSERT_REQUIRED_ATTRS));
+ fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(XMLCorePreferenceNames.INSERT_MISSING_TAGS));
+ fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(XMLCorePreferenceNames.QUOTE_ATTR_VALUES));
+ fCleanupPreferences.setFormatSource(preferences.getBoolean(XMLCorePreferenceNames.FORMAT_SOURCE));
+ fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(XMLCorePreferenceNames.CONVERT_EOL_CODES));
+ fCleanupPreferences.setEOLCode(preferences.getString(XMLCorePreferenceNames.CLEANUP_EOL_CODE));
}
}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/preferences/XMLCorePreferenceInitializer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/preferences/XMLCorePreferenceInitializer.java
new file mode 100644
index 0000000000..7211076f7e
--- /dev/null
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/preferences/XMLCorePreferenceInitializer.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 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.xml.core.internal.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
+import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
+
+/**
+ * Sets default values for XML Core preferences
+ */
+public class XMLCorePreferenceInitializer extends AbstractPreferenceInitializer {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+ */
+ public void initializeDefaultPreferences() {
+ IEclipsePreferences node = new DefaultScope().getNode(XMLCorePlugin.getDefault().getBundle().getSymbolicName());
+
+ // formatting preferences
+ node.putInt(XMLCorePreferenceNames.LINE_WIDTH, 72);
+ node.putBoolean(XMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES, false);
+ node.put(XMLCorePreferenceNames.INDENTATION_CHAR, XMLCorePreferenceNames.TAB);
+ node.putInt(XMLCorePreferenceNames.INDENTATION_SIZE, 1);
+ node.putBoolean(XMLCorePreferenceNames.SPLIT_MULTI_ATTRS, false);
+
+ // cleanup preferences
+ node.putBoolean(XMLCorePreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS, true);
+ node.putBoolean(XMLCorePreferenceNames.INSERT_REQUIRED_ATTRS, true);
+ node.putBoolean(XMLCorePreferenceNames.INSERT_MISSING_TAGS, true);
+ node.putBoolean(XMLCorePreferenceNames.QUOTE_ATTR_VALUES, true);
+ node.putBoolean(XMLCorePreferenceNames.FORMAT_SOURCE, true);
+ node.putBoolean(XMLCorePreferenceNames.CONVERT_EOL_CODES, false);
+
+ node.put(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
+ node.put(CommonEncodingPreferenceNames.OUTPUT_CODESET, "UTF-8");//$NON-NLS-1$
+ node.put(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
+ }
+}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/preferences/XMLCorePreferenceNames.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/preferences/XMLCorePreferenceNames.java
new file mode 100644
index 0000000000..308b8ae0cc
--- /dev/null
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/preferences/XMLCorePreferenceNames.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 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.xml.core.internal.preferences;
+
+/**
+ * Common preference keys used by XML core
+ *
+ * @since 1.0
+ */
+public class XMLCorePreferenceNames {
+ private XMLCorePreferenceNames() {
+ // empty private constructor so users cannot instantiate class
+ }
+
+ /**
+ * The maximum width of a line before a line split is needed.
+ * <p>
+ * Value is of type <code>Integer</code>.
+ * </p>
+ */
+ public static final String LINE_WIDTH = "lineWidth";//$NON-NLS-1$
+
+ /**
+ * Indicates if all blanks lines should be cleared during formatting.
+ * Blank lines will be kept when false.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String CLEAR_ALL_BLANK_LINES = "clearAllBlankLines";//$NON-NLS-1$
+
+ /**
+ * The number of #INDENTATION_CHAR for 1 indentation.
+ * <p>
+ * Value is of type <code>Integer</code>.
+ * </p>
+ */
+ public static final String INDENTATION_SIZE = "indentationSize";//$NON-NLS-1$
+
+ /**
+ * The character used for indentation.
+ * <p>
+ * Value is of type <code>String</code>.<br />
+ * Possible values: {TAB, SPACE}
+ * </p>
+ */
+ public static final String INDENTATION_CHAR = "indentationChar";//$NON-NLS-1$
+
+ /**
+ * Possible value for the preference #INDENTATION_CHAR. Indicates to use
+ * tab character when formatting.
+ *
+ * @see #SPACE
+ * @see #INDENTATION_CHAR
+ */
+ public static final String TAB = "tab"; //$NON-NLS-1$
+
+ /**
+ * Possible value for the preference #INDENTATION_CHAR. Indicates to use
+ * space character when formatting.
+ *
+ * @see #TAB
+ * @see #INDENTATION_CHAR
+ */
+ public static final String SPACE = "space"; //$NON-NLS-1$
+
+ /**
+ * Indicates if tags with multiple attributes should be formatted
+ * (splitting each attr on a new line).
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String SPLIT_MULTI_ATTRS = "splitMultiAttrs";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not cleanup processor should format source.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String FORMAT_SOURCE = "formatSource";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not empty elements should be compressed during
+ * cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String COMPRESS_EMPTY_ELEMENT_TAGS = "compressEmptyElementTags";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to insert required attributes during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String INSERT_REQUIRED_ATTRS = "insertRequiredAttrs";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to insert missing tags during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String INSERT_MISSING_TAGS = "insertMissingTags";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to quote all attribute values during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String QUOTE_ATTR_VALUES = "quoteAttrValues";//$NON-NLS-1$
+
+ /**
+ * Indicates whether or not to convert all line delimiters during cleanup.
+ * <p>
+ * Value is of type <code>Boolean</code>.
+ * </p>
+ */
+ public static final String CONVERT_EOL_CODES = "convertEOLCodes";//$NON-NLS-1$
+
+ /**
+ * Indicates the line delimiter to use during cleanup if converting line
+ * delimiters.
+ * <p>
+ * Value is of type <code>String</code>.<br />
+ * Possible values: {CR, CRLF, LF, NO_TRANSLATION}
+ * </p>
+ *
+ */
+ public static final String CLEANUP_EOL_CODE = "cleanupEOLCode";//$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/FormatProcessorXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/FormatProcessorXML.java
index 54b84b5a2f..c6ab4bae06 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/FormatProcessorXML.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/FormatProcessorXML.java
@@ -13,13 +13,12 @@
package org.eclipse.wst.xml.core.internal.provisional.format;
import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
import org.eclipse.wst.sse.core.internal.format.AbstractStructuredFormatProcessor;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatPreferences;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
import org.eclipse.wst.xml.core.internal.document.CDATASectionImpl;
+import org.eclipse.wst.xml.core.internal.preferences.XMLCorePreferenceNames;
import org.w3c.dom.Node;
public class FormatProcessorXML extends AbstractStructuredFormatProcessor {
@@ -35,20 +34,22 @@ public class FormatProcessorXML extends AbstractStructuredFormatProcessor {
Preferences preferences = getModelPreferences();
if (preferences != null) {
- fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
- ((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
- fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
+ fFormatPreferences.setLineWidth(preferences.getInt(XMLCorePreferenceNames.LINE_WIDTH));
+ ((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(XMLCorePreferenceNames.SPLIT_MULTI_ATTRS));
+ fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(XMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES));
- if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
- fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
- else {
- int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
- String indent = ""; //$NON-NLS-1$
- for (int i = 0; i < tabWidth; i++) {
- indent += " "; //$NON-NLS-1$
- }
- fFormatPreferences.setIndent(indent);
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(XMLCorePreferenceNames.INDENTATION_CHAR);
+ if (XMLCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
}
+ int indentationWidth = preferences.getInt(XMLCorePreferenceNames.INDENTATION_SIZE);
+
+ String indent = ""; //$NON-NLS-1$
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
+ }
+ fFormatPreferences.setIndent(indent);
}
}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/NodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/NodeFormatter.java
index 349e373968..d8832e83bc 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/NodeFormatter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/provisional/format/NodeFormatter.java
@@ -15,13 +15,11 @@ package org.eclipse.wst.xml.core.internal.provisional.format;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatContraints;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatPreferences;
import org.eclipse.wst.sse.core.internal.format.IStructuredFormatter;
import org.eclipse.wst.sse.core.internal.format.StructuredFormatContraints;
import org.eclipse.wst.sse.core.internal.parser.ContextRegion;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.exceptions.SourceEditingRuntimeException;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
@@ -33,6 +31,7 @@ import org.eclipse.wst.xml.core.internal.document.CDATASectionImpl;
import org.eclipse.wst.xml.core.internal.document.CharacterDataImpl;
import org.eclipse.wst.xml.core.internal.document.CommentImpl;
import org.eclipse.wst.xml.core.internal.parser.regions.TagNameRegion;
+import org.eclipse.wst.xml.core.internal.preferences.XMLCorePreferenceNames;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
@@ -416,20 +415,22 @@ public class NodeFormatter implements IStructuredFormatter {
Preferences preferences = getModelPreferences();
if (preferences != null) {
- fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
- ((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
- fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
+ fFormatPreferences.setLineWidth(preferences.getInt(XMLCorePreferenceNames.LINE_WIDTH));
+ ((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(XMLCorePreferenceNames.SPLIT_MULTI_ATTRS));
+ fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(XMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES));
+
+ String indentChar = " "; //$NON-NLS-1$
+ String indentCharPref = preferences.getString(XMLCorePreferenceNames.INDENTATION_CHAR);
+ if (XMLCorePreferenceNames.TAB.equals(indentCharPref)) {
+ indentChar = "\t"; //$NON-NLS-1$
+ }
+ int indentationWidth = preferences.getInt(XMLCorePreferenceNames.INDENTATION_SIZE);
- if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
- fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
- else {
- int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
- String indent = ""; //$NON-NLS-1$
- for (int i = 0; i < tabWidth; i++) {
- indent += " "; //$NON-NLS-1$
- }
- fFormatPreferences.setIndent(indent);
+ String indent = ""; //$NON-NLS-1$
+ for (int i = 0; i < indentationWidth; i++) {
+ indent += indentChar;
}
+ fFormatPreferences.setIndent(indent);
}
}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIMessages.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIMessages.java
index 8264ae27bc..ec0d3426bf 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIMessages.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIMessages.java
@@ -219,6 +219,9 @@ public class XMLUIMessages extends NLS {
public static String Line_width__UI_;
public static String Split_multiple_attributes;
public static String Indent_using_tabs;
+ public static String Indent_using_spaces;
+ public static String Indentation_size;
+ public static String Indentation_size_tip;
public static String Clear_all_blank_lines_UI_;
public static String Grammar_Constraints;
public static String Use_inferred_grammar_in_absence_of;
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPluginResources.properties b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPluginResources.properties
index 106240e60a..cc3084bbce 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPluginResources.properties
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPluginResources.properties
@@ -247,6 +247,9 @@ Formatting_UI_=Formatting
Line_width__UI_=Line &width:
Split_multiple_attributes=Split &multiple attributes each on a new line
Indent_using_tabs=&Indent using tabs
+Indent_using_spaces=I&ndent using spaces
+Indentation_size=In&dentation size:
+Indentation_size_tip=Indentation size
Clear_all_blank_lines_UI_=Clear all &blank lines
Grammar_Constraints=Grammar Constraints
Use_inferred_grammar_in_absence_of=Use inferred grammar in absence of DTD/Schema
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/CleanupDialogXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/CleanupDialogXML.java
index 97054a2562..3df538010d 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/CleanupDialogXML.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/CleanupDialogXML.java
@@ -24,9 +24,9 @@ import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.help.WorkbenchHelp;
import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
+import org.eclipse.wst.xml.core.internal.preferences.XMLCorePreferenceNames;
import org.eclipse.wst.xml.ui.internal.XMLUIMessages;
import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
@@ -137,13 +137,13 @@ public class CleanupDialogXML extends Dialog implements SelectionListener {
protected void initializeOptions() {
- fCheckBoxCompressEmptyElementTags.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
- fCheckBoxInsertRequiredAttrs.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
- fCheckBoxInsertMissingTags.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
- fCheckBoxQuoteAttrValues.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
- fCheckBoxFormatSource.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
- fCheckBoxConvertEOLCodes.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
- String EOLCode = getModelPreferences().getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE);
+ fCheckBoxCompressEmptyElementTags.setSelection(getModelPreferences().getBoolean(XMLCorePreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
+ fCheckBoxInsertRequiredAttrs.setSelection(getModelPreferences().getBoolean(XMLCorePreferenceNames.INSERT_REQUIRED_ATTRS));
+ fCheckBoxInsertMissingTags.setSelection(getModelPreferences().getBoolean(XMLCorePreferenceNames.INSERT_MISSING_TAGS));
+ fCheckBoxQuoteAttrValues.setSelection(getModelPreferences().getBoolean(XMLCorePreferenceNames.QUOTE_ATTR_VALUES));
+ fCheckBoxFormatSource.setSelection(getModelPreferences().getBoolean(XMLCorePreferenceNames.FORMAT_SOURCE));
+ fCheckBoxConvertEOLCodes.setSelection(getModelPreferences().getBoolean(XMLCorePreferenceNames.CONVERT_EOL_CODES));
+ String EOLCode = getModelPreferences().getString(XMLCorePreferenceNames.CLEANUP_EOL_CODE);
if (EOLCode.compareTo(CommonEncodingPreferenceNames.LF) == 0)
fRadioButtonConvertEOLUnix.setSelection(true);
else if (EOLCode.compareTo(CommonEncodingPreferenceNames.CR) == 0)
@@ -166,18 +166,18 @@ public class CleanupDialogXML extends Dialog implements SelectionListener {
protected void storeOptions() {
- getModelPreferences().setValue(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS, fCheckBoxCompressEmptyElementTags.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, fCheckBoxInsertRequiredAttrs.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.INSERT_MISSING_TAGS, fCheckBoxInsertMissingTags.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, fCheckBoxQuoteAttrValues.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.FORMAT_SOURCE, fCheckBoxFormatSource.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.CONVERT_EOL_CODES, fCheckBoxConvertEOLCodes.getSelection());
+ getModelPreferences().setValue(XMLCorePreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS, fCheckBoxCompressEmptyElementTags.getSelection());
+ getModelPreferences().setValue(XMLCorePreferenceNames.INSERT_REQUIRED_ATTRS, fCheckBoxInsertRequiredAttrs.getSelection());
+ getModelPreferences().setValue(XMLCorePreferenceNames.INSERT_MISSING_TAGS, fCheckBoxInsertMissingTags.getSelection());
+ getModelPreferences().setValue(XMLCorePreferenceNames.QUOTE_ATTR_VALUES, fCheckBoxQuoteAttrValues.getSelection());
+ getModelPreferences().setValue(XMLCorePreferenceNames.FORMAT_SOURCE, fCheckBoxFormatSource.getSelection());
+ getModelPreferences().setValue(XMLCorePreferenceNames.CONVERT_EOL_CODES, fCheckBoxConvertEOLCodes.getSelection());
if (fRadioButtonConvertEOLUnix.getSelection()) {
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.LF);
+ getModelPreferences().setValue(XMLCorePreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.LF);
} else if (fRadioButtonConvertEOLMac.getSelection()) {
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CR);
+ getModelPreferences().setValue(XMLCorePreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CR);
} else {
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CRLF);
+ getModelPreferences().setValue(XMLCorePreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CRLF);
}
// explicitly save plugin preferences so values are stored
XMLCorePlugin.getDefault().savePluginPreferences();
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/AbstractContentAssistProcessor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/AbstractContentAssistProcessor.java
index e49cff38ee..7564f14f5d 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/AbstractContentAssistProcessor.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/AbstractContentAssistProcessor.java
@@ -2202,7 +2202,7 @@ abstract public class AbstractContentAssistProcessor implements IContentAssistPr
}
protected ContentAssistRequest newContentAssistRequest(Node node, Node possibleParent, IStructuredDocumentRegion documentRegion, ITextRegion completionRegion, int begin, int length, String filter) {
- return new ContentAssistRequest(node, possibleParent, documentRegion, completionRegion, begin, length, filter, null);
+ return new ContentAssistRequest(node, possibleParent, documentRegion, completionRegion, begin, length, filter);
}
public void release() {
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/ContentAssistRequest.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/ContentAssistRequest.java
index 908bc4f396..2e193b1ed9 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/ContentAssistRequest.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentassist/ContentAssistRequest.java
@@ -23,15 +23,11 @@ import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentReg
import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionCollection;
import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.provisional.preferences.PreferenceManager;
import org.w3c.dom.Node;
public class ContentAssistRequest {
protected IStructuredDocumentRegion documentRegion = null;
-
-
- protected PreferenceManager fPreferenceManager = null;
protected List macros = new ArrayList();
protected String matchString;
protected Node node = null;
@@ -46,7 +42,7 @@ public class ContentAssistRequest {
/**
* XMLContentAssistRequest constructor comment.
*/
- public ContentAssistRequest(Node node, Node parent, IStructuredDocumentRegion documentRegion, ITextRegion completionRegion, int begin, int length, String filter, PreferenceManager preferencesManager) {
+ public ContentAssistRequest(Node node, Node parent, IStructuredDocumentRegion documentRegion, ITextRegion completionRegion, int begin, int length, String filter) {
super();
setNode(node);
setParent(parent);
@@ -55,7 +51,6 @@ public class ContentAssistRequest {
setMatchString(filter);
setReplacementBeginPosition(begin);
setReplacementLength(length);
- fPreferenceManager = preferencesManager;
}
public void addMacro(ICompletionProposal newProposal) {
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/preferences/XMLSourcePreferencePage.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/preferences/XMLSourcePreferencePage.java
index 4dadbe9cec..31a8fdff6b 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/preferences/XMLSourcePreferencePage.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/preferences/XMLSourcePreferencePage.java
@@ -23,27 +23,35 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Spinner;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.core.internal.preferences.CommonModelPreferenceNames;
import org.eclipse.wst.sse.ui.internal.preferences.ui.AbstractPreferencePage;
import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
+import org.eclipse.wst.xml.core.internal.preferences.XMLCorePreferenceNames;
import org.eclipse.wst.xml.ui.internal.XMLUIMessages;
import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
public class XMLSourcePreferencePage extends AbstractPreferencePage implements ModifyListener, SelectionListener, IWorkbenchPreferencePage {
+ private final int MIN_INDENTATION_SIZE = 0;
+ private final int MAX_INDENTATION_SIZE = 16;
+
// Content Assist
protected Button fAutoPropose;
protected Label fAutoProposeLabel;
protected Text fAutoProposeText;
protected Button fClearAllBlankLines;
- protected Button fIndentUsingTabs;
+
// Formatting
protected Label fLineWidthLabel;
protected Text fLineWidthText;
protected Button fSplitMultiAttrs;
+ private Button fIndentUsingTabs;
+ private Button fIndentUsingSpaces;
+ private Spinner fIndentationSize;
+
// grammar constraints
protected Button fUseInferredGrammar;
@@ -85,12 +93,25 @@ public class XMLSourcePreferencePage extends AbstractPreferencePage implements M
fSplitMultiAttrs = createCheckBox(formattingGroup, XMLUIMessages.Split_multiple_attributes);
((GridData) fSplitMultiAttrs.getLayoutData()).horizontalSpan = 2;
-
- fIndentUsingTabs = createCheckBox(formattingGroup, XMLUIMessages.Indent_using_tabs);
- ((GridData) fIndentUsingTabs.getLayoutData()).horizontalSpan = 2;
-
fClearAllBlankLines = createCheckBox(formattingGroup, XMLUIMessages.Clear_all_blank_lines_UI_);
((GridData) fClearAllBlankLines.getLayoutData()).horizontalSpan = 2;
+
+ fIndentUsingTabs = createRadioButton(formattingGroup, XMLUIMessages.Indent_using_tabs);
+ ((GridData) fIndentUsingTabs.getLayoutData()).horizontalSpan = 2;
+
+ fIndentUsingSpaces = createRadioButton(formattingGroup, XMLUIMessages.Indent_using_spaces);
+ ((GridData) fIndentUsingSpaces.getLayoutData()).horizontalSpan = 2;
+
+ createLabel(formattingGroup, XMLUIMessages.Indentation_size);
+ fIndentationSize = new Spinner(formattingGroup, SWT.READ_ONLY | SWT.BORDER);
+ GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ fIndentationSize.setLayoutData(gd);
+ fIndentationSize.setToolTipText(XMLUIMessages.Indentation_size_tip);
+ fIndentationSize.setMinimum(MIN_INDENTATION_SIZE);
+ fIndentationSize.setMaximum(MAX_INDENTATION_SIZE);
+ fIndentationSize.setIncrement(1);
+ fIndentationSize.setPageIncrement(4);
+ fIndentationSize.addModifyListener(this);
}
protected void createContentsForGrammarConstraintsGroup(Composite parent) {
@@ -122,15 +143,6 @@ public class XMLSourcePreferencePage extends AbstractPreferencePage implements M
}
}
- /**
- * @deprecated key no longer needed (preference should be stored in their own preference store)
- */
- protected String getKey(String key) {
-// String contentTypeId = IContentTypeIdentifier.ContentTypeID_SSEXML;
-// return PreferenceKeyGenerator.generateKey(key, contentTypeId);
- return key;
- }
-
protected Preferences getModelPreferences() {
return XMLCorePlugin.getDefault().getPluginPreferences();
}
@@ -149,10 +161,19 @@ public class XMLSourcePreferencePage extends AbstractPreferencePage implements M
protected void initializeValuesForFormattingGroup() {
// Formatting
- fLineWidthText.setText(getModelPreferences().getString(CommonModelPreferenceNames.LINE_WIDTH));
- fSplitMultiAttrs.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
- fIndentUsingTabs.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS));
- fClearAllBlankLines.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
+ fLineWidthText.setText(getModelPreferences().getString(XMLCorePreferenceNames.LINE_WIDTH));
+ fSplitMultiAttrs.setSelection(getModelPreferences().getBoolean(XMLCorePreferenceNames.SPLIT_MULTI_ATTRS));
+ fClearAllBlankLines.setSelection(getModelPreferences().getBoolean(XMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES));
+
+ if (XMLCorePreferenceNames.TAB.equals(getModelPreferences().getString(XMLCorePreferenceNames.INDENTATION_CHAR))) {
+ fIndentUsingTabs.setSelection(true);
+ fIndentUsingSpaces.setSelection(false);
+ } else {
+ fIndentUsingSpaces.setSelection(true);
+ fIndentUsingTabs.setSelection(false);
+ }
+
+ fIndentationSize.setSelection(getModelPreferences().getInt(XMLCorePreferenceNames.INDENTATION_SIZE));
}
protected void initializeValuesForGrammarConstraintsGroup() {
@@ -178,10 +199,18 @@ public class XMLSourcePreferencePage extends AbstractPreferencePage implements M
protected void performDefaultsForFormattingGroup() {
// Formatting
- fLineWidthText.setText(getModelPreferences().getDefaultString(CommonModelPreferenceNames.LINE_WIDTH));
- fSplitMultiAttrs.setSelection(getModelPreferences().getDefaultBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
- fIndentUsingTabs.setSelection(getModelPreferences().getDefaultBoolean(CommonModelPreferenceNames.INDENT_USING_TABS));
- fClearAllBlankLines.setSelection(getModelPreferences().getDefaultBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
+ fLineWidthText.setText(getModelPreferences().getDefaultString(XMLCorePreferenceNames.LINE_WIDTH));
+ fSplitMultiAttrs.setSelection(getModelPreferences().getDefaultBoolean(XMLCorePreferenceNames.SPLIT_MULTI_ATTRS));
+ fClearAllBlankLines.setSelection(getModelPreferences().getDefaultBoolean(XMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES));
+
+ if (XMLCorePreferenceNames.TAB.equals(getModelPreferences().getDefaultString(XMLCorePreferenceNames.INDENTATION_CHAR))) {
+ fIndentUsingTabs.setSelection(true);
+ fIndentUsingSpaces.setSelection(false);
+ } else {
+ fIndentUsingSpaces.setSelection(true);
+ fIndentUsingTabs.setSelection(false);
+ }
+ fIndentationSize.setSelection(getModelPreferences().getDefaultInt(XMLCorePreferenceNames.INDENTATION_SIZE));
}
protected void performDefaultsForGrammarConstraintsGroup() {
@@ -210,10 +239,16 @@ public class XMLSourcePreferencePage extends AbstractPreferencePage implements M
protected void storeValuesForFormattingGroup() {
// Formatting
- getModelPreferences().setValue(CommonModelPreferenceNames.LINE_WIDTH, fLineWidthText.getText());
- getModelPreferences().setValue(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, fSplitMultiAttrs.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.INDENT_USING_TABS, fIndentUsingTabs.getSelection());
- getModelPreferences().setValue(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, fClearAllBlankLines.getSelection());
+ getModelPreferences().setValue(XMLCorePreferenceNames.LINE_WIDTH, fLineWidthText.getText());
+ getModelPreferences().setValue(XMLCorePreferenceNames.SPLIT_MULTI_ATTRS, fSplitMultiAttrs.getSelection());
+ getModelPreferences().setValue(XMLCorePreferenceNames.CLEAR_ALL_BLANK_LINES, fClearAllBlankLines.getSelection());
+
+ if (fIndentUsingTabs.getSelection()) {
+ getModelPreferences().setValue(XMLCorePreferenceNames.INDENTATION_CHAR, XMLCorePreferenceNames.TAB);
+ } else {
+ getModelPreferences().setValue(XMLCorePreferenceNames.INDENTATION_CHAR, XMLCorePreferenceNames.SPACE);
+ }
+ getModelPreferences().setValue(XMLCorePreferenceNames.INDENTATION_SIZE, fIndentationSize.getSelection());
}
protected void storeValuesForGrammarConstraintsGroup() {
@@ -237,6 +272,19 @@ public class XMLSourcePreferencePage extends AbstractPreferencePage implements M
}
}
+ int indentSize = 0;
+ if (fIndentationSize != null) {
+ try {
+ indentSize = fIndentationSize.getSelection();
+ if ((indentSize < MIN_INDENTATION_SIZE) || (indentSize > MAX_INDENTATION_SIZE))
+ throw new NumberFormatException();
+ } catch (NumberFormatException nfexc) {
+ setInvalidInputMessage(Integer.toString(indentSize));
+ setValid(false);
+ isError = true;
+ }
+ }
+
if (!isError) {
setErrorMessage(null);
setValid(true);

Back to the top