X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/JavaEditorPreferencePage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/JavaEditorPreferencePage.java index 261ba23..42c40a9 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/JavaEditorPreferencePage.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/JavaEditorPreferencePage.java @@ -40,6 +40,7 @@ import net.sourceforge.phpeclipse.preferences.ColorEditor; 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; @@ -49,11 +50,15 @@ import org.eclipse.jface.text.Document; 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; @@ -91,83 +96,60 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben public final OverlayPreferenceStore.OverlayKey[] fKeys; private final String[][] fSyntaxColorListModel = new String[][] { - // { - // PreferencesMessages.getString("JavaEditorPreferencePage.multiLineComment"), - // PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR }, //$NON-NLS-1$ - // { - // PreferencesMessages.getString("JavaEditorPreferencePage.singleLineComment"), - // PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR }, //$NON-NLS-1$ - // { PreferencesMessages.getString("JavaEditorPreferencePage.keywords"), - // PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR }, //$NON-NLS-1$ - // { PreferencesMessages.getString("JavaEditorPreferencePage.strings"), - // PreferenceConstants.EDITOR_STRING_COLOR }, //$NON-NLS-1$ - // { - // PreferencesMessages.getString("JavaEditorPreferencePage.methodNames"), - // PreferenceConstants.EDITOR_JAVA_METHOD_NAME_COLOR }, //$NON-NLS-1$ - // { PreferencesMessages.getString("JavaEditorPreferencePage.operators"), - // PreferenceConstants.EDITOR_JAVA_OPERATOR_COLOR }, //$NON-NLS-1$ - // { PreferencesMessages.getString("JavaEditorPreferencePage.others"), - // PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR }, //$NON-NLS-1$ - // { - // PreferencesMessages.getString("JavaEditorPreferencePage.javaCommentTaskTags"), - // PreferenceConstants.EDITOR_TASK_TAG_COLOR }, //$NON-NLS-1$ - // { - // PreferencesMessages.getString("JavaEditorPreferencePage.javaDocKeywords"), - // PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR }, //$NON-NLS-1$ - // { - // PreferencesMessages.getString("JavaEditorPreferencePage.javaDocHtmlTags"), - // PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR }, //$NON-NLS-1$ - // { - // PreferencesMessages.getString("JavaEditorPreferencePage.javaDocLinks"), - // PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR }, //$NON-NLS-1$ - // { - // PreferencesMessages.getString("JavaEditorPreferencePage.javaDocOthers"), - // PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR } //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.multiLineComment"), + { + PreferencesMessages.getString("JavaEditorPreferencePage.multiLineComment"), PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.singleLineComment"), + { + PreferencesMessages.getString("JavaEditorPreferencePage.singleLineComment"), PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.tags"), PreferenceConstants.EDITOR_PHP_TAG_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.tags"), PreferenceConstants.EDITOR_PHP_TAG_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.keywords"), PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR }, - { PreferencesMessages.getString("PHPEditorPreferencePage.functionNames"), PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.keywords"), PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.functionNames"), PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.variables"), PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.variables"), PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.constants"), PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.constants"), PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.types"), PreferenceConstants.EDITOR_PHP_TYPE_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.types"), PreferenceConstants.EDITOR_PHP_TYPE_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.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("PHPEditorPreferencePage.others"), PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR }, //$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("PHPEditorPreferencePage.phpDocKeywords"), PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.phpDocKeywords"), PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.phpDocHtmlTags"), PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.phpDocHtmlTags"), PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.phpDocLinks"), PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR }, + { PreferencesMessages.getString("JavaEditorPreferencePage.phpDocLinks"), PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR }, //$NON-NLS-1$ - { PreferencesMessages.getString("PHPEditorPreferencePage.phpDocOthers"), PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR } //$NON-NLS-1$ + { PreferencesMessages.getString("JavaEditorPreferencePage.phpDocOthers"), PreferenceConstants.EDITOR_JAVADOC_DEFAULT_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 }, @@ -269,7 +251,9 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben // private Button fAddJavaDocTagsButton; - private Button fEscapeStringsButton; + private Button fEscapeStringsButtonDQ; + + private Button fEscapeStringsButtonSQ; // private Button fGuessMethodArgumentsButton; private SourceViewer fPreviewViewer; @@ -298,9 +282,12 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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; @@ -361,8 +348,14 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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, @@ -372,7 +365,7 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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, @@ -386,6 +379,10 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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)); @@ -483,14 +480,25 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben // .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, @@ -724,20 +732,25 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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); - - fPreviewViewer.configure(new PHPSourceViewerConfiguration(fJavaTextTools, null, IPHPPartitions.PHP_PARTITIONING)); - // Font font= JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT); - // fPreviewViewer.getTextWidget().setFont(font); - fPreviewViewer.getTextWidget().setFont(JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT)); - // new JavaSourcePreviewerUpdater(fPreviewViewer, fJavaTextTools); + 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); + new JavaSourcePreviewerUpdater(fPreviewViewer, configuration, store); fPreviewViewer.setEditable(false); String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$ IDocument document = new Document(content); - // fJavaTextTools.setupJavaDocumentPartitioner(document, ".php", null); //IJavaPartitions.JAVA_PARTITIONING); fJavaTextTools.setupJavaDocumentPartitioner(document, IPHPPartitions.PHP_PARTITIONING); fPreviewViewer.setDocument(document); return fPreviewViewer.getControl(); @@ -1044,8 +1057,13 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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()][]; @@ -1083,14 +1101,23 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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$ @@ -1116,11 +1143,15 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben // //$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"); @@ -1194,124 +1225,111 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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. * @@ -1368,10 +1386,10 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben //$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)); @@ -1453,10 +1471,10 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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); @@ -1465,7 +1483,7 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben // 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); @@ -1503,8 +1521,8 @@ public class JavaEditorPreferencePage extends PreferencePage implements IWorkben 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;