import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Preferences;
+import org.eclipse.jface.action.Action;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.source.SourceViewer;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
public final OverlayPreferenceStore.OverlayKey[] fKeys;
private final String[][] fSyntaxColorListModel = new String[][] {
- { PreferencesMessages.getString("JavaEditorPreferencePage.multiLineComment"),
+ {
+ PreferencesMessages.getString("JavaEditorPreferencePage.multiLineComment"),
PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR },
//$NON-NLS-1$
- { PreferencesMessages.getString("JavaEditorPreferencePage.singleLineComment"),
+ {
+ PreferencesMessages.getString("JavaEditorPreferencePage.singleLineComment"),
PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR },
//$NON-NLS-1$
{ PreferencesMessages.getString("JavaEditorPreferencePage.tags"), PreferenceConstants.EDITOR_PHP_TAG_COLOR },
//$NON-NLS-1$
{ PreferencesMessages.getString("JavaEditorPreferencePage.variables"), PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR },
//$NON-NLS-1$
+ { PreferencesMessages.getString("JavaEditorPreferencePage.variables_dollar"), PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_COLOR },
+ //$NON-NLS-1$
{ PreferencesMessages.getString("JavaEditorPreferencePage.constants"), PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR },
//$NON-NLS-1$
{ PreferencesMessages.getString("JavaEditorPreferencePage.types"), PreferenceConstants.EDITOR_PHP_TYPE_COLOR },
//$NON-NLS-1$
- { PreferencesMessages.getString("JavaEditorPreferencePage.strings"), PreferenceConstants.EDITOR_STRING_COLOR },
+ { PreferencesMessages.getString("JavaEditorPreferencePage.strings_dq"), PreferenceConstants.EDITOR_STRING_COLOR_DQ },
+ { PreferencesMessages.getString("JavaEditorPreferencePage.strings_sq"), PreferenceConstants.EDITOR_STRING_COLOR_SQ },
//$NON-NLS-1$
{ PreferencesMessages.getString("JavaEditorPreferencePage.others"), PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR }, //$NON-NLS-1$
{ PreferencesMessages.getString("JavaEditorPreferencePage.operators"), PreferenceConstants.EDITOR_PHP_OPERATOR_COLOR },
//$NON-NLS-1$
- { PreferencesMessages.getString("JavaEditorPreferencePage.returnKeyword"),
+ {
+ PreferencesMessages.getString("JavaEditorPreferencePage.returnKeyword"),
PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_COLOR },
+ { PreferencesMessages.getString("JavaEditorPreferencePage.braces"), PreferenceConstants.EDITOR_PHP_BRACE_OPERATOR_COLOR },
//$NON-NLS-1$
{ PreferencesMessages.getString("JavaEditorPreferencePage.phpDocKeywords"), PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR },
//$NON-NLS-1$
};
private final String[][] fAppearanceColorListModel = new String[][] {
- { PreferencesMessages.getString("JavaEditorPreferencePage.lineNumberForegroundColor"),
+ {
+ PreferencesMessages.getString("JavaEditorPreferencePage.lineNumberForegroundColor"),
AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR },
//$NON-NLS-1$
- { PreferencesMessages.getString("JavaEditorPreferencePage.matchingBracketsHighlightColor2"),
+ {
+ PreferencesMessages.getString("JavaEditorPreferencePage.matchingBracketsHighlightColor2"),
PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR },
//$NON-NLS-1$
- { PreferencesMessages.getString("JavaEditorPreferencePage.currentLineHighlighColor"),
+ {
+ PreferencesMessages.getString("JavaEditorPreferencePage.currentLineHighlighColor"),
AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR },
//$NON-NLS-1$
- { PreferencesMessages.getString("JavaEditorPreferencePage.printMarginColor2"),
+ {
+ PreferencesMessages.getString("JavaEditorPreferencePage.printMarginColor2"),
AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR },
//$NON-NLS-1$
{ PreferencesMessages.getString("JavaEditorPreferencePage.findScopeColor2"), PreferenceConstants.EDITOR_FIND_SCOPE_COLOR },
// private Button fAddJavaDocTagsButton;
- private Button fEscapeStringsButton;
+ private Button fEscapeStringsButtonDQ;
+
+ private Button fEscapeStringsButtonSQ;
// private Button fGuessMethodArgumentsButton;
private SourceViewer fPreviewViewer;
private Button fShowInVerticalRulerCheckBox;
- // private Text fBrowserLikeLinksKeyModifierText;
- // private Button fBrowserLikeLinksCheckBox;
- // private StatusInfo fBrowserLikeLinksKeyModifierStatus;
+ private Text fBrowserLikeLinksKeyModifierText;
+
+ private Button fBrowserLikeLinksCheckBox;
+
+ private StatusInfo fBrowserLikeLinksKeyModifierStatus;
+
// private Button fCompletionInsertsRadioButton;
// private Button fCompletionOverwritesRadioButton;
// private Button fStickyOccurrencesButton;
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD));
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
+ PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_COLOR));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+ PreferenceConstants.EDITOR_PHP_VARIABLE_DOLLAR_BOLD));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR));
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD));
overlayKeys
.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_TYPE_BOLD));
- overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_STRING_COLOR));
- overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_STRING_BOLD));
+ overlayKeys
+ .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_STRING_COLOR_DQ));
+ overlayKeys
+ .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_STRING_BOLD_DQ));
+ overlayKeys
+ .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_STRING_COLOR_SQ));
+ overlayKeys
+ .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_STRING_BOLD_SQ));
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR));
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
overlayKeys
.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_TASK_TAG_BOLD));
// overlayKeys.add(new
- // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
+ // OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING_DQ,
// PreferenceConstants.EDITOR_JAVA_METHOD_NAME_COLOR));
// overlayKeys.add(new
// OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_BOLD));
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
+ PreferenceConstants.EDITOR_PHP_BRACE_OPERATOR_COLOR));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+ PreferenceConstants.EDITOR_PHP_BRACE_OPERATOR_BOLD));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING,
PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR));
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD));
// .add(new OverlayPreferenceStore.OverlayKey(
// OverlayPreferenceStore.BOOLEAN,
// PreferenceConstants.EDITOR_CLOSE_BRACES));
- // overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
- // OverlayPreferenceStore.BOOLEAN,
- // PreferenceConstants.EDITOR_CLOSE_JAVADOCS));
- overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WRAP_STRINGS));
overlayKeys
- .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_ESCAPE_STRINGS));
+ .add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_JAVADOCS));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WRAP_WORDS));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+ PreferenceConstants.EDITOR_WRAP_STRINGS_DQ));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+ PreferenceConstants.EDITOR_ESCAPE_STRINGS_DQ));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+ PreferenceConstants.EDITOR_WRAP_STRINGS_SQ));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+ PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ));
+
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+ PreferenceConstants.EDITOR_FORMAT_JAVADOCS));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+ PreferenceConstants.EDITOR_P_RTRIM_ON_SAVE));
+
overlayKeys
.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SMART_HOME_END));
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
Preferences coreStore = createTemporaryCorePreferenceStore();
fJavaTextTools = new JavaTextTools(fOverlayStore, coreStore, false);
IPreferenceStore generalTextStore = EditorsUI.getPreferenceStore();
- IPreferenceStore store = new ChainedPreferenceStore(new IPreferenceStore[] { fOverlayStore,
- new PreferencesAdapter(createTemporaryCorePreferenceStore()), generalTextStore });
+ IPreferenceStore store = new ChainedPreferenceStore(new IPreferenceStore[] {
+ fOverlayStore,
+ new PreferencesAdapter(createTemporaryCorePreferenceStore()),
+ generalTextStore });
fPreviewViewer = new JavaSourceViewer(parent, null, null, false, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER, store);
- JavaTextTools tools= PHPeclipsePlugin.getDefault().getJavaTextTools();
- PHPSourceViewerConfiguration configuration= new PHPSourceViewerConfiguration(tools.getColorManager(), store, null, IPHPPartitions.PHP_PARTITIONING);
-// PHPSourceViewerConfiguration configuration =new PHPSourceViewerConfiguration(fJavaTextTools, null, IPHPPartitions.PHP_PARTITIONING);
+ JavaTextTools tools = PHPeclipsePlugin.getDefault().getJavaTextTools();
+ PHPSourceViewerConfiguration configuration = new PHPSourceViewerConfiguration(tools.getColorManager(), store, null,
+ IPHPPartitions.PHP_PARTITIONING);
+ // PHPSourceViewerConfiguration configuration =new PHPSourceViewerConfiguration(fJavaTextTools, null,
+ // IPHPPartitions.PHP_PARTITIONING);
fPreviewViewer.configure(configuration);
-
- Font font= JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT);
- fPreviewViewer.getTextWidget().setFont(font);
+
+ Font font = JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT);
+ fPreviewViewer.getTextWidget().setFont(font);
new JavaSourcePreviewerUpdater(fPreviewViewer, configuration, store);
- fPreviewViewer.setEditable(false);
+ fPreviewViewer.setEditable(false);
String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$
IDocument document = new Document(content);
fJavaTextTools.setupJavaDocumentPartitioner(document, IPHPPartitions.PHP_PARTITIONING);
Iterator e = sortedPreferences.iterator();
while (e.hasNext()) {
AnnotationPreference info = (AnnotationPreference) e.next();
- listModelItems.add(new String[] { info.getPreferenceLabel(), info.getColorPreferenceKey(), info.getTextPreferenceKey(),
- info.getOverviewRulerPreferenceKey(), info.getHighlightPreferenceKey(), info.getVerticalRulerPreferenceKey(),
+ listModelItems.add(new String[] {
+ info.getPreferenceLabel(),
+ info.getColorPreferenceKey(),
+ info.getTextPreferenceKey(),
+ info.getOverviewRulerPreferenceKey(),
+ info.getHighlightPreferenceKey(),
+ info.getVerticalRulerPreferenceKey(),
info.getTextStylePreferenceKey() });
}
String[][] items = new String[listModelItems.size()][];
group.setLayout(layout);
group.setText(PreferencesMessages.getString("JavaEditorPreferencePage.typing.description")); //$NON-NLS-1$
- label = PreferencesMessages.getString("JavaEditorPreferencePage.wrapStrings");
- //$NON-NLS-1$
- Button button = addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_STRINGS, 1);
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.wrapWords");//$NON-NLS-1$
+ addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_WORDS, 1);
+
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.wrapStringsDQ");//$NON-NLS-1$
+ Button button = addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_STRINGS_DQ, 1);
+
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.escapeStringsDQ");//$NON-NLS-1$
+ fEscapeStringsButtonDQ = addCheckBox(group, label, PreferenceConstants.EDITOR_ESCAPE_STRINGS_DQ, 1);
+ createDependency(button, fEscapeStringsButtonDQ);
- label = PreferencesMessages.getString("JavaEditorPreferencePage.escapeStrings");
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.wrapStringsSQ");//$NON-NLS-1$
+ addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_STRINGS_SQ, 1);
+
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.escapeStringsSQ");
//$NON-NLS-1$
- fEscapeStringsButton = addCheckBox(group, label, PreferenceConstants.EDITOR_ESCAPE_STRINGS, 1);
- createDependency(button, fEscapeStringsButton);
+ fEscapeStringsButtonSQ = addCheckBox(group, label, PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ, 1);
+ createDependency(button, fEscapeStringsButtonSQ);
label = PreferencesMessages.getString("JavaEditorPreferencePage.smartPaste");
//$NON-NLS-1$
// //$NON-NLS-1$
// addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_BRACES, 1);
- // label = PreferencesMessages
- // .getString("JavaEditorPreferencePage.closeJavaDocs");
- // //$NON-NLS-1$
- // button = addCheckBox(group, label,
- // PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1);
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.closeJavaDocs");
+ //$NON-NLS-1$
+ button = addCheckBox(group, label, PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1);
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.formatJavaDocs");
+ //$NON-NLS-1$
+ button = addCheckBox(group, label, PreferenceConstants.EDITOR_FORMAT_JAVADOCS, 1);
+
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.p_rtrim_on_save");
+ addCheckBox(group, label, PreferenceConstants.EDITOR_P_RTRIM_ON_SAVE, 1);
//
// label = PreferencesMessages
// .getString("JavaEditorPreferencePage.addJavaDocTags");
GridLayout layout = new GridLayout();
layout.numColumns = 2;
composite.setLayout(layout);
- // String text=
- // PreferencesMessages.getString("JavaEditorPreferencePage.navigation.browserLikeLinks");
- // //$NON-NLS-1$
- // fBrowserLikeLinksCheckBox= addCheckBox(composite, text,
- // PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS, 0);
- // fBrowserLikeLinksCheckBox.addSelectionListener(new SelectionListener() {
- // public void widgetSelected(SelectionEvent e) {
- // boolean state= fBrowserLikeLinksCheckBox.getSelection();
- // fBrowserLikeLinksKeyModifierText.setEnabled(state);
- // handleBrowserLikeLinksKeyModifierModified();
- // }
- // public void widgetDefaultSelected(SelectionEvent e) {
- // }
- // });
- // Text field for modifier string
- // text=
- // PreferencesMessages.getString("JavaEditorPreferencePage.navigation.browserLikeLinksKeyModifier");
- // //$NON-NLS-1$
- // fBrowserLikeLinksKeyModifierText= addTextField(composite, text,
- // PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER, 20, 0,
- // false);
- // fBrowserLikeLinksKeyModifierText.setTextLimit(Text.LIMIT);
- //
- // if
- // (computeStateMask(fOverlayStore.getString(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER))
- // == -1) {
- // // Fix possible illegal modifier string
- // int stateMask=
- // fOverlayStore.getInt(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK);
- // if (stateMask == -1)
- // fBrowserLikeLinksKeyModifierText.setText(""); //$NON-NLS-1$
- // else
- // fBrowserLikeLinksKeyModifierText.setText(EditorUtility.getModifierString(stateMask));
- // }
- // fBrowserLikeLinksKeyModifierText.addKeyListener(new KeyListener() {
- // private boolean isModifierCandidate;
- // public void keyPressed(KeyEvent e) {
- // isModifierCandidate= e.keyCode > 0 && e.character == 0 && e.stateMask ==
- // 0;
- // }
- //
- // public void keyReleased(KeyEvent e) {
- // if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask
- // && e.character == 0) {// && e.time -time < 1000) {
- // String modifierString= fBrowserLikeLinksKeyModifierText.getText();
- // Point selection= fBrowserLikeLinksKeyModifierText.getSelection();
- // int i= selection.x - 1;
- // while (i > -1 && Character.isWhitespace(modifierString.charAt(i))) {
- // i--;
- // }
- // boolean needsPrefixDelimiter= i > -1 &&
- // !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
- //
- // i= selection.y;
- // while (i < modifierString.length() &&
- // Character.isWhitespace(modifierString.charAt(i))) {
- // i++;
- // }
- // boolean needsPostfixDelimiter= i < modifierString.length() &&
- // !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
- //
- // String insertString;
- //
- // if (needsPrefixDelimiter && needsPostfixDelimiter)
- // insertString=
- // PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertDelimiterAndModifierAndDelimiter",
- // new String[] {Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
- // else if (needsPrefixDelimiter)
- // insertString=
- // PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertDelimiterAndModifier",
- // new String[] {Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
- // else if (needsPostfixDelimiter)
- // insertString=
- // PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertModifierAndDelimiter",
- // new String[] {Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
- // else
- // insertString= Action.findModifierString(e.stateMask);
- //
- // fBrowserLikeLinksKeyModifierText.insert(insertString);
- // }
- // }
- // });
- //
- // fBrowserLikeLinksKeyModifierText.addModifyListener(new ModifyListener()
- // {
- // public void modifyText(ModifyEvent e) {
- // handleBrowserLikeLinksKeyModifierModified();
- // }
- // });
+ String text = PreferencesMessages.getString("JavaEditorPreferencePage.navigation.browserLikeLinks");
+ //$NON-NLS-1$
+ fBrowserLikeLinksCheckBox = addCheckBox(composite, text, PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS, 0);
+ fBrowserLikeLinksCheckBox.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ boolean state = fBrowserLikeLinksCheckBox.getSelection();
+ fBrowserLikeLinksKeyModifierText.setEnabled(state);
+ handleBrowserLikeLinksKeyModifierModified();
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ });
+ // Text field for modifier string
+ text = PreferencesMessages.getString("JavaEditorPreferencePage.navigation.browserLikeLinksKeyModifier");
+ //$NON-NLS-1$
+ fBrowserLikeLinksKeyModifierText = addTextField(composite, text, PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER,
+ 20, 0, false);
+ fBrowserLikeLinksKeyModifierText.setTextLimit(Text.LIMIT);
+
+ if (computeStateMask(fOverlayStore.getString(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER)) == -1) {
+ // Fix possible illegal modifier string
+ int stateMask = fOverlayStore.getInt(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK);
+ if (stateMask == -1)
+ fBrowserLikeLinksKeyModifierText.setText(""); //$NON-NLS-1$
+ else
+ fBrowserLikeLinksKeyModifierText.setText(EditorUtility.getModifierString(stateMask));
+ }
+ fBrowserLikeLinksKeyModifierText.addKeyListener(new KeyListener() {
+ private boolean isModifierCandidate;
+
+ public void keyPressed(KeyEvent e) {
+ isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0;
+ }
+
+ public void keyReleased(KeyEvent e) {
+ if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) {
+ String modifierString = fBrowserLikeLinksKeyModifierText.getText();
+ Point selection = fBrowserLikeLinksKeyModifierText.getSelection();
+ int i = selection.x - 1;
+ while (i > -1 && Character.isWhitespace(modifierString.charAt(i))) {
+ i--;
+ }
+ boolean needsPrefixDelimiter = i > -1 && !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
+
+ i = selection.y;
+ while (i < modifierString.length() && Character.isWhitespace(modifierString.charAt(i))) {
+ i++;
+ }
+ boolean needsPostfixDelimiter = i < modifierString.length()
+ && !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
+
+ String insertString;
+
+ if (needsPrefixDelimiter && needsPostfixDelimiter)
+ insertString = PreferencesMessages.getFormattedString(
+ "JavaEditorPreferencePage.navigation.insertDelimiterAndModifierAndDelimiter", new String[] { Action
+ .findModifierString(e.stateMask) }); //$NON-NLS-1$
+ else if (needsPrefixDelimiter)
+ insertString = PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertDelimiterAndModifier",
+ new String[] { Action.findModifierString(e.stateMask) }); //$NON-NLS-1$
+ else if (needsPostfixDelimiter)
+ insertString = PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertModifierAndDelimiter",
+ new String[] { Action.findModifierString(e.stateMask) }); //$NON-NLS-1$
+ else
+ insertString = Action.findModifierString(e.stateMask);
+
+ fBrowserLikeLinksKeyModifierText.insert(insertString);
+ }
+ }
+ });
+
+ fBrowserLikeLinksKeyModifierText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ handleBrowserLikeLinksKeyModifierModified();
+ }
+ });
return composite;
}
private void handleBrowserLikeLinksKeyModifierModified() {
- // String modifiers= fBrowserLikeLinksKeyModifierText.getText();
- // int stateMask= computeStateMask(modifiers);
- // if (fBrowserLikeLinksCheckBox.getSelection() && (stateMask == -1 ||
- // (stateMask & SWT.SHIFT) != 0)) {
- // if (stateMask == -1)
- // fBrowserLikeLinksKeyModifierStatus= new StatusInfo(IStatus.ERROR,
- // PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.modifierIsNotValid",
- // modifiers)); //$NON-NLS-1$
- // else
- // fBrowserLikeLinksKeyModifierStatus= new StatusInfo(IStatus.ERROR,
- // PreferencesMessages.getString("JavaEditorPreferencePage.navigation.shiftIsDisabled"));
- // //$NON-NLS-1$
- // setValid(false);
- // StatusUtil.applyToStatusLine(this, fBrowserLikeLinksKeyModifierStatus);
- // } else {
- // fBrowserLikeLinksKeyModifierStatus= new StatusInfo();
- // updateStatus(fBrowserLikeLinksKeyModifierStatus);
- // }
+ String modifiers = fBrowserLikeLinksKeyModifierText.getText();
+ int stateMask = computeStateMask(modifiers);
+ if (fBrowserLikeLinksCheckBox.getSelection() && (stateMask == -1 || (stateMask & SWT.SHIFT) != 0)) {
+ if (stateMask == -1)
+ fBrowserLikeLinksKeyModifierStatus = new StatusInfo(IStatus.ERROR, PreferencesMessages.getFormattedString(
+ "JavaEditorPreferencePage.navigation.modifierIsNotValid", modifiers)); //$NON-NLS-1$
+ else
+ fBrowserLikeLinksKeyModifierStatus = new StatusInfo(IStatus.ERROR, PreferencesMessages
+ .getString("JavaEditorPreferencePage.navigation.shiftIsDisabled"));
+ //$NON-NLS-1$
+ setValid(false);
+ StatusUtil.applyToStatusLine(this, fBrowserLikeLinksKeyModifierStatus);
+ } else {
+ fBrowserLikeLinksKeyModifierStatus = new StatusInfo();
+ updateStatus(fBrowserLikeLinksKeyModifierStatus);
+ }
+ }
+
+ private IStatus getBrowserLikeLinksKeyModifierStatus() {
+ if (fBrowserLikeLinksKeyModifierStatus == null)
+ fBrowserLikeLinksKeyModifierStatus = new StatusInfo();
+ return fBrowserLikeLinksKeyModifierStatus;
}
- // private IStatus getBrowserLikeLinksKeyModifierStatus() {
- // if (fBrowserLikeLinksKeyModifierStatus == null)
- // fBrowserLikeLinksKeyModifierStatus= new StatusInfo();
- // return fBrowserLikeLinksKeyModifierStatus;
- // }
/**
* Computes the state mask for the given modifier string.
*
//$NON-NLS-1$
fJavaEditorHoverConfigurationBlock = new JavaEditorHoverConfigurationBlock(this, fOverlayStore);
item.setControl(fJavaEditorHoverConfigurationBlock.createControl(folder));
- // item= new TabItem(folder, SWT.NONE);
- // item.setText(PreferencesMessages.getString("JavaEditorPreferencePage.navigationTab.title"));
+ item = new TabItem(folder, SWT.NONE);
+ item.setText(PreferencesMessages.getString("JavaEditorPreferencePage.navigationTab.title"));
// //$NON-NLS-1$
- // item.setControl(createNavigationPage(folder));
+ item.setControl(createNavigationPage(folder));
item = new TabItem(folder, SWT.NONE);
item.setText(PreferencesMessages.getString("JavaEditorPreferencePage.folding.title")); //$NON-NLS-1$
item.setControl(fFoldingConfigurationBlock.createControl(folder));
fBackgroundDefaultRadioButton.setSelection(default_);
fBackgroundCustomRadioButton.setSelection(!default_);
fBackgroundColorButton.setEnabled(!default_);
- // boolean closeJavaDocs = fOverlayStore
- // .getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS);
- // fAddJavaDocTagsButton.setEnabled(closeJavaDocs);
- fEscapeStringsButton.setEnabled(fOverlayStore.getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS));
+ boolean closeJavaDocs = fOverlayStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS);
+ // fAddJavaDocTagsButton.setEnabled(closeJavaDocs);
+ fEscapeStringsButtonDQ.setEnabled(fOverlayStore.getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS_DQ));
+ fEscapeStringsButtonSQ.setEnabled(fOverlayStore.getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS_SQ));
// boolean fillMethodArguments=
// fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES);
// fGuessMethodArgumentsButton.setEnabled(fillMethodArguments);
// fCompletionInsertsRadioButton.setSelection(completionInserts);
// fCompletionOverwritesRadioButton.setSelection(! completionInserts);
//
- // fBrowserLikeLinksKeyModifierText.setEnabled(fBrowserLikeLinksCheckBox.getSelection());
+ fBrowserLikeLinksKeyModifierText.setEnabled(fBrowserLikeLinksCheckBox.getSelection());
// boolean markOccurrences=
// fOverlayStore.getBoolean(PreferenceConstants.EDITOR_MARK_OCCURRENCES);
// fStickyOccurrencesButton.setEnabled(markOccurrences);
public boolean performOk() {
// fJavaEditorHoverConfigurationBlock.performOk();
fFoldingConfigurationBlock.performOk();
- // fOverlayStore.setValue(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK,
- // computeStateMask(fBrowserLikeLinksKeyModifierText.getText()));
+ fOverlayStore.setValue(PreferenceConstants.EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK,
+ computeStateMask(fBrowserLikeLinksKeyModifierText.getText()));
fOverlayStore.propagate();
PHPeclipsePlugin.getDefault().savePluginPreferences();
return true;