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"),
- // 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"), PreferenceConstants.EDITOR_STRING_COLOR },
//$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"),
- PreferenceConstants.EDITOR_PHP_KEYWORD_RETURN_COLOR },
+ 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[][] {
// 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_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_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));
+ .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_SMART_HOME_END));
overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
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);
- fPreviewViewer.setEditable(false);
+ 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();
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.escapeStrings");
- //$NON-NLS-1$
- fEscapeStringsButton = addCheckBox(group, label, PreferenceConstants.EDITOR_ESCAPE_STRINGS, 1);
- createDependency(button, fEscapeStringsButton);
+ 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.wrapStringsSQ");//$NON-NLS-1$
+ addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_STRINGS_SQ, 1);
+
+ label = PreferencesMessages.getString("JavaEditorPreferencePage.escapeStringsSQ");
+ //$NON-NLS-1$
+ fEscapeStringsButtonSQ = addCheckBox(group, label, PreferenceConstants.EDITOR_ESCAPE_STRINGS_SQ, 1);
+ createDependency(button, fEscapeStringsButtonSQ);
+
label = PreferencesMessages.getString("JavaEditorPreferencePage.smartPaste");
//$NON-NLS-1$
addCheckBox(group, label, PreferenceConstants.EDITOR_SMART_PASTE, 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.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;