1) Moved net.sourceforge.phpeclipse.ui\src\net\sourceforge\phpdt back to net.sourcefo...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / preferences / JavaEditorPreferencePage.java
index bfe24b5..f6e9da8 100644 (file)
@@ -13,15 +13,15 @@ package net.sourceforge.phpdt.internal.ui.preferences;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
-import java.text.Collator;
+//import java.text.Collator;
 import java.util.ArrayList;
-import java.util.Comparator;
+//import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.SortedSet;
+//import java.util.SortedSet;
 import java.util.StringTokenizer;
-import java.util.TreeSet;
+//import java.util.TreeSet;
 
 import net.sourceforge.phpdt.core.JavaCore;
 import net.sourceforge.phpdt.internal.ui.IJavaHelpContextIds;
@@ -64,24 +64,29 @@ import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.layout.RowLayout;
 import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
+//import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Link;
 import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.TabFolder;
 import org.eclipse.swt.widgets.TabItem;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.PreferencesUtil;
 import org.eclipse.ui.editors.text.EditorsUI;
 import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
 import org.eclipse.ui.texteditor.AnnotationPreference;
 import org.eclipse.ui.texteditor.ChainedPreferenceStore;
 import org.eclipse.ui.texteditor.MarkerAnnotationPreferences;
 
+
 /**
  * The page for setting the editor options.
  */
@@ -185,11 +190,6 @@ public class JavaEditorPreferencePage extends PreferencePage implements
        private final String[][] fAppearanceColorListModel = new String[][] {
                        {
                                        PreferencesMessages
-                                                       .getString("JavaEditorPreferencePage.lineNumberForegroundColor"),
-                                       AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR },
-                       //$NON-NLS-1$
-                       {
-                                       PreferencesMessages
                                                        .getString("JavaEditorPreferencePage.matchingBracketsHighlightColor2"),
                                        PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR },
                        //$NON-NLS-1$
@@ -287,15 +287,15 @@ public class JavaEditorPreferencePage extends PreferencePage implements
        private List fAppearanceColorList;
 
        // private List fContentAssistColorList;
-       private List fAnnotationList;
+       //private List fAnnotationList;
 
        private ColorEditor fSyntaxForegroundColorEditor;
 
        private ColorEditor fAppearanceColorEditor;
 
-       private ColorEditor fAnnotationForegroundColorEditor;
+       //private ColorEditor fAnnotationForegroundColorEditor;
 
-       private ColorEditor fContentAssistColorEditor;
+       //private ColorEditor fContentAssistColorEditor;
 
        private ColorEditor fBackgroundColorEditor;
 
@@ -318,27 +318,27 @@ public class JavaEditorPreferencePage extends PreferencePage implements
 
        private Color fBackgroundColor;
 
-       private Control fAutoInsertDelayText;
+       //private Control fAutoInsertDelayText;
 
-       private Control fAutoInsertJavaTriggerText;
+       //private Control fAutoInsertJavaTriggerText;
 
-       private Control fAutoInsertJavaDocTriggerText;
+       //private Control fAutoInsertJavaDocTriggerText;
 
-       private Label fAutoInsertDelayLabel;
+       //private Label fAutoInsertDelayLabel;
 
-       private Label fAutoInsertJavaTriggerLabel;
+       //private Label fAutoInsertJavaTriggerLabel;
 
-       private Label fAutoInsertJavaDocTriggerLabel;
+       //private Label fAutoInsertJavaDocTriggerLabel;
 
-       private Button fShowInTextCheckBox;
+       //private Button;
 
-       private Combo fDecorationStyleCombo;
+       //private Combo fDecorationStyleCombo;
 
-       private Button fHighlightInTextCheckBox;
+       //private Button fHighlightInTextCheckBox;
 
-       private Button fShowInOverviewRulerCheckBox;
+       //private Button fShowInOverviewRulerCheckBox;
 
-       private Button fShowInVerticalRulerCheckBox;
+       //private Button fShowInVerticalRulerCheckBox;
 
        private Text fBrowserLikeLinksKeyModifierText;
 
@@ -558,14 +558,6 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                                .add(new OverlayPreferenceStore.OverlayKey(
                                                OverlayPreferenceStore.BOOLEAN,
                                                AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER));
-               overlayKeys
-                               .add(new OverlayPreferenceStore.OverlayKey(
-                                               OverlayPreferenceStore.STRING,
-                                               AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR));
-               overlayKeys
-                               .add(new OverlayPreferenceStore.OverlayKey(
-                                               OverlayPreferenceStore.BOOLEAN,
-                                               AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER));
                overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
                                OverlayPreferenceStore.BOOLEAN,
                                PreferenceConstants.EDITOR_SPACES_FOR_TABS));
@@ -665,9 +657,6 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                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,
@@ -987,7 +976,28 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                GridLayout layout = new GridLayout();
                layout.numColumns = 2;
                appearanceComposite.setLayout(layout);
+               
+               // Inserts a hyper-link to the General Editor preferences page
+               // TODO Can probably be removed post 1.5.0?
                String label = PreferencesMessages
+                               .getString("JavaEditorPreferencePage.appearanceTabLink");
+               Link link = new Link(appearanceComposite, SWT.NONE);
+               GridData gridPosition = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+               gridPosition.horizontalSpan = 2;
+               link.setLayoutData(gridPosition);
+               
+               link.setText(label);
+               link.addListener(SWT.Selection, new Listener () {
+                       public void handleEvent(Event event) {
+                               String u = event.text;
+                               PreferencesUtil.createPreferenceDialogOn(getShell(), u, null, null);
+                       }
+               });
+               String tooltip = PreferencesMessages
+                               .getString("JavaEditorPreferencePage.appearanceTabTooltip");
+               link.setToolTipText(tooltip);           
+                       
+               label = PreferencesMessages
                                .getString("JavaEditorPreferencePage.displayedTabWidth"); //$NON-NLS-1$
                addTextField(appearanceComposite, label,
                                PreferenceConstants.EDITOR_TAB_WIDTH, 3, 0, true);
@@ -1006,13 +1016,6 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                                AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER,
                                0);
                label = PreferencesMessages
-                               .getString("JavaEditorPreferencePage.showLineNumbers"); //$NON-NLS-1$
-               addCheckBox(
-                               appearanceComposite,
-                               label,
-                               AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER,
-                               0);
-               label = PreferencesMessages
                                .getString("JavaEditorPreferencePage.highlightMatchingBrackets"); //$NON-NLS-1$
                addCheckBox(appearanceComposite, label,
                                PreferenceConstants.EDITOR_MATCHING_BRACKETS, 0);
@@ -1297,40 +1300,40 @@ public class JavaEditorPreferencePage extends PreferencePage implements
        // });
        // return composite;
        // }
-       private String[][] createAnnotationTypeListModel(
-                       MarkerAnnotationPreferences preferences) {
-               ArrayList listModelItems = new ArrayList();
-               SortedSet sortedPreferences = new TreeSet(new Comparator() {
-                       /*
-                        * @see java.util.Comparator#compare(java.lang.Object,
-                        *      java.lang.Object)
-                        */
-                       public int compare(Object o1, Object o2) {
-                               if (!(o2 instanceof AnnotationPreference))
-                                       return -1;
-                               if (!(o1 instanceof AnnotationPreference))
-                                       return 1;
-                               AnnotationPreference a1 = (AnnotationPreference) o1;
-                               AnnotationPreference a2 = (AnnotationPreference) o2;
-                               return Collator.getInstance().compare(a1.getPreferenceLabel(),
-                                               a2.getPreferenceLabel());
-                       }
-               });
-               sortedPreferences.addAll(preferences.getAnnotationPreferences());
-               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(),
-                                       info.getTextStylePreferenceKey() });
-               }
-               String[][] items = new String[listModelItems.size()][];
-               listModelItems.toArray(items);
-               return items;
-       }
+//     private String[][] createAnnotationTypeListModel(
+//                     MarkerAnnotationPreferences preferences) {
+//             ArrayList listModelItems = new ArrayList();
+//             SortedSet sortedPreferences = new TreeSet(new Comparator() {
+//                     /*
+//                      * @see java.util.Comparator#compare(java.lang.Object,
+//                      *      java.lang.Object)
+//                      */
+//                     public int compare(Object o1, Object o2) {
+//                             if (!(o2 instanceof AnnotationPreference))
+//                                     return -1;
+//                             if (!(o1 instanceof AnnotationPreference))
+//                                     return 1;
+//                             AnnotationPreference a1 = (AnnotationPreference) o1;
+//                             AnnotationPreference a2 = (AnnotationPreference) o2;
+//                             return Collator.getInstance().compare(a1.getPreferenceLabel(),
+//                                             a2.getPreferenceLabel());
+//                     }
+//             });
+//             sortedPreferences.addAll(preferences.getAnnotationPreferences());
+//             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(),
+//                                     info.getTextStylePreferenceKey() });
+//             }
+//             String[][] items = new String[listModelItems.size()][];
+//             listModelItems.toArray(items);
+//             return items;
+//     }
 
        private Control createTypingPage(Composite parent) {
                Composite composite = new Composite(parent, SWT.NONE);
@@ -1381,7 +1384,8 @@ public class JavaEditorPreferencePage extends PreferencePage implements
 
                label = PreferencesMessages
                                .getString("JavaEditorPreferencePage.wrapStringsSQ");//$NON-NLS-1$
-               addCheckBox(group, label, PreferenceConstants.EDITOR_WRAP_STRINGS_SQ, 1);
+               button = addCheckBox(group, label,
+                               PreferenceConstants.EDITOR_WRAP_STRINGS_SQ, 1);
 
                label = PreferencesMessages
                                .getString("JavaEditorPreferencePage.escapeStringsSQ");
@@ -1434,9 +1438,6 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                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");
@@ -1447,13 +1448,13 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                return composite;
        }
 
-       private void addFiller(Composite composite) {
-               Label filler = new Label(composite, SWT.LEFT);
-               GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-               gd.horizontalSpan = 2;
-               gd.heightHint = convertHeightInCharsToPixels(1) / 2;
-               filler.setLayoutData(gd);
-       }
+//     private void addFiller(Composite composite) {
+//             Label filler = new Label(composite, SWT.LEFT);
+//             GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+//             gd.horizontalSpan = 2;
+//             gd.heightHint = convertHeightInCharsToPixels(1) / 2;
+//             filler.setLayoutData(gd);
+//     }
 
        private static void indent(Control control) {
                GridData gridData = new GridData();
@@ -1474,40 +1475,40 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                });
        }
 
-       private void addCompletionRadioButtons(Composite contentAssistComposite) {
-               Composite completionComposite = new Composite(contentAssistComposite,
-                               SWT.NONE);
-               GridData ccgd = new GridData();
-               ccgd.horizontalSpan = 2;
-               completionComposite.setLayoutData(ccgd);
-               GridLayout ccgl = new GridLayout();
-               ccgl.marginWidth = 0;
-               ccgl.numColumns = 2;
-               completionComposite.setLayout(ccgl);
-               // SelectionListener completionSelectionListener= new SelectionAdapter()
-               // {
-               // public void widgetSelected(SelectionEvent e) {
-               // boolean insert= fCompletionInsertsRadioButton.getSelection();
-               // fOverlayStore.setValue(PreferenceConstants.CODEASSIST_INSERT_COMPLETION,
-               // insert);
-               // }
-               // };
-               //
-               // fCompletionInsertsRadioButton= new Button(completionComposite,
-               // SWT.RADIO
-               // | SWT.LEFT);
-               // fCompletionInsertsRadioButton.setText(PreferencesMessages.getString("JavaEditorPreferencePage.completionInserts"));
-               // //$NON-NLS-1$
-               // fCompletionInsertsRadioButton.setLayoutData(new GridData());
-               // fCompletionInsertsRadioButton.addSelectionListener(completionSelectionListener);
-               //
-               // fCompletionOverwritesRadioButton= new Button(completionComposite,
-               // SWT.RADIO | SWT.LEFT);
-               // fCompletionOverwritesRadioButton.setText(PreferencesMessages.getString("JavaEditorPreferencePage.completionOverwrites"));
-               // //$NON-NLS-1$
-               // fCompletionOverwritesRadioButton.setLayoutData(new GridData());
-               // fCompletionOverwritesRadioButton.addSelectionListener(completionSelectionListener);
-       }
+//     private void addCompletionRadioButtons(Composite contentAssistComposite) {
+//             Composite completionComposite = new Composite(contentAssistComposite,
+//                             SWT.NONE);
+//             GridData ccgd = new GridData();
+//             ccgd.horizontalSpan = 2;
+//             completionComposite.setLayoutData(ccgd);
+//             GridLayout ccgl = new GridLayout();
+//             ccgl.marginWidth = 0;
+//             ccgl.numColumns = 2;
+//             completionComposite.setLayout(ccgl);
+//             // SelectionListener completionSelectionListener= new SelectionAdapter()
+//             // {
+//             // public void widgetSelected(SelectionEvent e) {
+//             // boolean insert= fCompletionInsertsRadioButton.getSelection();
+//             // fOverlayStore.setValue(PreferenceConstants.CODEASSIST_INSERT_COMPLETION,
+//             // insert);
+//             // }
+//             // };
+//             //
+//             // fCompletionInsertsRadioButton= new Button(completionComposite,
+//             // SWT.RADIO
+//             // | SWT.LEFT);
+//             // fCompletionInsertsRadioButton.setText(PreferencesMessages.getString("JavaEditorPreferencePage.completionInserts"));
+//             // //$NON-NLS-1$
+//             // fCompletionInsertsRadioButton.setLayoutData(new GridData());
+//             // fCompletionInsertsRadioButton.addSelectionListener(completionSelectionListener);
+//             //
+//             // fCompletionOverwritesRadioButton= new Button(completionComposite,
+//             // SWT.RADIO | SWT.LEFT);
+//             // fCompletionOverwritesRadioButton.setText(PreferencesMessages.getString("JavaEditorPreferencePage.completionOverwrites"));
+//             // //$NON-NLS-1$
+//             // fCompletionOverwritesRadioButton.setLayoutData(new GridData());
+//             // fCompletionOverwritesRadioButton.addSelectionListener(completionSelectionListener);
+//     }
 
        private Control createNavigationPage(Composite parent) {
                Composite composite = new Composite(parent, SWT.NULL);
@@ -1650,11 +1651,11 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                }
        }
 
-       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.
@@ -1812,8 +1813,8 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                fBackgroundDefaultRadioButton.setSelection(default_);
                fBackgroundCustomRadioButton.setSelection(!default_);
                fBackgroundColorButton.setEnabled(!default_);
-               boolean closeJavaDocs = fOverlayStore
-                               .getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS);
+//             boolean closeJavaDocs = fOverlayStore
+//                             .getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS);
                // fAddJavaDocTagsButton.setEnabled(closeJavaDocs);
                fEscapeStringsButtonDQ.setEnabled(fOverlayStore
                                .getBoolean(PreferenceConstants.EDITOR_WRAP_STRINGS_DQ));
@@ -1938,9 +1939,9 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                                textLimit, indentation, isNumber));
        }
 
-       private static Label getLabelControl(Control[] labelledTextField) {
-               return (Label) labelledTextField[0];
-       }
+//     private static Label getLabelControl(Control[] labelledTextField) {
+//             return (Label) labelledTextField[0];
+//     }
 
        private static Text getTextControl(Control[] labelledTextField) {
                return (Text) labelledTextField[1];
@@ -1967,6 +1968,7 @@ public class JavaEditorPreferencePage extends PreferencePage implements
                fTextFields.put(textControl, key);
                if (isNumber) {
                        fNumberFields.add(textControl);
+                       textControl.setText("0");
                        textControl.addModifyListener(fNumberFieldListener);
                } else {
                        textControl.addModifyListener(fTextFieldListener);