| /******************************************************************************* |
| * Copyright (c) 2004, 2011 John-Mason P. Shackelford 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: |
| * John-Mason P. Shackelford - initial API and implementation |
| * IBM Corporation - bug 52076 |
| *******************************************************************************/ |
| package org.eclipse.ant.internal.ui.editor.formatter; |
| |
| import org.eclipse.ant.internal.core.IAntCoreConstants; |
| import org.eclipse.ant.internal.ui.AntUIPlugin; |
| import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants; |
| import org.eclipse.jface.preference.IPreferenceStore; |
| import org.eclipse.jface.util.PropertyChangeEvent; |
| |
| public class FormattingPreferences { |
| |
| IPreferenceStore fPrefs= AntUIPlugin.getDefault().getPreferenceStore(); |
| |
| public String getCanonicalIndent() { |
| String canonicalIndent; |
| if (!useSpacesInsteadOfTabs()) { |
| canonicalIndent = "\t"; //$NON-NLS-1$ |
| } else { |
| String tab = IAntCoreConstants.EMPTY_STRING; |
| for (int i = 0; i < getTabWidth(); i++) { |
| tab = tab.concat(" "); //$NON-NLS-1$ |
| } |
| canonicalIndent = tab; |
| } |
| |
| return canonicalIndent; |
| } |
| |
| public int getMaximumLineWidth() { |
| return fPrefs.getInt(AntEditorPreferenceConstants.FORMATTER_MAX_LINE_LENGTH); |
| } |
| |
| public boolean wrapLongTags() { |
| return fPrefs.getBoolean(AntEditorPreferenceConstants.FORMATTER_WRAP_LONG); |
| } |
| |
| public boolean alignElementCloseChar() { |
| return fPrefs.getBoolean(AntEditorPreferenceConstants.FORMATTER_ALIGN); |
| } |
| |
| public int getTabWidth() { |
| return fPrefs.getInt(AntEditorPreferenceConstants.FORMATTER_TAB_SIZE); |
| } |
| |
| public boolean useSpacesInsteadOfTabs() { |
| return ! fPrefs.getBoolean(AntEditorPreferenceConstants.FORMATTER_TAB_CHAR); |
| } |
| |
| public static boolean affectsFormatting(PropertyChangeEvent event) { |
| String property= event.getProperty(); |
| return property.startsWith(AntEditorPreferenceConstants.FORMATTER_ALIGN) || |
| property.startsWith(AntEditorPreferenceConstants.FORMATTER_MAX_LINE_LENGTH) || |
| property.startsWith(AntEditorPreferenceConstants.FORMATTER_TAB_CHAR) || |
| property.startsWith(AntEditorPreferenceConstants.FORMATTER_TAB_SIZE) || |
| property.startsWith(AntEditorPreferenceConstants.FORMATTER_WRAP_LONG); |
| } |
| /** |
| * Sets the preference store for these formatting preferences. |
| * @param prefs the preference store to use as a reference for the formatting |
| * preferences |
| */ |
| public void setPreferenceStore(IPreferenceStore prefs) { |
| fPrefs = prefs; |
| } |
| } |