From: khartlage Date: Tue, 8 Apr 2003 19:16:53 +0000 (+0000) Subject: Added auto activation for HTML characters (i.e. <&#) in the Preference Page X-Git-Url: http://secure.phpeclipse.com Added auto activation for HTML characters (i.e. <&#) in the Preference Page --- diff --git a/net.sourceforge.phpeclipse/plugin.xml b/net.sourceforge.phpeclipse/plugin.xml index e812fad..89e8568 100644 --- a/net.sourceforge.phpeclipse/plugin.xml +++ b/net.sourceforge.phpeclipse/plugin.xml @@ -537,12 +537,12 @@ Temporarily replaced until errors can be ironed out... class="net.sourceforge.phpeclipse.PHPEclipseBasePreferencePage" id="net.sourceforge.phpeclipse.preference.PHPEclipsePreferencePage"> - - + --> null if there is no such information available. - */ - private Color createColor(IPreferenceStore store, String key, Display display) { - - RGB rgb= null; - - if (store.contains(key)) { - - if (store.isDefault(key)) - rgb= PreferenceConverter.getDefaultColor(store, key); - else - rgb= PreferenceConverter.getColor(store, key); - - if (rgb != null) - return new Color(display, rgb); - } - - return null; - } - - // sets enabled flag for a control and all its sub-tree - private static void setEnabled(Control control, boolean enable) { - control.setEnabled(enable); - if (control instanceof Composite) { - Composite composite= (Composite) control; - Control[] children= composite.getChildren(); - for (int i= 0; i < children.length; i++) - setEnabled(children[i], enable); - } - } - - private Control createAppearancePage(Composite parent) { - - Composite appearanceComposite= new Composite(parent, SWT.NONE); - GridLayout layout= new GridLayout(); layout.numColumns= 2; - appearanceComposite.setLayout(layout); - - String label= PHPUIMessages.getString("PHPEditorPreferencePage.textFont"); //$NON-NLS-1$ - addTextFontEditor(appearanceComposite, label, AbstractTextEditor.PREFERENCE_FONT); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.displayedTabWidth"); //$NON-NLS-1$ - addTextField(appearanceComposite, label, PreferenceConstants.EDITOR_TAB_WIDTH, 3, 0, true); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.printMarginColumn"); //$NON-NLS-1$ - addTextField(appearanceComposite, label, PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 3, 0, true); - - // label= PHPUIMessages.getString("PHPEditorPreferencePage.synchronizeOnCursor"); //$NON-NLS-1$ - // addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.showOverviewRuler"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_OVERVIEW_RULER, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.showLineNumbers"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_LINE_NUMBER_RULER, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.highlightMatchingBrackets"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_MATCHING_BRACKETS, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.highlightCurrentLine"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_CURRENT_LINE, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.showPrintMargin"); //$NON-NLS-1$ - addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_PRINT_MARGIN, 0); - - - Label l= new Label(appearanceComposite, SWT.LEFT ); - GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gd.horizontalSpan= 2; - gd.heightHint= convertHeightInCharsToPixels(1) / 2; - l.setLayoutData(gd); - - l= new Label(appearanceComposite, SWT.LEFT); - l.setText(PHPUIMessages.getString("PHPEditorPreferencePage.appearanceOptions")); //$NON-NLS-1$ - gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gd.horizontalSpan= 2; - l.setLayoutData(gd); - - Composite editorComposite= new Composite(appearanceComposite, SWT.NONE); - layout= new GridLayout(); - layout.numColumns= 2; - layout.marginHeight= 0; - layout.marginWidth= 0; - editorComposite.setLayout(layout); - gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL); - gd.horizontalSpan= 2; - editorComposite.setLayoutData(gd); - - fAppearanceColorList= new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); - gd= new GridData(GridData.FILL_BOTH); - gd.heightHint= convertHeightInCharsToPixels(5); - fAppearanceColorList.setLayoutData(gd); - - Composite stylesComposite= new Composite(editorComposite, SWT.NONE); - layout= new GridLayout(); - layout.marginHeight= 0; - layout.marginWidth= 0; - layout.numColumns= 2; - stylesComposite.setLayout(layout); - stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); - - l= new Label(stylesComposite, SWT.LEFT); - l.setText(PHPUIMessages.getString("PHPEditorPreferencePage.color")); //$NON-NLS-1$ - gd= new GridData(); - gd.horizontalAlignment= GridData.BEGINNING; - l.setLayoutData(gd); - - fAppearanceForegroundColorEditor= new ColorEditor(stylesComposite); - Button foregroundColorButton= fAppearanceForegroundColorEditor.getButton(); - gd= new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalAlignment= GridData.BEGINNING; - foregroundColorButton.setLayoutData(gd); - - fAppearanceColorList.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - public void widgetSelected(SelectionEvent e) { - handleAppearanceColorListSelection(); - } - }); - foregroundColorButton.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - public void widgetSelected(SelectionEvent e) { - int i= fAppearanceColorList.getSelectionIndex(); - String key= fAppearanceColorListModel[i][1]; - - PreferenceConverter.setValue(fOverlayStore, key, fAppearanceForegroundColorEditor.getColorValue()); - } - }); - return appearanceComposite; - } - - - private Control createProblemIndicationPage(Composite parent) { - Composite composite= new Composite(parent, SWT.NULL); - GridLayout layout= new GridLayout(); layout.numColumns= 2; - composite.setLayout(layout); - - String text= "Analyse &problems while typing"; - addCheckBox(composite, text, PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, 0); - - text= PHPUIMessages.getString("PHPEditorPreferencePage.showQuickFixables"); //$NON-NLS-1$ - addCheckBox(composite, text, PreferenceConstants.EDITOR_CORRECTION_INDICATION, 0); - - Label label= new Label(composite, SWT.LEFT ); - GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gd.horizontalSpan= 2; - gd.heightHint= convertHeightInCharsToPixels(1) / 2; - label.setLayoutData(gd); - - label= new Label(composite, SWT.LEFT); - label.setText("&Marker presentation options:"); - gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gd.horizontalSpan= 2; - label.setLayoutData(gd); - - Composite editorComposite= new Composite(composite, SWT.NONE); - layout= new GridLayout(); - layout.numColumns= 2; - layout.marginHeight= 0; - layout.marginWidth= 0; - editorComposite.setLayout(layout); - gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL); - gd.horizontalSpan= 2; - editorComposite.setLayoutData(gd); - - fProblemIndicationList= new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); - gd= new GridData(GridData.FILL_BOTH); - gd.heightHint= convertHeightInCharsToPixels(5); - fProblemIndicationList.setLayoutData(gd); - - Composite optionsComposite= new Composite(editorComposite, SWT.NONE); - layout= new GridLayout(); - layout.marginHeight= 0; - layout.marginWidth= 0; - layout.numColumns= 2; - optionsComposite.setLayout(layout); - optionsComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); - - fShowInTextCheckBox= new Button(optionsComposite, SWT.CHECK); - fShowInTextCheckBox.setText("Show in &text"); - gd= new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalAlignment= GridData.BEGINNING; - gd.horizontalSpan= 2; - fShowInTextCheckBox.setLayoutData(gd); - - fShowInOverviewRulerCheckBox= new Button(optionsComposite, SWT.CHECK); - fShowInOverviewRulerCheckBox.setText("Show in overview &ruler"); - gd= new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalAlignment= GridData.BEGINNING; - gd.horizontalSpan= 2; - fShowInOverviewRulerCheckBox.setLayoutData(gd); - - label= new Label(optionsComposite, SWT.LEFT); - label.setText("C&olor:"); - gd= new GridData(); - gd.horizontalAlignment= GridData.BEGINNING; - label.setLayoutData(gd); - - fProblemIndicationForegroundColorEditor= new ColorEditor(optionsComposite); - Button foregroundColorButton= fProblemIndicationForegroundColorEditor.getButton(); - gd= new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalAlignment= GridData.BEGINNING; - foregroundColorButton.setLayoutData(gd); - - fProblemIndicationList.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - - public void widgetSelected(SelectionEvent e) { - handleProblemIndicationColorListSelection(); - } - }); - - fShowInTextCheckBox.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - - public void widgetSelected(SelectionEvent e) { - int i= fProblemIndicationList.getSelectionIndex(); - String key= fProblemIndicationColorListModel[i][2]; - fOverlayStore.setValue(key, fShowInTextCheckBox.getSelection()); - } - }); - - fShowInOverviewRulerCheckBox.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - - public void widgetSelected(SelectionEvent e) { - int i= fProblemIndicationList.getSelectionIndex(); - String key= fProblemIndicationColorListModel[i][3]; - fOverlayStore.setValue(key, fShowInOverviewRulerCheckBox.getSelection()); - } - }); - - foregroundColorButton.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - // do nothing - } - - public void widgetSelected(SelectionEvent e) { - int i= fProblemIndicationList.getSelectionIndex(); - String key= fProblemIndicationColorListModel[i][1]; - PreferenceConverter.setValue(fOverlayStore, key, fProblemIndicationForegroundColorEditor.getColorValue()); - } - }); - - return composite; - } - -// private Control createBehaviourPage(Composite parent) { -// Composite composite= new Composite(parent, SWT.NULL); -// GridLayout layout= new GridLayout(); layout.numColumns= 2; -// composite.setLayout(layout); -// -// String label= PHPUIMessages.getString("PHPEditorPreferencePage.wrapStrings"); //$NON-NLS-1$ -// addCheckBox(composite, label, PreferenceConstants.EDITOR_WRAP_STRINGS, 1); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.smartHomeEnd"); //$NON-NLS-1$ -// addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_HOME_END, 1); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.smartPaste"); //$NON-NLS-1$ -// addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_PASTE, 1); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.insertSpaceForTabs"); //$NON-NLS-1$ -// addCheckBox(composite, label, PreferenceConstants.EDITOR_SPACES_FOR_TABS, 1); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.closeStrings"); //$NON-NLS-1$ -// addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_STRINGS, 1); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.closeBrackets"); //$NON-NLS-1$ -// addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_BRACKETS, 1); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.closeBraces"); //$NON-NLS-1$ -// addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_BRACES, 1); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.closePHPDocs"); //$NON-NLS-1$ -// Button button= addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.addPHPDocTags"); //$NON-NLS-1$ -// fAddJavaDocTagsButton= addCheckBox(composite, label, PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, 1); -// createDependency(button, fAddJavaDocTagsButton); -// -// label= PHPUIMessages.getString("PHPEditorPreferencePage.formatPHPDocs"); //$NON-NLS-1$ -// addCheckBox(composite, label, PreferenceConstants.EDITOR_FORMAT_JAVADOCS, 1); -// -// return composite; -// } - - private static void indent(Control control) { - GridData gridData= new GridData(); - gridData.horizontalIndent= 20; - control.setLayoutData(gridData); - } - - private static void createDependency(final Button master, final Control slave) { - indent(slave); - master.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - slave.setEnabled(master.getSelection()); - } - - public void widgetDefaultSelected(SelectionEvent e) {} - }); - } - - private Control createContentAssistPage(Composite parent) { - - Composite contentAssistComposite= new Composite(parent, SWT.NULL); - GridLayout layout= new GridLayout(); layout.numColumns= 2; - contentAssistComposite.setLayout(layout); - - String label= PHPUIMessages.getString("PHPEditorPreferencePage.insertSingleProposalsAutomatically"); //$NON-NLS-1$ - addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOINSERT, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.showOnlyProposalsVisibleInTheInvocationContext"); //$NON-NLS-1$ - addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.presentProposalsInAlphabeticalOrder"); //$NON-NLS-1$ - addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.automaticallyAddImportInsteadOfQualifiedName"); //$NON-NLS-1$ - addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_ADDIMPORT, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.insertCompletion"); //$NON-NLS-1$ - addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_INSERT_COMPLETION, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.fillArgumentNamesOnMethodCompletion"); //$NON-NLS-1$ - Button button= addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.guessArgumentNamesOnMethodCompletion"); //$NON-NLS-1$ - fGuessMethodArgumentsButton= addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, 0); - createDependency(button, fGuessMethodArgumentsButton); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.enableAutoActivation"); //$NON-NLS-1$ - final Button autoactivation= addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationDelay"); //$NON-NLS-1$ - fAutoInsertDelayText= addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 4, 0, true); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationTriggersForPHP"); //$NON-NLS-1$ - fAutoInsertJavaTriggerText= addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, 4, 0, false); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationTriggersForPHPDoc"); //$NON-NLS-1$ - fAutoInsertJavaDocTriggerText= addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, 4, 0, false); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForCompletionProposals"); //$NON-NLS-1$ - addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForCompletionProposals"); //$NON-NLS-1$ - addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForMethodParameters"); //$NON-NLS-1$ - addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForMethodParameters"); //$NON-NLS-1$ - addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForCompletionReplacement"); //$NON-NLS-1$ - addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, 0); - - label= PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForCompletionReplacement"); //$NON-NLS-1$ - addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, 0); - - autoactivation.addSelectionListener(new SelectionAdapter(){ - public void widgetSelected(SelectionEvent e) { - updateAutoactivationControls(); - } - }); - return contentAssistComposite; - } - - /* - * @see PreferencePage#createContents(Composite) - */ - protected Control createContents(Composite parent) { - - fOverlayStore.load(); - fOverlayStore.start(); - - TabFolder folder= new TabFolder(parent, SWT.NONE); - folder.setLayout(new TabFolderLayout()); - folder.setLayoutData(new GridData(GridData.FILL_BOTH)); - - TabItem item= new TabItem(folder, SWT.NONE); - item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.general")); //$NON-NLS-1$ - item.setControl(createAppearancePage(folder)); - - item= new TabItem(folder, SWT.NONE); - item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.colors")); //$NON-NLS-1$ - item.setControl(createSyntaxPage(folder)); - - item= new TabItem(folder, SWT.NONE); - item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.codeAssist")); //$NON-NLS-1$ - item.setControl(createContentAssistPage(folder)); - - item= new TabItem(folder, SWT.NONE); - item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.problemIndicationTab.title")); //$NON-NLS-1$ - item.setControl(createProblemIndicationPage(folder)); - -// item= new TabItem(folder, SWT.NONE); -// item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.behaviourTab.title")); //$NON-NLS-1$ -// item.setControl(createBehaviourPage(folder)); - -// item= new TabItem(folder, SWT.NONE); -// item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.hoverTab.title")); //$NON-NLS-1$ -// fJavaEditorHoverConfigurationBlock= new JavaEditorHoverConfigurationBlock(fOverlayStore); -// item.setControl(fJavaEditorHoverConfigurationBlock.createControl(folder)); - - initialize(); - - return folder; - } - - private void initialize() { - - fFontEditor.setPreferenceStore(getPreferenceStore()); - fFontEditor.setPreferencePage(this); - fFontEditor.load(); - - initializeFields(); - - for (int i= 0; i < fSyntaxColorListModel.length; i++) - fSyntaxColorList.add(fSyntaxColorListModel[i][0]); - - fSyntaxColorList.getDisplay().asyncExec(new Runnable() { - public void run() { - if (fSyntaxColorList != null && !fSyntaxColorList.isDisposed()) { - fSyntaxColorList.select(0); - handleSyntaxColorListSelection(); - } - } - }); - - for (int i= 0; i < fAppearanceColorListModel.length; i++) - fAppearanceColorList.add(fAppearanceColorListModel[i][0]); - - fAppearanceColorList.getDisplay().asyncExec(new Runnable() { - public void run() { - if (fAppearanceColorList != null && !fAppearanceColorList.isDisposed()) { - fAppearanceColorList.select(0); - handleAppearanceColorListSelection(); - } - } - }); - - for (int i= 0; i < fProblemIndicationColorListModel.length; i++) - fProblemIndicationList.add(fProblemIndicationColorListModel[i][0]); - - fProblemIndicationList.getDisplay().asyncExec(new Runnable() { - public void run() { - if (fProblemIndicationList != null && !fProblemIndicationList.isDisposed()) { - fProblemIndicationList.select(0); - handleProblemIndicationColorListSelection(); - } - } - }); - } - - private void initializeFields() { - - Iterator e= fColorButtons.keySet().iterator(); - while (e.hasNext()) { - ColorEditor c= (ColorEditor) e.next(); - String key= (String) fColorButtons.get(c); - RGB rgb= PreferenceConverter.getColor(fOverlayStore, key); - c.setColorValue(rgb); - } - - e= fCheckBoxes.keySet().iterator(); - while (e.hasNext()) { - Button b= (Button) e.next(); - String key= (String) fCheckBoxes.get(b); - b.setSelection(fOverlayStore.getBoolean(key)); - } - - e= fTextFields.keySet().iterator(); - while (e.hasNext()) { - Text t= (Text) e.next(); - String key= (String) fTextFields.get(t); - t.setText(fOverlayStore.getString(key)); - } - - RGB rgb= PreferenceConverter.getColor(fOverlayStore, PreferenceConstants.EDITOR_BACKGROUND_COLOR); - fBackgroundColorEditor.setColorValue(rgb); - - boolean default_= fOverlayStore.getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR); - fBackgroundDefaultRadioButton.setSelection(default_); - fBackgroundCustomRadioButton.setSelection(!default_); - fBackgroundColorButton.setEnabled(!default_); - - // boolean closeJavaDocs= fOverlayStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS); - // fAddJavaDocTagsButton.setEnabled(closeJavaDocs); - - boolean fillMethodArguments= fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES); - fGuessMethodArgumentsButton.setEnabled(fillMethodArguments); - + + private static final String BOLD = PreferenceConstants.EDITOR_BOLD_SUFFIX; + + public final OverlayPreferenceStore.OverlayKey[] fKeys = + new OverlayPreferenceStore.OverlayKey[] { + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_FOREGROUND_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_BACKGROUND_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, PreferenceConstants.EDITOR_TAB_WIDTH), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PHP_TYPE_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PHP_TYPE_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_STRING_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_STRING_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_MATCHING_BRACKETS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CURRENT_LINE_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CURRENT_LINE), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PRINT_MARGIN), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_FIND_SCOPE_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_LINKED_POSITION_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_LINK_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_PROBLEM_INDICATION), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WARNING_INDICATION), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_TASK_INDICATION), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_BOOKMARK_INDICATION), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.STRING, + PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_UNKNOWN_INDICATION), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.BOOLEAN, + PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CORRECTION_INDICATION), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_OVERVIEW_RULER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_LINE_NUMBER_RULER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SPACES_FOR_TABS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_AUTOACTIVATION), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_AUTOINSERT), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.STRING, + PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.STRING, + PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC), + new OverlayPreferenceStore.OverlayKey( + OverlayPreferenceStore.STRING, + PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_ORDER_PROPOSALS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_CASE_SENSITIVITY), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_ADDIMPORT), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_INSERT_COMPLETION), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SMART_PASTE), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_STRINGS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_BRACKETS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_BRACES), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_CLOSE_JAVADOCS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_WRAP_STRINGS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FORMAT_JAVADOCS), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_SMART_HOME_END), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_DEFAULT_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_NONE_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_SHIFT_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_ALT_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_ALT_SHIFT_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PreferenceConstants.EDITOR_ALT_SHIFT_HOVER), + new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHP_USERDEF_XMLFILE), + }; + + private final String[][] fSyntaxColorListModel = new String[][] { { PHPUIMessages.getString("PHPEditorPreferencePage.multiLineComment"), PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.singleLineComment"), PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.keywords"), PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.functionNames"), PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.variables"), PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.constants"), PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.types"), PreferenceConstants.EDITOR_PHP_TYPE_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.strings"), PreferenceConstants.EDITOR_STRING_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.others"), PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.phpDocKeywords"), PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.phpDocHtmlTags"), PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.phpDocLinks"), PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.phpDocOthers"), PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR } //$NON-NLS-1$ + }; + + private final String[][] fAppearanceColorListModel = new String[][] { { PHPUIMessages.getString("PHPEditorPreferencePage.lineNumberForegroundColor"), PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.matchingBracketsHighlightColor2"), PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.currentLineHighlighColor"), PreferenceConstants.EDITOR_CURRENT_LINE_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.printMarginColor2"), PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.findScopeColor2"), PreferenceConstants.EDITOR_FIND_SCOPE_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.linkedPositionColor2"), PreferenceConstants.EDITOR_LINKED_POSITION_COLOR }, //$NON-NLS-1$ + { + PHPUIMessages.getString("PHPEditorPreferencePage.linkColor2"), PreferenceConstants.EDITOR_LINK_COLOR }, //$NON-NLS-1$ + }; + + private final String[][] fProblemIndicationColorListModel = + new String[][] { + { + "Errors", + PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, + PreferenceConstants.EDITOR_PROBLEM_INDICATION, + PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER }, + { + "Warnings", + PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, + PreferenceConstants.EDITOR_WARNING_INDICATION, + PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER }, + { + "Tasks", + PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, + PreferenceConstants.EDITOR_TASK_INDICATION, + PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER }, + { + "Search Results", + PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, + PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, + PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER }, + { + "Bookmarks", + PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, + PreferenceConstants.EDITOR_BOOKMARK_INDICATION, + PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER }, + { + "Others", + PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, + PreferenceConstants.EDITOR_UNKNOWN_INDICATION, + PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER } + }; + + private OverlayPreferenceStore fOverlayStore; + private JavaTextTools fJavaTextTools; + // private JavaEditorHoverConfigurationBlock fJavaEditorHoverConfigurationBlock; + + private Map fColorButtons = new HashMap(); + private SelectionListener fColorButtonListener = new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + } + public void widgetSelected(SelectionEvent e) { + ColorEditor editor = (ColorEditor) e.widget.getData(); + PreferenceConverter.setValue(fOverlayStore, (String) fColorButtons.get(editor), editor.getColorValue()); + } + }; + + private Map fCheckBoxes = new HashMap(); + private SelectionListener fCheckBoxListener = new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + } + public void widgetSelected(SelectionEvent e) { + Button button = (Button) e.widget; + fOverlayStore.setValue((String) fCheckBoxes.get(button), button.getSelection()); + } + }; + + private Map fTextFields = new HashMap(); + private ModifyListener fTextFieldListener = new ModifyListener() { + public void modifyText(ModifyEvent e) { + Text text = (Text) e.widget; + fOverlayStore.setValue((String) fTextFields.get(text), text.getText()); + } + }; + + private ArrayList fNumberFields = new ArrayList(); + private ModifyListener fNumberFieldListener = new ModifyListener() { + public void modifyText(ModifyEvent e) { + numberFieldChanged((Text) e.widget); + } + }; + + private WorkbenchChainedTextFontFieldEditor fFontEditor; + private List fSyntaxColorList; + private List fAppearanceColorList; + private List fProblemIndicationList; + private ColorEditor fSyntaxForegroundColorEditor; + private ColorEditor fAppearanceForegroundColorEditor; + private ColorEditor fProblemIndicationForegroundColorEditor; + private ColorEditor fBackgroundColorEditor; + private Button fBackgroundDefaultRadioButton; + private Button fBackgroundCustomRadioButton; + private Button fBackgroundColorButton; + private Button fBoldCheckBox; + // private Button fAddJavaDocTagsButton; + private Button fGuessMethodArgumentsButton; + private SourceViewer fPreviewViewer; + private Color fBackgroundColor; + private Control fAutoInsertDelayText; + private Control fAutoInsertJavaTriggerText; + private Control fAutoInsertJavaDocTriggerText; + private Control fAutoInsertHTMLTriggerText; + private Button fShowInTextCheckBox; + private Button fShowInOverviewRulerCheckBox; + // private FileFieldEditor fUserDefinedPHPSyntaxFileFFE; + + public PHPEditorPreferencePage() { + setDescription(PHPUIMessages.getString("PHPEditorPreferencePage.description")); //$NON-NLS-1$ + setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore()); + fOverlayStore = new OverlayPreferenceStore(getPreferenceStore(), fKeys); + } + + /* + * @see IWorkbenchPreferencePage#init() + */ + public void init(IWorkbench workbench) { + } + + /* + * @see PreferencePage#createControl(Composite) + */ + public void createControl(Composite parent) { + super.createControl(parent); + // WorkbenchHelp.setHelp(getControl(), IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE); + } + + private void handleSyntaxColorListSelection() { + int i = fSyntaxColorList.getSelectionIndex(); + String key = fSyntaxColorListModel[i][1]; + RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); + fSyntaxForegroundColorEditor.setColorValue(rgb); + fBoldCheckBox.setSelection(fOverlayStore.getBoolean(key + BOLD)); + } + + private void handleAppearanceColorListSelection() { + int i = fAppearanceColorList.getSelectionIndex(); + String key = fAppearanceColorListModel[i][1]; + RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); + fAppearanceForegroundColorEditor.setColorValue(rgb); + } + + private void handleProblemIndicationColorListSelection() { + int i = fProblemIndicationList.getSelectionIndex(); + + String key = fProblemIndicationColorListModel[i][1]; + RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); + fProblemIndicationForegroundColorEditor.setColorValue(rgb); + + key = fProblemIndicationColorListModel[i][2]; + fShowInTextCheckBox.setSelection(fOverlayStore.getBoolean(key)); + + key = fProblemIndicationColorListModel[i][3]; + fShowInOverviewRulerCheckBox.setSelection(fOverlayStore.getBoolean(key)); + } + + private Control createSyntaxPage(Composite parent) { + + Composite colorComposite = new Composite(parent, SWT.NULL); + colorComposite.setLayout(new GridLayout()); + + Group backgroundComposite = new Group(colorComposite, SWT.SHADOW_ETCHED_IN); + backgroundComposite.setLayout(new RowLayout()); + backgroundComposite.setText(PHPUIMessages.getString("PHPEditorPreferencePage.backgroundColor")); //$NON-NLS-1$ + + SelectionListener backgroundSelectionListener = new SelectionListener() { + public void widgetSelected(SelectionEvent e) { + boolean custom = fBackgroundCustomRadioButton.getSelection(); + fBackgroundColorButton.setEnabled(custom); + fOverlayStore.setValue(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, !custom); + } + public void widgetDefaultSelected(SelectionEvent e) { + } + }; + + fBackgroundDefaultRadioButton = new Button(backgroundComposite, SWT.RADIO | SWT.LEFT); + fBackgroundDefaultRadioButton.setText(PHPUIMessages.getString("PHPEditorPreferencePage.systemDefault")); //$NON-NLS-1$ + fBackgroundDefaultRadioButton.addSelectionListener(backgroundSelectionListener); + + fBackgroundCustomRadioButton = new Button(backgroundComposite, SWT.RADIO | SWT.LEFT); + fBackgroundCustomRadioButton.setText(PHPUIMessages.getString("PHPEditorPreferencePage.custom")); //$NON-NLS-1$ + fBackgroundCustomRadioButton.addSelectionListener(backgroundSelectionListener); + + fBackgroundColorEditor = new ColorEditor(backgroundComposite); + fBackgroundColorButton = fBackgroundColorEditor.getButton(); + + // fUserDefinedPHPSyntaxFileFFE = + // new FileFieldEditor( + // IPreferenceConstants.PHP_USERDEF_XMLFILE, + // PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.syntaxdialog"), + // colorComposite); + // fUserDefinedPHPSyntaxFileFFE.setPreferencePage(this); + // fUserDefinedPHPSyntaxFileFFE.setPreferenceStore(getPreferenceStore()); + // fUserDefinedPHPSyntaxFileFFE.load(); + + Label label = new Label(colorComposite, SWT.LEFT); + label.setText(PHPUIMessages.getString("PHPEditorPreferencePage.foreground")); //$NON-NLS-1$ + label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + Composite editorComposite = new Composite(colorComposite, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.numColumns = 2; + layout.marginHeight = 0; + layout.marginWidth = 0; + editorComposite.setLayout(layout); + GridData gd = new GridData(GridData.FILL_BOTH); + editorComposite.setLayoutData(gd); + + fSyntaxColorList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); + gd = new GridData(GridData.FILL_BOTH); + gd.heightHint = convertHeightInCharsToPixels(5); + fSyntaxColorList.setLayoutData(gd); + + Composite stylesComposite = new Composite(editorComposite, SWT.NONE); + layout = new GridLayout(); + layout.marginHeight = 0; + layout.marginWidth = 0; + layout.numColumns = 2; + stylesComposite.setLayout(layout); + stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); + + label = new Label(stylesComposite, SWT.LEFT); + label.setText(PHPUIMessages.getString("PHPEditorPreferencePage.color")); //$NON-NLS-1$ + gd = new GridData(); + gd.horizontalAlignment = GridData.BEGINNING; + label.setLayoutData(gd); + + fSyntaxForegroundColorEditor = new ColorEditor(stylesComposite); + Button foregroundColorButton = fSyntaxForegroundColorEditor.getButton(); + gd = new GridData(GridData.FILL_HORIZONTAL); + gd.horizontalAlignment = GridData.BEGINNING; + foregroundColorButton.setLayoutData(gd); + + fBoldCheckBox = new Button(stylesComposite, SWT.CHECK); + fBoldCheckBox.setText(PHPUIMessages.getString("PHPEditorPreferencePage.bold")); //$NON-NLS-1$ + gd = new GridData(GridData.FILL_HORIZONTAL); + gd.horizontalAlignment = GridData.BEGINNING; + gd.horizontalSpan = 2; + fBoldCheckBox.setLayoutData(gd); + + label = new Label(colorComposite, SWT.LEFT); + label.setText(PHPUIMessages.getString("PHPEditorPreferencePage.preview")); //$NON-NLS-1$ + label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + Control previewer = createPreviewer(colorComposite); + gd = new GridData(GridData.FILL_BOTH); + gd.widthHint = convertWidthInCharsToPixels(20); + gd.heightHint = convertHeightInCharsToPixels(5); + previewer.setLayoutData(gd); + + fSyntaxColorList.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + public void widgetSelected(SelectionEvent e) { + handleSyntaxColorListSelection(); + } + }); + + foregroundColorButton.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + public void widgetSelected(SelectionEvent e) { + int i = fSyntaxColorList.getSelectionIndex(); + String key = fSyntaxColorListModel[i][1]; + + PreferenceConverter.setValue(fOverlayStore, key, fSyntaxForegroundColorEditor.getColorValue()); + } + }); + + fBackgroundColorButton.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + public void widgetSelected(SelectionEvent e) { + PreferenceConverter.setValue( + fOverlayStore, + PreferenceConstants.EDITOR_BACKGROUND_COLOR, + fBackgroundColorEditor.getColorValue()); + } + }); + + fBoldCheckBox.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + public void widgetSelected(SelectionEvent e) { + int i = fSyntaxColorList.getSelectionIndex(); + String key = fSyntaxColorListModel[i][1]; + fOverlayStore.setValue(key + BOLD, fBoldCheckBox.getSelection()); + } + }); + + return colorComposite; + } + + private Control createPreviewer(Composite parent) { + + fJavaTextTools = new JavaTextTools(fOverlayStore); + + fPreviewViewer = new SourceViewer(parent, null, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); + fPreviewViewer.configure(new PHPSourceViewerConfiguration(fJavaTextTools, null)); + fPreviewViewer.getTextWidget().setFont(JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT)); + fPreviewViewer.setEditable(false); + + initializeViewerColors(fPreviewViewer); + + String content = loadPreviewContentFromFile("ColorSettingPreviewCode.txt"); //$NON-NLS-1$ + IDocument document = new Document(content); + PHPEditorEnvironment pe; + IDocumentPartitioner partitioner = fJavaTextTools.createDocumentPartitioner(); + partitioner.connect(document); + document.setDocumentPartitioner(partitioner); + + fPreviewViewer.setDocument(document); + + fOverlayStore.addPropertyChangeListener(new IPropertyChangeListener() { + public void propertyChange(PropertyChangeEvent event) { + String p = event.getProperty(); + if (p.equals(PreferenceConstants.EDITOR_BACKGROUND_COLOR) + || p.equals(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR)) { + initializeViewerColors(fPreviewViewer); + } + + fPreviewViewer.invalidateTextPresentation(); + } + }); + + return fPreviewViewer.getControl(); + } + + /** + * Initializes the given viewer's colors. + * + * @param viewer the viewer to be initialized + */ + private void initializeViewerColors(ISourceViewer viewer) { + + IPreferenceStore store = fOverlayStore; + if (store != null) { + + StyledText styledText = viewer.getTextWidget(); + + // ---------- background color ---------------------- + Color color = + store.getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR) + ? null + : createColor(store, PreferenceConstants.EDITOR_BACKGROUND_COLOR, styledText.getDisplay()); + styledText.setBackground(color); + + if (fBackgroundColor != null) + fBackgroundColor.dispose(); + + fBackgroundColor = color; + } + } + + /** + * Creates a color from the information stored in the given preference store. + * Returns null if there is no such information available. + */ + private Color createColor(IPreferenceStore store, String key, Display display) { + + RGB rgb = null; + + if (store.contains(key)) { + + if (store.isDefault(key)) + rgb = PreferenceConverter.getDefaultColor(store, key); + else + rgb = PreferenceConverter.getColor(store, key); + + if (rgb != null) + return new Color(display, rgb); + } + + return null; + } + + // sets enabled flag for a control and all its sub-tree + private static void setEnabled(Control control, boolean enable) { + control.setEnabled(enable); + if (control instanceof Composite) { + Composite composite = (Composite) control; + Control[] children = composite.getChildren(); + for (int i = 0; i < children.length; i++) + setEnabled(children[i], enable); + } + } + + private Control createAppearancePage(Composite parent) { + + Composite appearanceComposite = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.numColumns = 2; + appearanceComposite.setLayout(layout); + + String label = PHPUIMessages.getString("PHPEditorPreferencePage.textFont"); //$NON-NLS-1$ + addTextFontEditor(appearanceComposite, label, AbstractTextEditor.PREFERENCE_FONT); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.displayedTabWidth"); //$NON-NLS-1$ + addTextField(appearanceComposite, label, PreferenceConstants.EDITOR_TAB_WIDTH, 3, 0, true); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.printMarginColumn"); //$NON-NLS-1$ + addTextField(appearanceComposite, label, PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 3, 0, true); + + // label= PHPUIMessages.getString("PHPEditorPreferencePage.synchronizeOnCursor"); //$NON-NLS-1$ + // addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.showOverviewRuler"); //$NON-NLS-1$ + addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_OVERVIEW_RULER, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.showLineNumbers"); //$NON-NLS-1$ + addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_LINE_NUMBER_RULER, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.highlightMatchingBrackets"); //$NON-NLS-1$ + addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_MATCHING_BRACKETS, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.highlightCurrentLine"); //$NON-NLS-1$ + addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_CURRENT_LINE, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.showPrintMargin"); //$NON-NLS-1$ + addCheckBox(appearanceComposite, label, PreferenceConstants.EDITOR_PRINT_MARGIN, 0); + + Label l = new Label(appearanceComposite, SWT.LEFT); + GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); + gd.horizontalSpan = 2; + gd.heightHint = convertHeightInCharsToPixels(1) / 2; + l.setLayoutData(gd); + + l = new Label(appearanceComposite, SWT.LEFT); + l.setText(PHPUIMessages.getString("PHPEditorPreferencePage.appearanceOptions")); //$NON-NLS-1$ + gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); + gd.horizontalSpan = 2; + l.setLayoutData(gd); + + Composite editorComposite = new Composite(appearanceComposite, SWT.NONE); + layout = new GridLayout(); + layout.numColumns = 2; + layout.marginHeight = 0; + layout.marginWidth = 0; + editorComposite.setLayout(layout); + gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL); + gd.horizontalSpan = 2; + editorComposite.setLayoutData(gd); + + fAppearanceColorList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); + gd = new GridData(GridData.FILL_BOTH); + gd.heightHint = convertHeightInCharsToPixels(5); + fAppearanceColorList.setLayoutData(gd); + + Composite stylesComposite = new Composite(editorComposite, SWT.NONE); + layout = new GridLayout(); + layout.marginHeight = 0; + layout.marginWidth = 0; + layout.numColumns = 2; + stylesComposite.setLayout(layout); + stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); + + l = new Label(stylesComposite, SWT.LEFT); + l.setText(PHPUIMessages.getString("PHPEditorPreferencePage.color")); //$NON-NLS-1$ + gd = new GridData(); + gd.horizontalAlignment = GridData.BEGINNING; + l.setLayoutData(gd); + + fAppearanceForegroundColorEditor = new ColorEditor(stylesComposite); + Button foregroundColorButton = fAppearanceForegroundColorEditor.getButton(); + gd = new GridData(GridData.FILL_HORIZONTAL); + gd.horizontalAlignment = GridData.BEGINNING; + foregroundColorButton.setLayoutData(gd); + + fAppearanceColorList.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + public void widgetSelected(SelectionEvent e) { + handleAppearanceColorListSelection(); + } + }); + foregroundColorButton.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + public void widgetSelected(SelectionEvent e) { + int i = fAppearanceColorList.getSelectionIndex(); + String key = fAppearanceColorListModel[i][1]; + + PreferenceConverter.setValue(fOverlayStore, key, fAppearanceForegroundColorEditor.getColorValue()); + } + }); + return appearanceComposite; + } + + private Control createProblemIndicationPage(Composite parent) { + Composite composite = new Composite(parent, SWT.NULL); + GridLayout layout = new GridLayout(); + layout.numColumns = 2; + composite.setLayout(layout); + + String text = "Analyse &problems while typing"; + addCheckBox(composite, text, PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, 0); + + text = PHPUIMessages.getString("PHPEditorPreferencePage.showQuickFixables"); //$NON-NLS-1$ + addCheckBox(composite, text, PreferenceConstants.EDITOR_CORRECTION_INDICATION, 0); + + Label label = new Label(composite, SWT.LEFT); + GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); + gd.horizontalSpan = 2; + gd.heightHint = convertHeightInCharsToPixels(1) / 2; + label.setLayoutData(gd); + + label = new Label(composite, SWT.LEFT); + label.setText("&Marker presentation options:"); + gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); + gd.horizontalSpan = 2; + label.setLayoutData(gd); + + Composite editorComposite = new Composite(composite, SWT.NONE); + layout = new GridLayout(); + layout.numColumns = 2; + layout.marginHeight = 0; + layout.marginWidth = 0; + editorComposite.setLayout(layout); + gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL); + gd.horizontalSpan = 2; + editorComposite.setLayoutData(gd); + + fProblemIndicationList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); + gd = new GridData(GridData.FILL_BOTH); + gd.heightHint = convertHeightInCharsToPixels(5); + fProblemIndicationList.setLayoutData(gd); + + Composite optionsComposite = new Composite(editorComposite, SWT.NONE); + layout = new GridLayout(); + layout.marginHeight = 0; + layout.marginWidth = 0; + layout.numColumns = 2; + optionsComposite.setLayout(layout); + optionsComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); + + fShowInTextCheckBox = new Button(optionsComposite, SWT.CHECK); + fShowInTextCheckBox.setText("Show in &text"); + gd = new GridData(GridData.FILL_HORIZONTAL); + gd.horizontalAlignment = GridData.BEGINNING; + gd.horizontalSpan = 2; + fShowInTextCheckBox.setLayoutData(gd); + + fShowInOverviewRulerCheckBox = new Button(optionsComposite, SWT.CHECK); + fShowInOverviewRulerCheckBox.setText("Show in overview &ruler"); + gd = new GridData(GridData.FILL_HORIZONTAL); + gd.horizontalAlignment = GridData.BEGINNING; + gd.horizontalSpan = 2; + fShowInOverviewRulerCheckBox.setLayoutData(gd); + + label = new Label(optionsComposite, SWT.LEFT); + label.setText("C&olor:"); + gd = new GridData(); + gd.horizontalAlignment = GridData.BEGINNING; + label.setLayoutData(gd); + + fProblemIndicationForegroundColorEditor = new ColorEditor(optionsComposite); + Button foregroundColorButton = fProblemIndicationForegroundColorEditor.getButton(); + gd = new GridData(GridData.FILL_HORIZONTAL); + gd.horizontalAlignment = GridData.BEGINNING; + foregroundColorButton.setLayoutData(gd); + + fProblemIndicationList.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + + public void widgetSelected(SelectionEvent e) { + handleProblemIndicationColorListSelection(); + } + }); + + fShowInTextCheckBox.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + + public void widgetSelected(SelectionEvent e) { + int i = fProblemIndicationList.getSelectionIndex(); + String key = fProblemIndicationColorListModel[i][2]; + fOverlayStore.setValue(key, fShowInTextCheckBox.getSelection()); + } + }); + + fShowInOverviewRulerCheckBox.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + + public void widgetSelected(SelectionEvent e) { + int i = fProblemIndicationList.getSelectionIndex(); + String key = fProblemIndicationColorListModel[i][3]; + fOverlayStore.setValue(key, fShowInOverviewRulerCheckBox.getSelection()); + } + }); + + foregroundColorButton.addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + // do nothing + } + + public void widgetSelected(SelectionEvent e) { + int i = fProblemIndicationList.getSelectionIndex(); + String key = fProblemIndicationColorListModel[i][1]; + PreferenceConverter.setValue(fOverlayStore, key, fProblemIndicationForegroundColorEditor.getColorValue()); + } + }); + + return composite; + } + + // private Control createBehaviourPage(Composite parent) { + // Composite composite= new Composite(parent, SWT.NULL); + // GridLayout layout= new GridLayout(); layout.numColumns= 2; + // composite.setLayout(layout); + // + // String label= PHPUIMessages.getString("PHPEditorPreferencePage.wrapStrings"); //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_WRAP_STRINGS, 1); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.smartHomeEnd"); //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_HOME_END, 1); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.smartPaste"); //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_SMART_PASTE, 1); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.insertSpaceForTabs"); //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_SPACES_FOR_TABS, 1); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.closeStrings"); //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_STRINGS, 1); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.closeBrackets"); //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_BRACKETS, 1); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.closeBraces"); //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_BRACES, 1); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.closePHPDocs"); //$NON-NLS-1$ + // Button button= addCheckBox(composite, label, PreferenceConstants.EDITOR_CLOSE_JAVADOCS, 1); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.addPHPDocTags"); //$NON-NLS-1$ + // fAddJavaDocTagsButton= addCheckBox(composite, label, PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, 1); + // createDependency(button, fAddJavaDocTagsButton); + // + // label= PHPUIMessages.getString("PHPEditorPreferencePage.formatPHPDocs"); //$NON-NLS-1$ + // addCheckBox(composite, label, PreferenceConstants.EDITOR_FORMAT_JAVADOCS, 1); + // + // return composite; + // } + + private static void indent(Control control) { + GridData gridData = new GridData(); + gridData.horizontalIndent = 20; + control.setLayoutData(gridData); + } + + private static void createDependency(final Button master, final Control slave) { + indent(slave); + master.addSelectionListener(new SelectionListener() { + public void widgetSelected(SelectionEvent e) { + slave.setEnabled(master.getSelection()); + } + + public void widgetDefaultSelected(SelectionEvent e) { + } + }); + } + + private Control createContentAssistPage(Composite parent) { + + Composite contentAssistComposite = new Composite(parent, SWT.NULL); + GridLayout layout = new GridLayout(); + layout.numColumns = 2; + contentAssistComposite.setLayout(layout); + + String label = PHPUIMessages.getString("PHPEditorPreferencePage.insertSingleProposalsAutomatically"); //$NON-NLS-1$ + addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOINSERT, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.showOnlyProposalsVisibleInTheInvocationContext"); //$NON-NLS-1$ + addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.presentProposalsInAlphabeticalOrder"); //$NON-NLS-1$ + addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.automaticallyAddImportInsteadOfQualifiedName"); //$NON-NLS-1$ + addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_ADDIMPORT, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.insertCompletion"); //$NON-NLS-1$ + addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_INSERT_COMPLETION, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.fillArgumentNamesOnMethodCompletion"); //$NON-NLS-1$ + Button button = addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.guessArgumentNamesOnMethodCompletion"); //$NON-NLS-1$ + fGuessMethodArgumentsButton = + addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, 0); + createDependency(button, fGuessMethodArgumentsButton); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.enableAutoActivation"); //$NON-NLS-1$ + final Button autoactivation = addCheckBox(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationDelay"); //$NON-NLS-1$ + fAutoInsertDelayText = + addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 4, 0, true); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationTriggersForPHP"); //$NON-NLS-1$ + fAutoInsertJavaTriggerText = + addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, 4, 0, false); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationTriggersForPHPDoc"); //$NON-NLS-1$ + fAutoInsertJavaDocTriggerText = + addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, 4, 0, false); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.autoActivationTriggersForHTML"); //$NON-NLS-1$ + fAutoInsertHTMLTriggerText = + addTextField(contentAssistComposite, label, PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML, 4, 0, false); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForCompletionProposals"); //$NON-NLS-1$ + addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, 0); + + label = PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForCompletionProposals"); //$NON-NLS-1$ + addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, 0); + + // label = PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForMethodParameters"); //$NON-NLS-1$ + // addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, 0); + // + // label = PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForMethodParameters"); //$NON-NLS-1$ + // addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, 0); + + // label = PHPUIMessages.getString("PHPEditorPreferencePage.backgroundForCompletionReplacement"); //$NON-NLS-1$ + // addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, 0); + // + // label = PHPUIMessages.getString("PHPEditorPreferencePage.foregroundForCompletionReplacement"); //$NON-NLS-1$ + // addColorButton(contentAssistComposite, label, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, 0); + + autoactivation.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { updateAutoactivationControls(); - - // fJavaEditorHoverConfigurationBlock.initializeFields(); - } - - private void updateAutoactivationControls() { - boolean autoactivation= fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION); - fAutoInsertDelayText.setEnabled(autoactivation); - fAutoInsertJavaTriggerText.setEnabled(autoactivation); - fAutoInsertJavaDocTriggerText.setEnabled(autoactivation); + } + }); + return contentAssistComposite; + } + + /* + * @see PreferencePage#createContents(Composite) + */ + protected Control createContents(Composite parent) { + + fOverlayStore.load(); + fOverlayStore.start(); + + TabFolder folder = new TabFolder(parent, SWT.NONE); + folder.setLayout(new TabFolderLayout()); + folder.setLayoutData(new GridData(GridData.FILL_BOTH)); + + TabItem item = new TabItem(folder, SWT.NONE); + item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.general")); //$NON-NLS-1$ + item.setControl(createAppearancePage(folder)); + + item = new TabItem(folder, SWT.NONE); + item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.colors")); //$NON-NLS-1$ + item.setControl(createSyntaxPage(folder)); + + item = new TabItem(folder, SWT.NONE); + item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.codeAssist")); //$NON-NLS-1$ + item.setControl(createContentAssistPage(folder)); + + item = new TabItem(folder, SWT.NONE); + item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.problemIndicationTab.title")); //$NON-NLS-1$ + item.setControl(createProblemIndicationPage(folder)); + + // item= new TabItem(folder, SWT.NONE); + // item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.behaviourTab.title")); //$NON-NLS-1$ + // item.setControl(createBehaviourPage(folder)); + + // item= new TabItem(folder, SWT.NONE); + // item.setText(PHPUIMessages.getString("PHPEditorPreferencePage.hoverTab.title")); //$NON-NLS-1$ + // fJavaEditorHoverConfigurationBlock= new JavaEditorHoverConfigurationBlock(fOverlayStore); + // item.setControl(fJavaEditorHoverConfigurationBlock.createControl(folder)); + + initialize(); + + return folder; + } + + private void initialize() { + + fFontEditor.setPreferenceStore(getPreferenceStore()); + fFontEditor.setPreferencePage(this); + fFontEditor.load(); + + initializeFields(); + + for (int i = 0; i < fSyntaxColorListModel.length; i++) + fSyntaxColorList.add(fSyntaxColorListModel[i][0]); + + fSyntaxColorList.getDisplay().asyncExec(new Runnable() { + public void run() { + if (fSyntaxColorList != null && !fSyntaxColorList.isDisposed()) { + fSyntaxColorList.select(0); + handleSyntaxColorListSelection(); + } + } + }); + + for (int i = 0; i < fAppearanceColorListModel.length; i++) + fAppearanceColorList.add(fAppearanceColorListModel[i][0]); + + fAppearanceColorList.getDisplay().asyncExec(new Runnable() { + public void run() { + if (fAppearanceColorList != null && !fAppearanceColorList.isDisposed()) { + fAppearanceColorList.select(0); + handleAppearanceColorListSelection(); + } + } + }); + + for (int i = 0; i < fProblemIndicationColorListModel.length; i++) + fProblemIndicationList.add(fProblemIndicationColorListModel[i][0]); + + fProblemIndicationList.getDisplay().asyncExec(new Runnable() { + public void run() { + if (fProblemIndicationList != null && !fProblemIndicationList.isDisposed()) { + fProblemIndicationList.select(0); + handleProblemIndicationColorListSelection(); + } + } + }); + } + + private void initializeFields() { + + Iterator e = fColorButtons.keySet().iterator(); + while (e.hasNext()) { + ColorEditor c = (ColorEditor) e.next(); + String key = (String) fColorButtons.get(c); + RGB rgb = PreferenceConverter.getColor(fOverlayStore, key); + c.setColorValue(rgb); + } + + e = fCheckBoxes.keySet().iterator(); + while (e.hasNext()) { + Button b = (Button) e.next(); + String key = (String) fCheckBoxes.get(b); + b.setSelection(fOverlayStore.getBoolean(key)); + } + + e = fTextFields.keySet().iterator(); + while (e.hasNext()) { + Text t = (Text) e.next(); + String key = (String) fTextFields.get(t); + t.setText(fOverlayStore.getString(key)); + } + + RGB rgb = PreferenceConverter.getColor(fOverlayStore, PreferenceConstants.EDITOR_BACKGROUND_COLOR); + fBackgroundColorEditor.setColorValue(rgb); + + boolean default_ = fOverlayStore.getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR); + fBackgroundDefaultRadioButton.setSelection(default_); + fBackgroundCustomRadioButton.setSelection(!default_); + fBackgroundColorButton.setEnabled(!default_); + + // boolean closeJavaDocs= fOverlayStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_JAVADOCS); + // fAddJavaDocTagsButton.setEnabled(closeJavaDocs); + + boolean fillMethodArguments = fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES); + fGuessMethodArgumentsButton.setEnabled(fillMethodArguments); + + updateAutoactivationControls(); + + // fJavaEditorHoverConfigurationBlock.initializeFields(); + } + + private void updateAutoactivationControls() { + boolean autoactivation = fOverlayStore.getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION); + fAutoInsertDelayText.setEnabled(autoactivation); + fAutoInsertJavaTriggerText.setEnabled(autoactivation); + fAutoInsertJavaDocTriggerText.setEnabled(autoactivation); + fAutoInsertHTMLTriggerText.setEnabled(autoactivation); + } + + /* + * @see PreferencePage#performOk() + */ + public boolean performOk() { + fFontEditor.store(); + // fJavaEditorHoverConfigurationBlock.performOk(); + fOverlayStore.propagate(); + // fUserDefinedPHPSyntaxFileFFE.store(); + PHPeclipsePlugin.getDefault().savePluginPreferences(); + return true; + } + + /* + * @see PreferencePage#performDefaults() + */ + protected void performDefaults() { + + fFontEditor.loadDefault(); + + fOverlayStore.loadDefaults(); + initializeFields(); + + // fUserDefinedPHPSyntaxFileFFE.loadDefault(); + handleSyntaxColorListSelection(); + handleAppearanceColorListSelection(); + handleProblemIndicationColorListSelection(); + super.performDefaults(); + + fPreviewViewer.invalidateTextPresentation(); + } + + /* + * @see DialogPage#dispose() + */ + public void dispose() { + + if (fJavaTextTools != null) { + fJavaTextTools = null; + } + + fFontEditor.setPreferencePage(null); + fFontEditor.setPreferenceStore(null); + + if (fOverlayStore != null) { + fOverlayStore.stop(); + fOverlayStore = null; + } + + super.dispose(); + } + + private Control addColorButton(Composite composite, String label, String key, int indentation) { + + Label labelControl = new Label(composite, SWT.NONE); + labelControl.setText(label); + + GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); + gd.horizontalIndent = indentation; + labelControl.setLayoutData(gd); + + ColorEditor editor = new ColorEditor(composite); + Button button = editor.getButton(); + button.setData(editor); + + gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); + button.setLayoutData(gd); + button.addSelectionListener(fColorButtonListener); + + fColorButtons.put(editor, key); + + return composite; + } + + private Button addCheckBox(Composite parent, String label, String key, int indentation) { + Button checkBox = new Button(parent, SWT.CHECK); + checkBox.setText(label); + + GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); + gd.horizontalIndent = indentation; + gd.horizontalSpan = 2; + checkBox.setLayoutData(gd); + checkBox.addSelectionListener(fCheckBoxListener); + + fCheckBoxes.put(checkBox, key); + + return checkBox; + } + + private Control addTextField(Composite composite, String label, String key, int textLimit, int indentation, boolean isNumber) { + + Label labelControl = new Label(composite, SWT.NONE); + labelControl.setText(label); + GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); + gd.horizontalIndent = indentation; + labelControl.setLayoutData(gd); + + Text textControl = new Text(composite, SWT.BORDER | SWT.SINGLE); + gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); + gd.widthHint = convertWidthInCharsToPixels(textLimit + 1); + textControl.setLayoutData(gd); + textControl.setTextLimit(textLimit); + fTextFields.put(textControl, key); + if (isNumber) { + fNumberFields.add(textControl); + textControl.addModifyListener(fNumberFieldListener); + } else { + textControl.addModifyListener(fTextFieldListener); + } + + return textControl; + } + + private void addTextFontEditor(Composite parent, String label, String key) { + + Composite editorComposite = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.numColumns = 3; + editorComposite.setLayout(layout); + fFontEditor = new WorkbenchChainedTextFontFieldEditor(key, label, editorComposite); + fFontEditor.setChangeButtonText(PHPUIMessages.getString("PHPEditorPreferencePage.change")); //$NON-NLS-1$ + + GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); + gd.horizontalSpan = 2; + editorComposite.setLayoutData(gd); + } + + private String loadPreviewContentFromFile(String filename) { + String line; + String separator = System.getProperty("line.separator"); //$NON-NLS-1$ + StringBuffer buffer = new StringBuffer(512); + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(filename))); + while ((line = reader.readLine()) != null) { + buffer.append(line); + buffer.append(separator); + } + } catch (IOException io) { + PHPeclipsePlugin.log(io); + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + return buffer.toString(); + } + + private void numberFieldChanged(Text textControl) { + String number = textControl.getText(); + IStatus status = validatePositiveNumber(number); + if (!status.matches(IStatus.ERROR)) + fOverlayStore.setValue((String) fTextFields.get(textControl), number); + updateStatus(status); + } + + private IStatus validatePositiveNumber(String number) { + StatusInfo status = new StatusInfo(); + if (number.length() == 0) { + status.setError(PHPUIMessages.getString("PHPEditorPreferencePage.empty_input")); //$NON-NLS-1$ + } else { + try { + int value = Integer.parseInt(number); + if (value < 0) + status.setError(PHPUIMessages.getFormattedString("PHPEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ + } catch (NumberFormatException e) { + status.setError(PHPUIMessages.getFormattedString("PHPEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ + } + } + return status; + } + + private void updateStatus(IStatus status) { + if (!status.matches(IStatus.ERROR)) { + for (int i = 0; i < fNumberFields.size(); i++) { + Text text = (Text) fNumberFields.get(i); + IStatus s = validatePositiveNumber(text.getText()); + status = StatusUtil.getMoreSevere(s, status); + } } - - /* - * @see PreferencePage#performOk() - */ - public boolean performOk() { - fFontEditor.store(); - // fJavaEditorHoverConfigurationBlock.performOk(); - fOverlayStore.propagate(); - PHPeclipsePlugin.getDefault().savePluginPreferences(); - return true; - } - - /* - * @see PreferencePage#performDefaults() - */ - protected void performDefaults() { - - fFontEditor.loadDefault(); - - fOverlayStore.loadDefaults(); - initializeFields(); - - handleSyntaxColorListSelection(); - handleAppearanceColorListSelection(); - handleProblemIndicationColorListSelection(); - super.performDefaults(); - - fPreviewViewer.invalidateTextPresentation(); - } - - /* - * @see DialogPage#dispose() - */ - public void dispose() { - - if (fJavaTextTools != null) { - fJavaTextTools= null; - } - - fFontEditor.setPreferencePage(null); - fFontEditor.setPreferenceStore(null); - - if (fOverlayStore != null) { - fOverlayStore.stop(); - fOverlayStore= null; - } - - super.dispose(); - } - - private Control addColorButton(Composite composite, String label, String key, int indentation) { - - Label labelControl= new Label(composite, SWT.NONE); - labelControl.setText(label); - - GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - gd.horizontalIndent= indentation; - labelControl.setLayoutData(gd); - - ColorEditor editor= new ColorEditor(composite); - Button button= editor.getButton(); - button.setData(editor); - - gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - button.setLayoutData(gd); - button.addSelectionListener(fColorButtonListener); - - fColorButtons.put(editor, key); - - return composite; - } - - private Button addCheckBox(Composite parent, String label, String key, int indentation) { - Button checkBox= new Button(parent, SWT.CHECK); - checkBox.setText(label); - - GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - gd.horizontalIndent= indentation; - gd.horizontalSpan= 2; - checkBox.setLayoutData(gd); - checkBox.addSelectionListener(fCheckBoxListener); - - fCheckBoxes.put(checkBox, key); - - return checkBox; - } - - private Control addTextField(Composite composite, String label, String key, int textLimit, int indentation, boolean isNumber) { - - Label labelControl= new Label(composite, SWT.NONE); - labelControl.setText(label); - GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - gd.horizontalIndent= indentation; - labelControl.setLayoutData(gd); - - Text textControl= new Text(composite, SWT.BORDER | SWT.SINGLE); - gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - gd.widthHint= convertWidthInCharsToPixels(textLimit + 1); - textControl.setLayoutData(gd); - textControl.setTextLimit(textLimit); - fTextFields.put(textControl, key); - if (isNumber) { - fNumberFields.add(textControl); - textControl.addModifyListener(fNumberFieldListener); - } else { - textControl.addModifyListener(fTextFieldListener); - } - - return textControl; - } - - private void addTextFontEditor(Composite parent, String label, String key) { - - Composite editorComposite= new Composite(parent, SWT.NONE); - GridLayout layout= new GridLayout(); - layout.numColumns= 3; - editorComposite.setLayout(layout); - fFontEditor= new WorkbenchChainedTextFontFieldEditor(key, label, editorComposite); - fFontEditor.setChangeButtonText(PHPUIMessages.getString("PHPEditorPreferencePage.change")); //$NON-NLS-1$ - - GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gd.horizontalSpan= 2; - editorComposite.setLayoutData(gd); - } - - private String loadPreviewContentFromFile(String filename) { - String line; - String separator= System.getProperty("line.separator"); //$NON-NLS-1$ - StringBuffer buffer= new StringBuffer(512); - BufferedReader reader= null; - try { - reader= new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(filename))); - while ((line= reader.readLine()) != null) { - buffer.append(line); - buffer.append(separator); - } - } catch (IOException io) { - PHPeclipsePlugin.log(io); - } finally { - if (reader != null) { - try { reader.close(); } catch (IOException e) {} - } - } - return buffer.toString(); - } - - private void numberFieldChanged(Text textControl) { - String number= textControl.getText(); - IStatus status= validatePositiveNumber(number); - if (!status.matches(IStatus.ERROR)) - fOverlayStore.setValue((String) fTextFields.get(textControl), number); - updateStatus(status); - } - - private IStatus validatePositiveNumber(String number) { - StatusInfo status= new StatusInfo(); - if (number.length() == 0) { - status.setError(PHPUIMessages.getString("PHPEditorPreferencePage.empty_input")); //$NON-NLS-1$ - } else { - try { - int value= Integer.parseInt(number); - if (value < 0) - status.setError(PHPUIMessages.getFormattedString("PHPEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ - } catch (NumberFormatException e) { - status.setError(PHPUIMessages.getFormattedString("PHPEditorPreferencePage.invalid_input", number)); //$NON-NLS-1$ - } - } - return status; - } - - private void updateStatus(IStatus status) { - if (!status.matches(IStatus.ERROR)) { - for (int i= 0; i < fNumberFields.size(); i++) { - Text text= (Text) fNumberFields.get(i); - IStatus s= validatePositiveNumber(text.getText()); - status= StatusUtil.getMoreSevere(s, status); - } - } - setValid(!status.matches(IStatus.ERROR)); - StatusUtil.applyToStatusLine(this, status); - } - - /** - * @deprecated Inline to avoid reference to preference page - */ - public static boolean indicateQuixFixableProblems() { - return PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_CORRECTION_INDICATION); - } - - /** - * @deprecated Inline to avoid reference to preference page - */ -// static public boolean synchronizeOutlineOnCursorMove() { -// return PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE); -// } + setValid(!status.matches(IStatus.ERROR)); + StatusUtil.applyToStatusLine(this, status); + } + + /** + * @deprecated Inline to avoid reference to preference page + */ + public static boolean indicateQuixFixableProblems() { + return PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_CORRECTION_INDICATION); + } + + /** + * @deprecated Inline to avoid reference to preference page + */ + // static public boolean synchronizeOutlineOnCursorMove() { + // return PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE); + // } } \ No newline at end of file diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/ContentAssistPreference.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/ContentAssistPreference.java index aaec612..61d4a1b 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/ContentAssistPreference.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/ContentAssistPreference.java @@ -9,242 +9,281 @@ import net.sourceforge.phpdt.ui.PreferenceConstants; import net.sourceforge.phpdt.ui.text.IColorManager; import net.sourceforge.phpdt.ui.text.JavaTextTools; import net.sourceforge.phpeclipse.PHPeclipsePlugin; +import net.sourceforge.phpeclipse.phpeditor.php.HTMLCompletionProcessor; import net.sourceforge.phpeclipse.phpeditor.php.IPHPPartitionScannerConstants; import net.sourceforge.phpeclipse.phpeditor.php.PHPCompletionProcessor; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferenceConverter; -import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.contentassist.ContentAssistant; import org.eclipse.jface.text.contentassist.IContentAssistProcessor; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.RGB; - public class ContentAssistPreference { - - /** Preference key for content assist auto activation */ - private final static String AUTOACTIVATION= PreferenceConstants.CODEASSIST_AUTOACTIVATION; - /** Preference key for content assist auto activation delay */ - private final static String AUTOACTIVATION_DELAY= PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY; - /** Preference key for content assist proposal color */ - private final static String PROPOSALS_FOREGROUND= PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND; - /** Preference key for content assist proposal color */ - private final static String PROPOSALS_BACKGROUND= PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND; - /** Preference key for content assist parameters color */ - private final static String PARAMETERS_FOREGROUND= PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND; - /** Preference key for content assist parameters color */ - private final static String PARAMETERS_BACKGROUND= PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND; - /** Preference key for content assist completion replacement color */ - private final static String COMPLETION_REPLACEMENT_FOREGROUND= PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND; - /** Preference key for content assist completion replacement color */ - private final static String COMPLETION_REPLACEMENT_BACKGROUND= PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND; - /** Preference key for content assist auto insert */ - private final static String AUTOINSERT= PreferenceConstants.CODEASSIST_AUTOINSERT; - - /** Preference key for php content assist auto activation triggers */ - private final static String AUTOACTIVATION_TRIGGERS_JAVA= PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA; - /** Preference key for phpdoc content assist auto activation triggers */ - private final static String AUTOACTIVATION_TRIGGERS_JAVADOC= PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC; - - /** Preference key for visibility of proposals */ - private final static String SHOW_VISIBLE_PROPOSALS= PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS; - /** Preference key for alphabetic ordering of proposals */ - private final static String ORDER_PROPOSALS= PreferenceConstants.CODEASSIST_ORDER_PROPOSALS; - /** Preference key for case sensitivity of propsals */ - private final static String CASE_SENSITIVITY= PreferenceConstants.CODEASSIST_CASE_SENSITIVITY; - /** Preference key for adding imports on code assist */ - private final static String ADD_IMPORT= PreferenceConstants.CODEASSIST_ADDIMPORT; - /** Preference key for inserting content assist */ - private static final String INSERT_COMPLETION= PreferenceConstants.CODEASSIST_INSERT_COMPLETION; - /** Preference key for filling argument names on method completion */ - private static final String FILL_METHOD_ARGUMENTS= PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES; - /** Preference key for guessing argument names on method completion */ - private static final String GUESS_METHOD_ARGUMENTS= PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS; - - - private static Color getColor(IPreferenceStore store, String key, IColorManager manager) { - RGB rgb= PreferenceConverter.getColor(store, key); - return manager.getColor(rgb); - } - - private static Color getColor(IPreferenceStore store, String key) { - JavaTextTools textTools= PHPeclipsePlugin.getDefault().getJavaTextTools(); - return getColor(store, key, textTools.getColorManager()); - } - - private static PHPCompletionProcessor getJavaProcessor(ContentAssistant assistant) { - IContentAssistProcessor p= assistant.getContentAssistProcessor(IPHPPartitionScannerConstants.PHP); - if (p instanceof PHPCompletionProcessor) - return (PHPCompletionProcessor) p; - return null; - } - - private static PHPDocCompletionProcessor getJavaDocProcessor(ContentAssistant assistant) { - IContentAssistProcessor p= assistant.getContentAssistProcessor(IPHPPartitionScannerConstants.PHP_MULTILINE_COMMENT); - if (p instanceof PHPDocCompletionProcessor) - return (PHPDocCompletionProcessor) p; - return null; - } - - private static void configureJavaProcessor(ContentAssistant assistant, IPreferenceStore store) { - PHPCompletionProcessor jcp= getJavaProcessor(assistant); - if (jcp == null) - return; - - String triggers= store.getString(AUTOACTIVATION_TRIGGERS_JAVA); - if (triggers != null) - jcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); - -// boolean enabled= store.getBoolean(SHOW_VISIBLE_PROPOSALS); -// jcp.restrictProposalsToVisibility(enabled); -// -// enabled= store.getBoolean(CASE_SENSITIVITY); -// jcp.restrictProposalsToMatchingCases(enabled); -// -// enabled= store.getBoolean(ORDER_PROPOSALS); -// jcp.orderProposalsAlphabetically(enabled); -// -// enabled= store.getBoolean(ADD_IMPORT); -// jcp.allowAddingImports(enabled); - } - - private static void configureJavaDocProcessor(ContentAssistant assistant, IPreferenceStore store) { - PHPDocCompletionProcessor jdcp= getJavaDocProcessor(assistant); - if (jdcp == null) - return; - - String triggers= store.getString(AUTOACTIVATION_TRIGGERS_JAVADOC); - if (triggers != null) - jdcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); - - boolean enabled= store.getBoolean(CASE_SENSITIVITY); - jdcp.restrictProposalsToMatchingCases(enabled); - - enabled= store.getBoolean(ORDER_PROPOSALS); - jdcp.orderProposalsAlphabetically(enabled); - } - - /** - * Configure the given content assistant from the given store. - */ - public static void configure(ContentAssistant assistant, IPreferenceStore store) { - - JavaTextTools textTools= PHPeclipsePlugin.getDefault().getJavaTextTools(); - IColorManager manager= textTools.getColorManager(); - - - boolean enabled= store.getBoolean(AUTOACTIVATION); - assistant.enableAutoActivation(enabled); - - int delay= store.getInt(AUTOACTIVATION_DELAY); - assistant.setAutoActivationDelay(delay); - - Color c= getColor(store, PROPOSALS_FOREGROUND, manager); - assistant.setProposalSelectorForeground(c); - - c= getColor(store, PROPOSALS_BACKGROUND, manager); - assistant.setProposalSelectorBackground(c); - - c= getColor(store, PARAMETERS_FOREGROUND, manager); - assistant.setContextInformationPopupForeground(c); - assistant.setContextSelectorForeground(c); - - c= getColor(store, PARAMETERS_BACKGROUND, manager); - assistant.setContextInformationPopupBackground(c); - assistant.setContextSelectorBackground(c); - - enabled= store.getBoolean(AUTOINSERT); - assistant.enableAutoInsert(enabled); - - configureJavaProcessor(assistant, store); - configureJavaDocProcessor(assistant, store); - } - - - private static void changeJavaProcessor(ContentAssistant assistant, IPreferenceStore store, String key) { - PHPCompletionProcessor jcp= getJavaProcessor(assistant); - if (jcp == null) - return; - - if (AUTOACTIVATION_TRIGGERS_JAVA.equals(key)) { - String triggers= store.getString(AUTOACTIVATION_TRIGGERS_JAVA); - if (triggers != null) - jcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); - } -// else if (SHOW_VISIBLE_PROPOSALS.equals(key)) { -// boolean enabled= store.getBoolean(SHOW_VISIBLE_PROPOSALS); -// jcp.restrictProposalsToVisibility(enabled); -// } else if (CASE_SENSITIVITY.equals(key)) { -// boolean enabled= store.getBoolean(CASE_SENSITIVITY); -// jcp.restrictProposalsToMatchingCases(enabled); -// } else if (ORDER_PROPOSALS.equals(key)) { -// boolean enable= store.getBoolean(ORDER_PROPOSALS); -// jcp.orderProposalsAlphabetically(enable); -// } else if (ADD_IMPORT.equals(key)) { -// boolean enabled= store.getBoolean(ADD_IMPORT); -// jcp.allowAddingImports(enabled); -// } - } - - private static void changeJavaDocProcessor(ContentAssistant assistant, IPreferenceStore store, String key) { - PHPDocCompletionProcessor jdcp= getJavaDocProcessor(assistant); - if (jdcp == null) - return; - - if (AUTOACTIVATION_TRIGGERS_JAVADOC.equals(key)) { - String triggers= store.getString(AUTOACTIVATION_TRIGGERS_JAVADOC); - if (triggers != null) - jdcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); - } else if (CASE_SENSITIVITY.equals(key)) { - boolean enabled= store.getBoolean(CASE_SENSITIVITY); - jdcp.restrictProposalsToMatchingCases(enabled); - } else if (ORDER_PROPOSALS.equals(key)) { - boolean enable= store.getBoolean(ORDER_PROPOSALS); - jdcp.orderProposalsAlphabetically(enable); - } - } - - /** - * Changes the configuration of the given content assistant according to the given property - * change event and the given preference store. - */ - public static void changeConfiguration(ContentAssistant assistant, IPreferenceStore store, PropertyChangeEvent event) { - - String p= event.getProperty(); - - if (AUTOACTIVATION.equals(p)) { - boolean enabled= store.getBoolean(AUTOACTIVATION); - assistant.enableAutoActivation(enabled); - } else if (AUTOACTIVATION_DELAY.equals(p)) { - int delay= store.getInt(AUTOACTIVATION_DELAY); - assistant.setAutoActivationDelay(delay); - } else if (PROPOSALS_FOREGROUND.equals(p)) { - Color c= getColor(store, PROPOSALS_FOREGROUND); - assistant.setProposalSelectorForeground(c); - } else if (PROPOSALS_BACKGROUND.equals(p)) { - Color c= getColor(store, PROPOSALS_BACKGROUND); - assistant.setProposalSelectorBackground(c); - } else if (PARAMETERS_FOREGROUND.equals(p)) { - Color c= getColor(store, PARAMETERS_FOREGROUND); - assistant.setContextInformationPopupForeground(c); - assistant.setContextSelectorForeground(c); - } else if (PARAMETERS_BACKGROUND.equals(p)) { - Color c= getColor(store, PARAMETERS_BACKGROUND); - assistant.setContextInformationPopupBackground(c); - assistant.setContextSelectorBackground(c); - } else if (AUTOINSERT.equals(p)) { - boolean enabled= store.getBoolean(AUTOINSERT); - assistant.enableAutoInsert(enabled); - } - - changeJavaProcessor(assistant, store, p); - changeJavaDocProcessor(assistant, store, p); - } - - public static boolean fillArgumentsOnMethodCompletion(IPreferenceStore store) { - return store.getBoolean(FILL_METHOD_ARGUMENTS); - } -} + /** Preference key for content assist auto activation */ + private final static String AUTOACTIVATION = PreferenceConstants.CODEASSIST_AUTOACTIVATION; + /** Preference key for content assist auto activation delay */ + private final static String AUTOACTIVATION_DELAY = PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY; + /** Preference key for content assist proposal color */ + private final static String PROPOSALS_FOREGROUND = PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND; + /** Preference key for content assist proposal color */ + private final static String PROPOSALS_BACKGROUND = PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND; + /** Preference key for content assist parameters color */ + private final static String PARAMETERS_FOREGROUND = PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND; + /** Preference key for content assist parameters color */ + private final static String PARAMETERS_BACKGROUND = PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND; + /** Preference key for content assist completion replacement color */ + private final static String COMPLETION_REPLACEMENT_FOREGROUND = PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND; + /** Preference key for content assist completion replacement color */ + private final static String COMPLETION_REPLACEMENT_BACKGROUND = PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND; + /** Preference key for content assist auto insert */ + private final static String AUTOINSERT = PreferenceConstants.CODEASSIST_AUTOINSERT; + + /** Preference key for php content assist auto activation triggers */ + private final static String AUTOACTIVATION_TRIGGERS_JAVA = PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA; + /** Preference key for phpdoc content assist auto activation triggers */ + private final static String AUTOACTIVATION_TRIGGERS_JAVADOC = PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC; + /** Preference key for html content assist auto activation triggers */ + private final static String AUTOACTIVATION_TRIGGERS_HTML = PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML; + + /** Preference key for visibility of proposals */ + private final static String SHOW_VISIBLE_PROPOSALS = PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS; + /** Preference key for alphabetic ordering of proposals */ + private final static String ORDER_PROPOSALS = PreferenceConstants.CODEASSIST_ORDER_PROPOSALS; + /** Preference key for case sensitivity of propsals */ + private final static String CASE_SENSITIVITY = PreferenceConstants.CODEASSIST_CASE_SENSITIVITY; + /** Preference key for adding imports on code assist */ + private final static String ADD_IMPORT = PreferenceConstants.CODEASSIST_ADDIMPORT; + /** Preference key for inserting content assist */ + private static final String INSERT_COMPLETION = PreferenceConstants.CODEASSIST_INSERT_COMPLETION; + /** Preference key for filling argument names on method completion */ + private static final String FILL_METHOD_ARGUMENTS = PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES; + /** Preference key for guessing argument names on method completion */ + private static final String GUESS_METHOD_ARGUMENTS = PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS; + + private static Color getColor(IPreferenceStore store, String key, IColorManager manager) { + RGB rgb = PreferenceConverter.getColor(store, key); + return manager.getColor(rgb); + } + + private static Color getColor(IPreferenceStore store, String key) { + JavaTextTools textTools = PHPeclipsePlugin.getDefault().getJavaTextTools(); + return getColor(store, key, textTools.getColorManager()); + } + + private static PHPCompletionProcessor getJavaProcessor(ContentAssistant assistant) { + IContentAssistProcessor p = assistant.getContentAssistProcessor(IPHPPartitionScannerConstants.PHP); + if (p instanceof PHPCompletionProcessor) + return (PHPCompletionProcessor) p; + return null; + } + + private static PHPDocCompletionProcessor getJavaDocProcessor(ContentAssistant assistant) { + IContentAssistProcessor p = assistant.getContentAssistProcessor(IPHPPartitionScannerConstants.PHP_MULTILINE_COMMENT); + if (p instanceof PHPDocCompletionProcessor) + return (PHPDocCompletionProcessor) p; + return null; + } + + private static HTMLCompletionProcessor getHTMLProcessor(ContentAssistant assistant) { + IContentAssistProcessor p = assistant.getContentAssistProcessor(IPHPPartitionScannerConstants.HTML); + if (p instanceof HTMLCompletionProcessor) + return (HTMLCompletionProcessor) p; + return null; + } + + private static void configureJavaProcessor(ContentAssistant assistant, IPreferenceStore store) { + PHPCompletionProcessor pcp = getJavaProcessor(assistant); + if (pcp == null) + return; + + String triggers = store.getString(AUTOACTIVATION_TRIGGERS_JAVA); + if (triggers != null) + pcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); + boolean enabled; + // boolean enabled= store.getBoolean(SHOW_VISIBLE_PROPOSALS); + // jcp.restrictProposalsToVisibility(enabled); + // + // enabled= store.getBoolean(CASE_SENSITIVITY); + // jcp.restrictProposalsToMatchingCases(enabled); + // + enabled = store.getBoolean(ORDER_PROPOSALS); + pcp.orderProposalsAlphabetically(enabled); + // + // enabled= store.getBoolean(ADD_IMPORT); + // jcp.allowAddingImports(enabled); + } + + private static void configureJavaDocProcessor(ContentAssistant assistant, IPreferenceStore store) { + PHPDocCompletionProcessor pdcp = getJavaDocProcessor(assistant); + if (pdcp == null) + return; + + String triggers = store.getString(AUTOACTIVATION_TRIGGERS_JAVADOC); + if (triggers != null) + pdcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); + + boolean enabled = store.getBoolean(CASE_SENSITIVITY); + pdcp.restrictProposalsToMatchingCases(enabled); + + enabled = store.getBoolean(ORDER_PROPOSALS); + pdcp.orderProposalsAlphabetically(enabled); + } + + private static void configureHTMLProcessor(ContentAssistant assistant, IPreferenceStore store) { + HTMLCompletionProcessor hcp = getHTMLProcessor(assistant); + if (hcp == null) + return; + + String triggers = store.getString(AUTOACTIVATION_TRIGGERS_HTML); + if (triggers != null) + hcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); + + boolean enabled; + // boolean enabled = store.getBoolean(CASE_SENSITIVITY); + // jdcp.restrictProposalsToMatchingCases(enabled); + + enabled = store.getBoolean(ORDER_PROPOSALS); + hcp.orderProposalsAlphabetically(enabled); + } + /** + * Configure the given content assistant from the given store. + */ + public static void configure(ContentAssistant assistant, IPreferenceStore store) { + + JavaTextTools textTools = PHPeclipsePlugin.getDefault().getJavaTextTools(); + IColorManager manager = textTools.getColorManager(); + + boolean enabled = store.getBoolean(AUTOACTIVATION); + assistant.enableAutoActivation(enabled); + + int delay = store.getInt(AUTOACTIVATION_DELAY); + assistant.setAutoActivationDelay(delay); + + Color c = getColor(store, PROPOSALS_FOREGROUND, manager); + assistant.setProposalSelectorForeground(c); + + c = getColor(store, PROPOSALS_BACKGROUND, manager); + assistant.setProposalSelectorBackground(c); + + c = getColor(store, PARAMETERS_FOREGROUND, manager); + assistant.setContextInformationPopupForeground(c); + assistant.setContextSelectorForeground(c); + + c = getColor(store, PARAMETERS_BACKGROUND, manager); + assistant.setContextInformationPopupBackground(c); + assistant.setContextSelectorBackground(c); + + enabled = store.getBoolean(AUTOINSERT); + assistant.enableAutoInsert(enabled); + + configureJavaProcessor(assistant, store); + configureJavaDocProcessor(assistant, store); + configureHTMLProcessor(assistant, store); + } + + private static void changeJavaProcessor(ContentAssistant assistant, IPreferenceStore store, String key) { + PHPCompletionProcessor jcp = getJavaProcessor(assistant); + if (jcp == null) + return; + + if (AUTOACTIVATION_TRIGGERS_JAVA.equals(key)) { + String triggers = store.getString(AUTOACTIVATION_TRIGGERS_JAVA); + if (triggers != null) + jcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); + } + // else if (SHOW_VISIBLE_PROPOSALS.equals(key)) { + // boolean enabled= store.getBoolean(SHOW_VISIBLE_PROPOSALS); + // jcp.restrictProposalsToVisibility(enabled); + // } else if (CASE_SENSITIVITY.equals(key)) { + // boolean enabled= store.getBoolean(CASE_SENSITIVITY); + // jcp.restrictProposalsToMatchingCases(enabled); } + else if (ORDER_PROPOSALS.equals(key)) { + boolean enable = store.getBoolean(ORDER_PROPOSALS); + jcp.orderProposalsAlphabetically(enable); + // } else if (ADD_IMPORT.equals(key)) { + // boolean enabled= store.getBoolean(ADD_IMPORT); + // jcp.allowAddingImports(enabled); + } + } + + private static void changeJavaDocProcessor(ContentAssistant assistant, IPreferenceStore store, String key) { + PHPDocCompletionProcessor jdcp = getJavaDocProcessor(assistant); + if (jdcp == null) + return; + + if (AUTOACTIVATION_TRIGGERS_JAVADOC.equals(key)) { + String triggers = store.getString(AUTOACTIVATION_TRIGGERS_JAVADOC); + if (triggers != null) + jdcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); + } else if (CASE_SENSITIVITY.equals(key)) { + boolean enabled = store.getBoolean(CASE_SENSITIVITY); + jdcp.restrictProposalsToMatchingCases(enabled); + } else if (ORDER_PROPOSALS.equals(key)) { + boolean enable = store.getBoolean(ORDER_PROPOSALS); + jdcp.orderProposalsAlphabetically(enable); + } + } + + private static void changeHTMLProcessor(ContentAssistant assistant, IPreferenceStore store, String key) { + HTMLCompletionProcessor jdcp = getHTMLProcessor(assistant); + if (jdcp == null) + return; + + if (AUTOACTIVATION_TRIGGERS_HTML.equals(key)) { + String triggers = store.getString(AUTOACTIVATION_TRIGGERS_HTML); + if (triggers != null) + jdcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray()); + // } else if (CASE_SENSITIVITY.equals(key)) { + // boolean enabled = store.getBoolean(CASE_SENSITIVITY); + // jdcp.restrictProposalsToMatchingCases(enabled); + } else if (ORDER_PROPOSALS.equals(key)) { + boolean enable = store.getBoolean(ORDER_PROPOSALS); + jdcp.orderProposalsAlphabetically(enable); + } + } + /** + * Changes the configuration of the given content assistant according to the given property + * change event and the given preference store. + */ + public static void changeConfiguration(ContentAssistant assistant, IPreferenceStore store, PropertyChangeEvent event) { + + String p = event.getProperty(); + + if (AUTOACTIVATION.equals(p)) { + boolean enabled = store.getBoolean(AUTOACTIVATION); + assistant.enableAutoActivation(enabled); + } else if (AUTOACTIVATION_DELAY.equals(p)) { + int delay = store.getInt(AUTOACTIVATION_DELAY); + assistant.setAutoActivationDelay(delay); + } else if (PROPOSALS_FOREGROUND.equals(p)) { + Color c = getColor(store, PROPOSALS_FOREGROUND); + assistant.setProposalSelectorForeground(c); + } else if (PROPOSALS_BACKGROUND.equals(p)) { + Color c = getColor(store, PROPOSALS_BACKGROUND); + assistant.setProposalSelectorBackground(c); + } else if (PARAMETERS_FOREGROUND.equals(p)) { + Color c = getColor(store, PARAMETERS_FOREGROUND); + assistant.setContextInformationPopupForeground(c); + assistant.setContextSelectorForeground(c); + } else if (PARAMETERS_BACKGROUND.equals(p)) { + Color c = getColor(store, PARAMETERS_BACKGROUND); + assistant.setContextInformationPopupBackground(c); + assistant.setContextSelectorBackground(c); + } else if (AUTOINSERT.equals(p)) { + boolean enabled = store.getBoolean(AUTOINSERT); + assistant.enableAutoInsert(enabled); + } + + changeJavaProcessor(assistant, store, p); + changeJavaDocProcessor(assistant, store, p); + changeHTMLProcessor(assistant, store, p); + } + + public static boolean fillArgumentsOnMethodCompletion(IPreferenceStore store) { + return store.getBoolean(FILL_METHOD_ARGUMENTS); + } +} diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/PreferenceConstants.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/PreferenceConstants.java index 0afea31..3647756 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/PreferenceConstants.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/PreferenceConstants.java @@ -38,912 +38,912 @@ import net.sourceforge.phpdt.ui.text.IJavaColorConstants; */ public class PreferenceConstants { - private PreferenceConstants() { - } - - /** - * A named preference that controls return type rendering of methods in the UI. - *

- * Value is of type Boolean: if true return types - * are rendered - *

- */ - public static final String APPEARANCE_METHOD_RETURNTYPE= "net.sourceforge.phpdt.ui.methodreturntype";//$NON-NLS-1$ - - /** - * A named preference that controls if override indicators are rendered in the UI. - *

- * Value is of type Boolean: if true override - * indicators are rendered - *

+ private PreferenceConstants() { + } + + /** + * A named preference that controls return type rendering of methods in the UI. + *

+ * Value is of type Boolean: if true return types + * are rendered + *

+ */ + public static final String APPEARANCE_METHOD_RETURNTYPE = "net.sourceforge.phpdt.ui.methodreturntype"; //$NON-NLS-1$ + + /** + * A named preference that controls if override indicators are rendered in the UI. + *

+ * Value is of type Boolean: if true override + * indicators are rendered + *

*/ - public static final String APPEARANCE_OVERRIDE_INDICATOR= "net.sourceforge.phpdt.ui.overrideindicator";//$NON-NLS-1$ - - /** - * A named preference that defines the pattern used for package name compression. - *

- * Value is of type String. For example foe the given package name 'org.eclipse.jdt' pattern - * '.' will compress it to '..jdt', '1~' to 'o~.e~.jdt'. - *

- */ - public static final String APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW= "PackagesView.pkgNamePatternForPackagesView";//$NON-NLS-1$ - - /** - * A named preference that controls if package name compression is turned on or off. - *

- * Value is of type Boolean. - *

- * - * @see #APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW - */ - public static final String APPEARANCE_COMPRESS_PACKAGE_NAMES= "net.sourceforge.phpdt.ui.compresspackagenames";//$NON-NLS-1$ - - /** - * A named preference that controls if empty inner packages are folded in - * the hierarchical mode of the package explorer. - *

- * Value is of type Boolean: if true empty - * inner packages are folded. - *

- * @since 2.1 - */ - public static final String APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER= "net.sourceforge.phpdt.ui.flatPackagesInPackageExplorer";//$NON-NLS-1$ - - /** - * A named preference that defines how member elements are ordered by the - * Java views using the JavaElementSorter. - *

- * Value is of type String: A comma separated list of the - * following entries. Each entry must be in the list, no duplication. List - * order defines the sort order. - *

- *

- * @since 2.1 - */ - public static final String APPEARANCE_MEMBER_SORT_ORDER= "outlinesortoption"; //$NON-NLS-1$ - - /** - * A named preference that controls if prefix removal during setter/getter generation is turned on or off. - *

- * Value is of type Boolean. - *

- */ - public static final String CODEGEN_USE_GETTERSETTER_PREFIX= "net.sourceforge.phpdt.ui.gettersetter.prefix.enable";//$NON-NLS-1$ - - /** - * A named preference that holds a list of prefixes to be removed from a local variable to compute setter - * and gettter names. - *

- * Value is of type String: comma separated list of prefixed - *

- * - * @see #CODEGEN_USE_GETTERSETTER_PREFIX - */ - public static final String CODEGEN_GETTERSETTER_PREFIX= "net.sourceforge.phpdt.ui.gettersetter.prefix.list";//$NON-NLS-1$ - - /** - * A named preference that controls if suffix removal during setter/getter generation is turned on or off. - *

- * Value is of type Boolean. - *

- */ - public static final String CODEGEN_USE_GETTERSETTER_SUFFIX= "net.sourceforge.phpdt.ui.gettersetter.suffix.enable";//$NON-NLS-1$ - - /** - * A named preference that holds a list of suffixes to be removed from a local variable to compute setter - * and getter names. - *

- * Value is of type String: comma separated list of suffixes - *

- * - * @see #CODEGEN_USE_GETTERSETTER_SUFFIX - */ - public static final String CODEGEN_GETTERSETTER_SUFFIX= "net.sourceforge.phpdt.ui.gettersetter.suffix.list"; //$NON-NLS-1$ - - /** - * A name preference that controls if a JavaDoc stub gets added to newly created types and methods. - *

- * Value is of type Boolean. - *

- */ - public static final String CODEGEN__JAVADOC_STUBS= "net.sourceforge.phpdt.ui.phpdoc"; //$NON-NLS-1$ - - /** - * A named preference that controls if a non-phpdoc comment gets added to methods generated via the - * "Override Methods" operation. - *

- * Value is of type Boolean. - *

- */ - public static final String CODEGEN__NON_JAVADOC_COMMENTS= "net.sourceforge.phpdt.ui.seecomments"; //$NON-NLS-1$ - - /** - * A named preference that controls if a file comment gets added to newly created files. - *

- * Value is of type Boolean. - *

- */ - public static final String CODEGEN__FILE_COMMENTS= "net.sourceforge.phpdt.ui.filecomments"; //$NON-NLS-1$ - - /** - * A named preference that holds a list of comma separated package names. The list specifies the import order used by - * the "Organize Imports" opeation. - *

- * Value is of type String: semicolon separated list of package - * names - *

- */ - public static final String ORGIMPORTS_IMPORTORDER= "net.sourceforge.phpdt.ui.importorder"; //$NON-NLS-1$ - - /** - * A named preference that specifies the number of imports added before a star-import declaration is used. - *

- * Value is of type Int: positive value specifing the number of non star-import is used - *

- */ - public static final String ORGIMPORTS_ONDEMANDTHRESHOLD= "net.sourceforge.phpdt.ui.ondemandthreshold"; //$NON-NLS-1$ - - /** - * A named preferences that controls if types that start with a lower case letters get added by the - * "Organize Import" operation. - *

- * Value is of type Boolean. - *

- */ - public static final String ORGIMPORTS_IGNORELOWERCASE= "net.sourceforge.phpdt.ui.ignorelowercasenames"; //$NON-NLS-1$ - - /** - * A named preference that speficies whether children of a compilation unit are shown in the package explorer. - *

- * Value is of type Boolean. - *

- */ - public static final String SHOW_CU_CHILDREN= "net.sourceforge.phpdt.ui.packages.cuchildren"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the package explorer's selection is linked to the active editor. - *

- * Value is of type Boolean. - *

- */ - public static final String LINK_PACKAGES_TO_EDITOR= "net.sourceforge.phpdt.ui.packages.linktoeditor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the hierarchy view's selection is linked to the active editor. - *

- * Value is of type Boolean. - *

- */ - public static final String LINK_TYPEHIERARCHY_TO_EDITOR= "net.sourceforge.phpdt.ui.packages.linktypehierarchytoeditor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the browsing view's selection is - * linked to the active editor. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public static final String LINK_BROWSING_VIEW_TO_EDITOR= "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether new projects are generated using source and output folder. - *

- * Value is of type Boolean. if true new projects are created with a source and - * output folder. If false source and output folder equals to the project. - *

- */ - public static final String SRCBIN_FOLDERS_IN_NEWPROJ= "net.sourceforge.phpdt.ui.wizards.srcBinFoldersInNewProjects"; //$NON-NLS-1$ - - /** - * A named preference that specifies the source folder name used when creating a new Java project. Value is inactive - * if SRCBIN_FOLDERS_IN_NEWPROJ is set to false. - *

- * Value is of type String. - *

- * - * @see #SRCBIN_FOLDERS_IN_NEWPROJ - */ - public static final String SRCBIN_SRCNAME= "net.sourceforge.phpdt.ui.wizards.srcBinFoldersSrcName"; //$NON-NLS-1$ - - /** - * A named preference that specifies the output folder name used when creating a new Java project. Value is inactive - * if SRCBIN_FOLDERS_IN_NEWPROJ is set to false. - *

- * Value is of type String. - *

- * - * @see #SRCBIN_FOLDERS_IN_NEWPROJ - */ - public static final String SRCBIN_BINNAME= "net.sourceforge.phpdt.ui.wizards.srcBinFoldersBinName"; //$NON-NLS-1$ - - /** - * A named preference that holds a list of possible JRE libraries used by the New Java Project wizard. An library - * consists of a description and an arbitrary number of IClasspathEntrys, that will represent the - * JRE on the new project's classpath. - *

- * Value is of type String: a semicolon separated list of encoded JRE libraries. - * NEWPROJECT_JRELIBRARY_INDEX defines the currently used library. Clients - * should use the method encodeJRELibrary to encode a JRE library into a string - * and the methods decodeJRELibraryDescription(String) and - * decodeJRELibraryClasspathEntries(String) to decode the description and the array - * of classpath entries from an encoded string. - *

- * - * @see #NEWPROJECT_JRELIBRARY_INDEX - * @see #encodeJRELibrary(String, IClasspathEntry[]) - * @see #decodeJRELibraryDescription(String) - * @see #decodeJRELibraryClasspathEntries(String) - */ - public static final String NEWPROJECT_JRELIBRARY_LIST= "net.sourceforge.phpdt.ui.wizards.jre.list"; //$NON-NLS-1$ - - /** - * A named preferences that specifies the current active JRE library. - *

- * Value is of type Int: an index into the list of possible JRE libraries. - *

- * - * @see #NEWPROJECT_JRELIBRARY_LIST - */ - public static final String NEWPROJECT_JRELIBRARY_INDEX= "net.sourceforge.phpdt.ui.wizards.jre.index"; //$NON-NLS-1$ - - /** - * A named preference that controls if a new type hierarchy gets opened in a - * new type hierarchy perspective or inside the type hierarchy view part. - *

- * Value is of type String: possible values are - * OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE or - * OPEN_TYPE_HIERARCHY_IN_VIEW_PART. - *

- * - * @see #OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE - * @see #OPEN_TYPE_HIERARCHY_IN_VIEW_PART - */ - public static final String OPEN_TYPE_HIERARCHY= "net.sourceforge.phpdt.ui.openTypeHierarchy"; //$NON-NLS-1$ - - /** - * A string value used by the named preference OPEN_TYPE_HIERARCHY. - * - * @see #OPEN_TYPE_HIERARCHY - */ - public static final String OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE= "perspective"; //$NON-NLS-1$ - - /** - * A string value used by the named preference OPEN_TYPE_HIERARCHY. - * - * @see #OPEN_TYPE_HIERARCHY - */ - public static final String OPEN_TYPE_HIERARCHY_IN_VIEW_PART= "viewPart"; //$NON-NLS-1$ - - /** - * A named preference that controls the behaviour when double clicking on a container in the packages view. - *

- * Value is of type String: possible values are - * DOUBLE_CLICK_GOES_INTO or - * DOUBLE_CLICK_EXPANDS. - *

- * - * @see #DOUBLE_CLICK_EXPANDS - * @see #DOUBLE_CLICK_GOES_INTO - */ - public static final String DOUBLE_CLICK= "packageview.doubleclick"; //$NON-NLS-1$ - - /** - * A string value used by the named preference DOUBLE_CLICK. - * - * @see #DOUBLE_CLICK - */ - public static final String DOUBLE_CLICK_GOES_INTO= "packageview.gointo"; //$NON-NLS-1$ - - /** - * A string value used by the named preference DOUBLE_CLICK. - * - * @see #DOUBLE_CLICK - */ - public static final String DOUBLE_CLICK_EXPANDS= "packageview.doubleclick.expands"; //$NON-NLS-1$ - - /** - * A named preference that controls whether Java views update their presentation while editing or when saving the - * content of an editor. - *

- * Value is of type String: possible values are - * UPDATE_ON_SAVE or - * UPDATE_WHILE_EDITING. - *

- * - * @see #UPDATE_ON_SAVE - * @see #UPDATE_WHILE_EDITING - */ - public static final String UPDATE_JAVA_VIEWS= "JavaUI.update"; //$NON-NLS-1$ - - /** - * A string value used by the named preference UPDATE_JAVA_VIEWS - * - * @see #UPDATE_JAVA_VIEWS - */ - public static final String UPDATE_ON_SAVE= "JavaUI.update.onSave"; //$NON-NLS-1$ - - /** - * A string value used by the named preference UPDATE_JAVA_VIEWS - * - * @see #UPDATE_JAVA_VIEWS - */ - public static final String UPDATE_WHILE_EDITING= "JavaUI.update.whileEditing"; //$NON-NLS-1$ - - /** - * A named preference that holds the path of the Javadoc command used by the Javadoc creation wizard. - *

- * Value is of type String. - *

- */ - public static final String JAVADOC_COMMAND= "command"; //$NON-NLS-1$ - - /** - * A named preference that controls whether bracket matching highlighting is turned on or off. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_MATCHING_BRACKETS= "matchingBrackets"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to highlight matching brackets. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_MATCHING_BRACKETS_COLOR= "matchingBracketsColor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the current line highlighting is turned on or off. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_CURRENT_LINE= "currentLine"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to highlight the current line. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_CURRENT_LINE_COLOR= "currentLineColor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the print margin is turned on or off. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_PRINT_MARGIN= "printMargin"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render the print margin. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_PRINT_MARGIN_COLOR= "printMarginColor"; //$NON-NLS-1$ - - /** - * Print margin column. Int value. - */ - public final static String EDITOR_PRINT_MARGIN_COLUMN= "printMarginColumn"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used for the find/replace scope. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_FIND_SCOPE_COLOR= AbstractTextEditor.PREFERENCE_COLOR_FIND_SCOPE; - - /** - * A named preference that specifies if the editor uses spaces for tabs. - *

- * Value is of type Boolean. If truespaces instead of tabs are used - * in the editor. If false the editor inserts a tab character when pressing the tab - * key. - *

- */ - public final static String EDITOR_SPACES_FOR_TABS= "spacesForTabs"; //$NON-NLS-1$ - - /** - * A named preference that holds the number of spaces used per tab in the editor. - *

- * Value is of type Int: positive int value specifying the number of - * spaces per tab. - *

- */ - public final static String EDITOR_TAB_WIDTH= "net.sourceforge.phpdt.ui.editor.tab.width"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the outline view selection - * should stay in sync with with the element at the current cursor position. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE= "JavaEditor.SyncOutlineOnCursorMove"; //$NON-NLS-1$ - - /** - * A named preference that controls if correction indicators are shown in the UI. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_CORRECTION_INDICATION= "JavaEditor.ShowTemporaryProblem"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the editor shows problem indicators in text (squiggly lines). - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_PROBLEM_INDICATION= "problemIndication"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render problem indicators. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see #EDITOR_PROBLEM_INDICATION - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_PROBLEM_INDICATION_COLOR= "problemIndicationColor"; //$NON-NLS-1$ - - /**PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR; - * A named preference that controls whether the editor shows warning indicators in text (squiggly lines). - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_WARNING_INDICATION= "warningIndication"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render warning indicators. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see #EDITOR_WARNING_INDICATION - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_WARNING_INDICATION_COLOR= "warningIndicationColor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the editor shows task indicators in text (squiggly lines). - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_TASK_INDICATION= "taskIndication"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render task indicators. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see #EDITOR_TASK_INDICATION - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_TASK_INDICATION_COLOR= "taskIndicationColor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the editor shows bookmark - * indicators in text (squiggly lines). - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_BOOKMARK_INDICATION= "bookmarkIndication"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render bookmark indicators. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see #EDITOR_BOOKMARK_INDICATION - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - * @since 2.1 - */ - public final static String EDITOR_BOOKMARK_INDICATION_COLOR= "bookmarkIndicationColor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the editor shows search - * indicators in text (squiggly lines). - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_SEARCH_RESULT_INDICATION= "searchResultIndication"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render search indicators. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see #EDITOR_SEARCH_RESULT_INDICATION - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - * @since 2.1 - */ - public final static String EDITOR_SEARCH_RESULT_INDICATION_COLOR= "searchResultIndicationColor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the editor shows unknown - * indicators in text (squiggly lines). - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_UNKNOWN_INDICATION= "othersIndication"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render unknown - * indicators. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see #EDITOR_UNKNOWN_INDICATION - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - * @since 2.1 - */ - public final static String EDITOR_UNKNOWN_INDICATION_COLOR= "othersIndicationColor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the overview ruler shows error - * indicators. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER= "errorIndicationInOverviewRuler"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the overview ruler shows warning - * indicators. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER= "warningIndicationInOverviewRuler"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the overview ruler shows task - * indicators. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER= "taskIndicationInOverviewRuler"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the overview ruler shows - * bookmark indicators. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER= "bookmarkIndicationInOverviewRuler"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the overview ruler shows - * search result indicators. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER= "searchResultIndicationInOverviewRuler"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the overview ruler shows - * unknown indicators. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER= "othersIndicationInOverviewRuler"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'close strings' feature - * is enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_CLOSE_STRINGS= "closeStrings"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'wrap strings' feature is - * enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_WRAP_STRINGS= "wrapStrings"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'close brackets' feature is - * enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_CLOSE_BRACKETS= "closeBrackets"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'close braces' feature is - * enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_CLOSE_BRACES= "closeBraces"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'close php docs' feature is - * enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_CLOSE_JAVADOCS= "closeJavaDocs"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'add JavaDoc tags' feature - * is enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_ADD_JAVADOC_TAGS= "addJavaDocTags"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'format Javadoc tags' - * feature is enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_FORMAT_JAVADOCS= "formatJavaDocs"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'smart paste' feature is - * enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_SMART_PASTE= "smartPaste"; //$NON-NLS-1$ - - /** - * A named preference that controls whether the 'smart home-end' feature is - * enabled. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String EDITOR_SMART_HOME_END= AbstractTextEditor.PREFERENCE_NAVIGATION_SMART_HOME_END; - - /** - * A named preference that controls if temporary problems are evaluated and shown in the UI. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_EVALUTE_TEMPORARY_PROBLEMS= "handleTemporaryProblems"; //$NON-NLS-1$ - - /** - * A named preference that controls if the overview ruler is shown in the UI. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_OVERVIEW_RULER= "overviewRuler"; //$NON-NLS-1$ - - /** - * A named preference that controls if the line number ruler is shown in the UI. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_LINE_NUMBER_RULER= "lineNumberRuler"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render line numbers inside the line number ruler. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - * @see #EDITOR_LINE_NUMBER_RULER - */ - public final static String EDITOR_LINE_NUMBER_RULER_COLOR= "lineNumberColor"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render linked positions inside code templates. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_LINKED_POSITION_COLOR= "linkedPositionColor"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used as the text foreground. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_FOREGROUND_COLOR= AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND; - - /** - * A named preference that describes if the system default foreground color - * is used as the text foreground. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_FOREGROUND_DEFAULT_COLOR= AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT; - - /** - * A named preference that holds the color used as the text background. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_BACKGROUND_COLOR= AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND; - - /** - * A named preference that describes if the system default background color - * is used as the text foreground. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_BACKGROUND_DEFAULT_COLOR= AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT; - - /** - * Preference key suffix for bold text style preference keys. - */ - public static final String EDITOR_BOLD_SUFFIX= "_bold"; //$NON-NLS-1$ - - /** - * A named preference that holds the color used to render multi line comments. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_MULTI_LINE_COMMENT_COLOR= IJavaColorConstants.PHP_MULTI_LINE_COMMENT; - - /** - * A named preference that controls whether multi line comments are rendered in bold. - *

- * Value is of type Boolean. If true multi line comments are rendered - * in bold. If false the are rendered using no font style attribute. - *

- */ - public final static String EDITOR_MULTI_LINE_COMMENT_BOLD= IJavaColorConstants.PHP_MULTI_LINE_COMMENT + EDITOR_BOLD_SUFFIX; - - /** - * A named preference that holds the color used to render single line comments. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_SINGLE_LINE_COMMENT_COLOR= IJavaColorConstants.PHP_SINGLE_LINE_COMMENT; - - /** - * A named preference that controls whether sinle line comments are rendered in bold. - *

- * Value is of type Boolean. If true single line comments are rendered - * in bold. If false the are rendered using no font style attribute. - *

- */ - public final static String EDITOR_SINGLE_LINE_COMMENT_BOLD= IJavaColorConstants.PHP_SINGLE_LINE_COMMENT + EDITOR_BOLD_SUFFIX; - - /** - * A named preference that holds the color used to render php keywords. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_JAVA_KEYWORD_COLOR= IJavaColorConstants.PHP_KEYWORD; - - /** - * A named preference that controls whether keywords are rendered in bold. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_JAVA_KEYWORD_BOLD= IJavaColorConstants.PHP_KEYWORD + EDITOR_BOLD_SUFFIX; + public static final String APPEARANCE_OVERRIDE_INDICATOR = "net.sourceforge.phpdt.ui.overrideindicator"; //$NON-NLS-1$ + + /** + * A named preference that defines the pattern used for package name compression. + *

+ * Value is of type String. For example foe the given package name 'org.eclipse.jdt' pattern + * '.' will compress it to '..jdt', '1~' to 'o~.e~.jdt'. + *

+ */ + public static final String APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW = "PackagesView.pkgNamePatternForPackagesView"; //$NON-NLS-1$ + + /** + * A named preference that controls if package name compression is turned on or off. + *

+ * Value is of type Boolean. + *

+ * + * @see #APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW + */ + public static final String APPEARANCE_COMPRESS_PACKAGE_NAMES = "net.sourceforge.phpdt.ui.compresspackagenames"; //$NON-NLS-1$ + + /** + * A named preference that controls if empty inner packages are folded in + * the hierarchical mode of the package explorer. + *

+ * Value is of type Boolean: if true empty + * inner packages are folded. + *

+ * @since 2.1 + */ + public static final String APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER = "net.sourceforge.phpdt.ui.flatPackagesInPackageExplorer"; //$NON-NLS-1$ + + /** + * A named preference that defines how member elements are ordered by the + * Java views using the JavaElementSorter. + *

+ * Value is of type String: A comma separated list of the + * following entries. Each entry must be in the list, no duplication. List + * order defines the sort order. + *

+ *

+ * @since 2.1 + */ + public static final String APPEARANCE_MEMBER_SORT_ORDER = "outlinesortoption"; //$NON-NLS-1$ + + /** + * A named preference that controls if prefix removal during setter/getter generation is turned on or off. + *

+ * Value is of type Boolean. + *

+ */ + public static final String CODEGEN_USE_GETTERSETTER_PREFIX = "net.sourceforge.phpdt.ui.gettersetter.prefix.enable"; //$NON-NLS-1$ + + /** + * A named preference that holds a list of prefixes to be removed from a local variable to compute setter + * and gettter names. + *

+ * Value is of type String: comma separated list of prefixed + *

+ * + * @see #CODEGEN_USE_GETTERSETTER_PREFIX + */ + public static final String CODEGEN_GETTERSETTER_PREFIX = "net.sourceforge.phpdt.ui.gettersetter.prefix.list"; //$NON-NLS-1$ + + /** + * A named preference that controls if suffix removal during setter/getter generation is turned on or off. + *

+ * Value is of type Boolean. + *

+ */ + public static final String CODEGEN_USE_GETTERSETTER_SUFFIX = "net.sourceforge.phpdt.ui.gettersetter.suffix.enable"; //$NON-NLS-1$ + + /** + * A named preference that holds a list of suffixes to be removed from a local variable to compute setter + * and getter names. + *

+ * Value is of type String: comma separated list of suffixes + *

+ * + * @see #CODEGEN_USE_GETTERSETTER_SUFFIX + */ + public static final String CODEGEN_GETTERSETTER_SUFFIX = "net.sourceforge.phpdt.ui.gettersetter.suffix.list"; //$NON-NLS-1$ + + /** + * A name preference that controls if a JavaDoc stub gets added to newly created types and methods. + *

+ * Value is of type Boolean. + *

+ */ + public static final String CODEGEN__JAVADOC_STUBS = "net.sourceforge.phpdt.ui.phpdoc"; //$NON-NLS-1$ + + /** + * A named preference that controls if a non-phpdoc comment gets added to methods generated via the + * "Override Methods" operation. + *

+ * Value is of type Boolean. + *

+ */ + public static final String CODEGEN__NON_JAVADOC_COMMENTS = "net.sourceforge.phpdt.ui.seecomments"; //$NON-NLS-1$ + + /** + * A named preference that controls if a file comment gets added to newly created files. + *

+ * Value is of type Boolean. + *

+ */ + public static final String CODEGEN__FILE_COMMENTS = "net.sourceforge.phpdt.ui.filecomments"; //$NON-NLS-1$ + + /** + * A named preference that holds a list of comma separated package names. The list specifies the import order used by + * the "Organize Imports" opeation. + *

+ * Value is of type String: semicolon separated list of package + * names + *

+ */ + public static final String ORGIMPORTS_IMPORTORDER = "net.sourceforge.phpdt.ui.importorder"; //$NON-NLS-1$ + + /** + * A named preference that specifies the number of imports added before a star-import declaration is used. + *

+ * Value is of type Int: positive value specifing the number of non star-import is used + *

+ */ + public static final String ORGIMPORTS_ONDEMANDTHRESHOLD = "net.sourceforge.phpdt.ui.ondemandthreshold"; //$NON-NLS-1$ + + /** + * A named preferences that controls if types that start with a lower case letters get added by the + * "Organize Import" operation. + *

+ * Value is of type Boolean. + *

+ */ + public static final String ORGIMPORTS_IGNORELOWERCASE = "net.sourceforge.phpdt.ui.ignorelowercasenames"; //$NON-NLS-1$ + + /** + * A named preference that speficies whether children of a compilation unit are shown in the package explorer. + *

+ * Value is of type Boolean. + *

+ */ + public static final String SHOW_CU_CHILDREN = "net.sourceforge.phpdt.ui.packages.cuchildren"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the package explorer's selection is linked to the active editor. + *

+ * Value is of type Boolean. + *

+ */ + public static final String LINK_PACKAGES_TO_EDITOR = "net.sourceforge.phpdt.ui.packages.linktoeditor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the hierarchy view's selection is linked to the active editor. + *

+ * Value is of type Boolean. + *

+ */ + public static final String LINK_TYPEHIERARCHY_TO_EDITOR = "net.sourceforge.phpdt.ui.packages.linktypehierarchytoeditor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the browsing view's selection is + * linked to the active editor. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public static final String LINK_BROWSING_VIEW_TO_EDITOR = "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether new projects are generated using source and output folder. + *

+ * Value is of type Boolean. if true new projects are created with a source and + * output folder. If false source and output folder equals to the project. + *

+ */ + public static final String SRCBIN_FOLDERS_IN_NEWPROJ = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersInNewProjects"; //$NON-NLS-1$ + + /** + * A named preference that specifies the source folder name used when creating a new Java project. Value is inactive + * if SRCBIN_FOLDERS_IN_NEWPROJ is set to false. + *

+ * Value is of type String. + *

+ * + * @see #SRCBIN_FOLDERS_IN_NEWPROJ + */ + public static final String SRCBIN_SRCNAME = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersSrcName"; //$NON-NLS-1$ + + /** + * A named preference that specifies the output folder name used when creating a new Java project. Value is inactive + * if SRCBIN_FOLDERS_IN_NEWPROJ is set to false. + *

+ * Value is of type String. + *

+ * + * @see #SRCBIN_FOLDERS_IN_NEWPROJ + */ + public static final String SRCBIN_BINNAME = "net.sourceforge.phpdt.ui.wizards.srcBinFoldersBinName"; //$NON-NLS-1$ + + /** + * A named preference that holds a list of possible JRE libraries used by the New Java Project wizard. An library + * consists of a description and an arbitrary number of IClasspathEntrys, that will represent the + * JRE on the new project's classpath. + *

+ * Value is of type String: a semicolon separated list of encoded JRE libraries. + * NEWPROJECT_JRELIBRARY_INDEX defines the currently used library. Clients + * should use the method encodeJRELibrary to encode a JRE library into a string + * and the methods decodeJRELibraryDescription(String) and + * decodeJRELibraryClasspathEntries(String) to decode the description and the array + * of classpath entries from an encoded string. + *

+ * + * @see #NEWPROJECT_JRELIBRARY_INDEX + * @see #encodeJRELibrary(String, IClasspathEntry[]) + * @see #decodeJRELibraryDescription(String) + * @see #decodeJRELibraryClasspathEntries(String) + */ + public static final String NEWPROJECT_JRELIBRARY_LIST = "net.sourceforge.phpdt.ui.wizards.jre.list"; //$NON-NLS-1$ + + /** + * A named preferences that specifies the current active JRE library. + *

+ * Value is of type Int: an index into the list of possible JRE libraries. + *

+ * + * @see #NEWPROJECT_JRELIBRARY_LIST + */ + public static final String NEWPROJECT_JRELIBRARY_INDEX = "net.sourceforge.phpdt.ui.wizards.jre.index"; //$NON-NLS-1$ + + /** + * A named preference that controls if a new type hierarchy gets opened in a + * new type hierarchy perspective or inside the type hierarchy view part. + *

+ * Value is of type String: possible values are + * OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE or + * OPEN_TYPE_HIERARCHY_IN_VIEW_PART. + *

+ * + * @see #OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE + * @see #OPEN_TYPE_HIERARCHY_IN_VIEW_PART + */ + public static final String OPEN_TYPE_HIERARCHY = "net.sourceforge.phpdt.ui.openTypeHierarchy"; //$NON-NLS-1$ + + /** + * A string value used by the named preference OPEN_TYPE_HIERARCHY. + * + * @see #OPEN_TYPE_HIERARCHY + */ + public static final String OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE = "perspective"; //$NON-NLS-1$ + + /** + * A string value used by the named preference OPEN_TYPE_HIERARCHY. + * + * @see #OPEN_TYPE_HIERARCHY + */ + public static final String OPEN_TYPE_HIERARCHY_IN_VIEW_PART = "viewPart"; //$NON-NLS-1$ + + /** + * A named preference that controls the behaviour when double clicking on a container in the packages view. + *

+ * Value is of type String: possible values are + * DOUBLE_CLICK_GOES_INTO or + * DOUBLE_CLICK_EXPANDS. + *

+ * + * @see #DOUBLE_CLICK_EXPANDS + * @see #DOUBLE_CLICK_GOES_INTO + */ + public static final String DOUBLE_CLICK = "packageview.doubleclick"; //$NON-NLS-1$ + + /** + * A string value used by the named preference DOUBLE_CLICK. + * + * @see #DOUBLE_CLICK + */ + public static final String DOUBLE_CLICK_GOES_INTO = "packageview.gointo"; //$NON-NLS-1$ + + /** + * A string value used by the named preference DOUBLE_CLICK. + * + * @see #DOUBLE_CLICK + */ + public static final String DOUBLE_CLICK_EXPANDS = "packageview.doubleclick.expands"; //$NON-NLS-1$ + + /** + * A named preference that controls whether Java views update their presentation while editing or when saving the + * content of an editor. + *

+ * Value is of type String: possible values are + * UPDATE_ON_SAVE or + * UPDATE_WHILE_EDITING. + *

+ * + * @see #UPDATE_ON_SAVE + * @see #UPDATE_WHILE_EDITING + */ + public static final String UPDATE_JAVA_VIEWS = "JavaUI.update"; //$NON-NLS-1$ + + /** + * A string value used by the named preference UPDATE_JAVA_VIEWS + * + * @see #UPDATE_JAVA_VIEWS + */ + public static final String UPDATE_ON_SAVE = "JavaUI.update.onSave"; //$NON-NLS-1$ + + /** + * A string value used by the named preference UPDATE_JAVA_VIEWS + * + * @see #UPDATE_JAVA_VIEWS + */ + public static final String UPDATE_WHILE_EDITING = "JavaUI.update.whileEditing"; //$NON-NLS-1$ + + /** + * A named preference that holds the path of the Javadoc command used by the Javadoc creation wizard. + *

+ * Value is of type String. + *

+ */ + public static final String JAVADOC_COMMAND = "command"; //$NON-NLS-1$ + + /** + * A named preference that controls whether bracket matching highlighting is turned on or off. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_MATCHING_BRACKETS = "matchingBrackets"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to highlight matching brackets. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_MATCHING_BRACKETS_COLOR = "matchingBracketsColor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the current line highlighting is turned on or off. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_CURRENT_LINE = "currentLine"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to highlight the current line. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_CURRENT_LINE_COLOR = "currentLineColor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the print margin is turned on or off. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_PRINT_MARGIN = "printMargin"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render the print margin. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_PRINT_MARGIN_COLOR = "printMarginColor"; //$NON-NLS-1$ + + /** + * Print margin column. Int value. + */ + public final static String EDITOR_PRINT_MARGIN_COLUMN = "printMarginColumn"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used for the find/replace scope. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_FIND_SCOPE_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FIND_SCOPE; + + /** + * A named preference that specifies if the editor uses spaces for tabs. + *

+ * Value is of type Boolean. If truespaces instead of tabs are used + * in the editor. If false the editor inserts a tab character when pressing the tab + * key. + *

+ */ + public final static String EDITOR_SPACES_FOR_TABS = "spacesForTabs"; //$NON-NLS-1$ + + /** + * A named preference that holds the number of spaces used per tab in the editor. + *

+ * Value is of type Int: positive int value specifying the number of + * spaces per tab. + *

+ */ + public final static String EDITOR_TAB_WIDTH = "net.sourceforge.phpdt.ui.editor.tab.width"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the outline view selection + * should stay in sync with with the element at the current cursor position. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE = "JavaEditor.SyncOutlineOnCursorMove"; //$NON-NLS-1$ + + /** + * A named preference that controls if correction indicators are shown in the UI. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_CORRECTION_INDICATION = "JavaEditor.ShowTemporaryProblem"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the editor shows problem indicators in text (squiggly lines). + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_PROBLEM_INDICATION = "problemIndication"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render problem indicators. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see #EDITOR_PROBLEM_INDICATION + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_PROBLEM_INDICATION_COLOR = "problemIndicationColor"; //$NON-NLS-1$ + + /**PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR; + * A named preference that controls whether the editor shows warning indicators in text (squiggly lines). + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_WARNING_INDICATION = "warningIndication"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render warning indicators. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see #EDITOR_WARNING_INDICATION + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_WARNING_INDICATION_COLOR = "warningIndicationColor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the editor shows task indicators in text (squiggly lines). + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_TASK_INDICATION = "taskIndication"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render task indicators. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see #EDITOR_TASK_INDICATION + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_TASK_INDICATION_COLOR = "taskIndicationColor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the editor shows bookmark + * indicators in text (squiggly lines). + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_BOOKMARK_INDICATION = "bookmarkIndication"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render bookmark indicators. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see #EDITOR_BOOKMARK_INDICATION + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + * @since 2.1 + */ + public final static String EDITOR_BOOKMARK_INDICATION_COLOR = "bookmarkIndicationColor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the editor shows search + * indicators in text (squiggly lines). + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_SEARCH_RESULT_INDICATION = "searchResultIndication"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render search indicators. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see #EDITOR_SEARCH_RESULT_INDICATION + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + * @since 2.1 + */ + public final static String EDITOR_SEARCH_RESULT_INDICATION_COLOR = "searchResultIndicationColor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the editor shows unknown + * indicators in text (squiggly lines). + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_UNKNOWN_INDICATION = "othersIndication"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render unknown + * indicators. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see #EDITOR_UNKNOWN_INDICATION + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + * @since 2.1 + */ + public final static String EDITOR_UNKNOWN_INDICATION_COLOR = "othersIndicationColor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the overview ruler shows error + * indicators. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER = "errorIndicationInOverviewRuler"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the overview ruler shows warning + * indicators. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER = "warningIndicationInOverviewRuler"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the overview ruler shows task + * indicators. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER = "taskIndicationInOverviewRuler"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the overview ruler shows + * bookmark indicators. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER = "bookmarkIndicationInOverviewRuler"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the overview ruler shows + * search result indicators. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER = "searchResultIndicationInOverviewRuler"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the overview ruler shows + * unknown indicators. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER = "othersIndicationInOverviewRuler"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'close strings' feature + * is enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_CLOSE_STRINGS = "closeStrings"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'wrap strings' feature is + * enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_WRAP_STRINGS = "wrapStrings"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'close brackets' feature is + * enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_CLOSE_BRACKETS = "closeBrackets"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'close braces' feature is + * enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_CLOSE_BRACES = "closeBraces"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'close php docs' feature is + * enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_CLOSE_JAVADOCS = "closeJavaDocs"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'add JavaDoc tags' feature + * is enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_ADD_JAVADOC_TAGS = "addJavaDocTags"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'format Javadoc tags' + * feature is enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_FORMAT_JAVADOCS = "formatJavaDocs"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'smart paste' feature is + * enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_SMART_PASTE = "smartPaste"; //$NON-NLS-1$ + + /** + * A named preference that controls whether the 'smart home-end' feature is + * enabled. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String EDITOR_SMART_HOME_END = AbstractTextEditor.PREFERENCE_NAVIGATION_SMART_HOME_END; + + /** + * A named preference that controls if temporary problems are evaluated and shown in the UI. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_EVALUTE_TEMPORARY_PROBLEMS = "handleTemporaryProblems"; //$NON-NLS-1$ + + /** + * A named preference that controls if the overview ruler is shown in the UI. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_OVERVIEW_RULER = "overviewRuler"; //$NON-NLS-1$ + + /** + * A named preference that controls if the line number ruler is shown in the UI. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_LINE_NUMBER_RULER = "lineNumberRuler"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render line numbers inside the line number ruler. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + * @see #EDITOR_LINE_NUMBER_RULER + */ + public final static String EDITOR_LINE_NUMBER_RULER_COLOR = "lineNumberColor"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render linked positions inside code templates. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_LINKED_POSITION_COLOR = "linkedPositionColor"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used as the text foreground. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_FOREGROUND_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND; + + /** + * A named preference that describes if the system default foreground color + * is used as the text foreground. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_FOREGROUND_DEFAULT_COLOR = AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT; + + /** + * A named preference that holds the color used as the text background. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_BACKGROUND_COLOR = AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND; + + /** + * A named preference that describes if the system default background color + * is used as the text foreground. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_BACKGROUND_DEFAULT_COLOR = AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT; + + /** + * Preference key suffix for bold text style preference keys. + */ + public static final String EDITOR_BOLD_SUFFIX = "_bold"; //$NON-NLS-1$ + + /** + * A named preference that holds the color used to render multi line comments. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_MULTI_LINE_COMMENT_COLOR = IJavaColorConstants.PHP_MULTI_LINE_COMMENT; + + /** + * A named preference that controls whether multi line comments are rendered in bold. + *

+ * Value is of type Boolean. If true multi line comments are rendered + * in bold. If false the are rendered using no font style attribute. + *

+ */ + public final static String EDITOR_MULTI_LINE_COMMENT_BOLD = IJavaColorConstants.PHP_MULTI_LINE_COMMENT + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used to render single line comments. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_SINGLE_LINE_COMMENT_COLOR = IJavaColorConstants.PHP_SINGLE_LINE_COMMENT; + + /** + * A named preference that controls whether sinle line comments are rendered in bold. + *

+ * Value is of type Boolean. If true single line comments are rendered + * in bold. If false the are rendered using no font style attribute. + *

+ */ + public final static String EDITOR_SINGLE_LINE_COMMENT_BOLD = IJavaColorConstants.PHP_SINGLE_LINE_COMMENT + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used to render php keywords. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_JAVA_KEYWORD_COLOR = IJavaColorConstants.PHP_KEYWORD; + + /** + * A named preference that controls whether keywords are rendered in bold. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_JAVA_KEYWORD_BOLD = IJavaColorConstants.PHP_KEYWORD + EDITOR_BOLD_SUFFIX; /** * A named preference that holds the color used to render predefined php @@ -956,7 +956,7 @@ public class PreferenceConstants { * @see org.eclipse.jface.resource.StringConverter * @see org.eclipse.jface.preference.PreferenceConverter */ - public final static String EDITOR_PHP_FUNCTIONNAME_COLOR= IJavaColorConstants.PHP_FUNCTIONNAME; + public final static String EDITOR_PHP_FUNCTIONNAME_COLOR = IJavaColorConstants.PHP_FUNCTIONNAME; /** * A named preference that controls whether function names are rendered in @@ -965,7 +965,7 @@ public class PreferenceConstants { * Value is of type Boolean. *

*/ - public final static String EDITOR_PHP_FUNCTIONNAME_BOLD= IJavaColorConstants.PHP_FUNCTIONNAME + EDITOR_BOLD_SUFFIX; + public final static String EDITOR_PHP_FUNCTIONNAME_BOLD = IJavaColorConstants.PHP_FUNCTIONNAME + EDITOR_BOLD_SUFFIX; /** * A named preference that holds the color used to render php @@ -978,7 +978,7 @@ public class PreferenceConstants { * @see org.eclipse.jface.resource.StringConverter * @see org.eclipse.jface.preference.PreferenceConverter */ - public final static String EDITOR_PHP_VARIABLE_COLOR= IJavaColorConstants.PHP_VARIABLE; + public final static String EDITOR_PHP_VARIABLE_COLOR = IJavaColorConstants.PHP_VARIABLE; /** * A named preference that controls whether variables are rendered in bold. @@ -986,7 +986,7 @@ public class PreferenceConstants { * Value is of type Boolean. *

*/ - public final static String EDITOR_PHP_VARIABLE_BOLD= IJavaColorConstants.PHP_VARIABLE + EDITOR_BOLD_SUFFIX; + public final static String EDITOR_PHP_VARIABLE_BOLD = IJavaColorConstants.PHP_VARIABLE + EDITOR_BOLD_SUFFIX; /** * A named preference that holds the color used to render php constants. @@ -998,7 +998,7 @@ public class PreferenceConstants { * @see org.eclipse.jface.resource.StringConverter * @see org.eclipse.jface.preference.PreferenceConverter */ - public final static String EDITOR_PHP_CONSTANT_COLOR= IJavaColorConstants.PHP_CONSTANT; + public final static String EDITOR_PHP_CONSTANT_COLOR = IJavaColorConstants.PHP_CONSTANT; /** * A named preference that controls whether constants are rendered in bold. @@ -1006,7 +1006,7 @@ public class PreferenceConstants { * Value is of type Boolean. *

*/ - public final static String EDITOR_PHP_CONSTANT_BOLD= IJavaColorConstants.PHP_CONSTANT + EDITOR_BOLD_SUFFIX; + public final static String EDITOR_PHP_CONSTANT_BOLD = IJavaColorConstants.PHP_CONSTANT + EDITOR_BOLD_SUFFIX; /** * A named preference that holds the color used to render php types. @@ -1018,7 +1018,7 @@ public class PreferenceConstants { * @see org.eclipse.jface.resource.StringConverter * @see org.eclipse.jface.preference.PreferenceConverter */ - public final static String EDITOR_PHP_TYPE_COLOR= IJavaColorConstants.PHP_TYPE; + public final static String EDITOR_PHP_TYPE_COLOR = IJavaColorConstants.PHP_TYPE; /** * A named preference that controls whether types are rendered in bold. @@ -1026,836 +1026,846 @@ public class PreferenceConstants { * Value is of type Boolean. *

*/ - public final static String EDITOR_PHP_TYPE_BOLD= IJavaColorConstants.PHP_TYPE + EDITOR_BOLD_SUFFIX; - - - /** - * A named preference that holds the color used to render string constants. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_STRING_COLOR= IJavaColorConstants.PHP_STRING; - - /** - * A named preference that controls whether string constants are rendered in bold. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_STRING_BOLD= IJavaColorConstants.PHP_STRING + EDITOR_BOLD_SUFFIX; - - /** - * A named preference that holds the color used to render php default text. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_JAVA_DEFAULT_COLOR= IJavaColorConstants.PHP_DEFAULT; - - /** - * A named preference that controls whether Java default text is rendered in bold. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_JAVA_DEFAULT_BOLD= IJavaColorConstants.PHP_DEFAULT + EDITOR_BOLD_SUFFIX; - - /** - * A named preference that holds the color used to render phpdoc keywords. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_JAVADOC_KEYWORD_COLOR= IJavaColorConstants.PHPDOC_KEYWORD; - - /** - * A named preference that controls whether phpdoc keywords are rendered in bold. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_JAVADOC_KEYWORD_BOLD= IJavaColorConstants.PHPDOC_KEYWORD + EDITOR_BOLD_SUFFIX; - - /** - * A named preference that holds the color used to render phpdoc tags. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_JAVADOC_TAG_COLOR= IJavaColorConstants.PHPDOC_TAG; - - /** - * A named preference that controls whether phpdoc tags are rendered in bold. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_JAVADOC_TAG_BOLD= IJavaColorConstants.PHPDOC_TAG + EDITOR_BOLD_SUFFIX; - - /** - * A named preference that holds the color used to render phpdoc links. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_JAVADOC_LINKS_COLOR= IJavaColorConstants.PHPDOC_LINK; - - /** - * A named preference that controls whether phpdoc links are rendered in bold. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_JAVADOC_LINKS_BOLD= IJavaColorConstants.PHPDOC_LINK + EDITOR_BOLD_SUFFIX; - - /** - * A named preference that holds the color used to render phpdoc default text. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String EDITOR_JAVADOC_DEFAULT_COLOR= IJavaColorConstants.PHPDOC_DEFAULT; - - /** - * A named preference that controls whether phpdoc default text is rendered in bold. - *

- * Value is of type Boolean. - *

- */ - public final static String EDITOR_JAVADOC_DEFAULT_BOLD= IJavaColorConstants.PHPDOC_DEFAULT + EDITOR_BOLD_SUFFIX; - - /** - * A named preference that holds the color used for 'linked-mode' underline. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - * @since 2.1 - */ - public final static String EDITOR_LINK_COLOR= "linkColor"; //$NON-NLS-1$ - - /** - * A named preference that controls whether hover tooltips in the editor are turned on or off. - *

- * Value is of type Boolean. - *

- */ - public static final String EDITOR_SHOW_HOVER= "net.sourceforge.phpdt.ui.editor.showHover"; //$NON-NLS-1$ - - /** - * A named preference that defines the hover shown when no control key is - * pressed. - *

Value is of type String: possible values are - * EDITOR_NO_HOVER_CONFIGURED_ID or - * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a hover - * contributed as phpEditorTextHovers. - *

- * @see #EDITOR_NO_HOVER_CONFIGURED_ID - * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID - * @see JavaUI - * @since 2.1 - */ - public static final String EDITOR_NONE_HOVER= "noneHover"; //$NON-NLS-1$ - - /** - * A named preference that defines the hover shown when the - * CTRL modifier key is pressed. - *

Value is of type String: possible values are - * EDITOR_NO_HOVER_CONFIGURED_ID or - * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a - * hover contributed as phpEditorTextHovers. - *

- * @see #EDITOR_NO_HOVER_CONFIGURED_ID - * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID - * @see JavaUI - * @since 2.1 - */ - public static final String EDITOR_CTRL_HOVER= "ctrlHover"; //$NON-NLS-1$ - - /** - * A named preference that defines the hover shown when the - * SHIFT modifier key is pressed. - *

Value is of type String: possible values are - * EDITOR_NO_HOVER_CONFIGURED_ID or - * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a - * hover contributed as phpEditorTextHovers. - *

- * @see #EDITOR_NO_HOVER_CONFIGURED_ID - * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID - * @see JavaUI ID_*_HOVER - * @since 2.1 - */ - public static final String EDITOR_SHIFT_HOVER= "shiftHover"; //$NON-NLS-1$ - - /** - * A named preference that defines the hover shown when the - * CTRL + ALT modifier keys is pressed. - *

Value is of type String: possible values are - * EDITOR_NO_HOVER_CONFIGURED_ID or - * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a - * hover contributed as phpEditorTextHovers. - *

- * @see #EDITOR_NO_HOVER_CONFIGURED_ID - * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID - * @see JavaUI ID_*_HOVER - * @since 2.1 - */ - public static final String EDITOR_CTRL_ALT_HOVER= "ctrlAltHover"; //$NON-NLS-1$ - - /** - * A named preference that defines the hover shown when the - * CTRL + ALT + SHIFT modifier keys is pressed. - *

Value is of type String: possible values are - * EDITOR_NO_HOVER_CONFIGURED_ID or - * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a - * hover contributed as phpEditorTextHovers. - *

- * @see #EDITOR_NO_HOVER_CONFIGURED_ID - * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID - * @see JavaUI ID_*_HOVER - * @since 2.1 - */ - public static final String EDITOR_CTRL_ALT_SHIFT_HOVER= "ctrlAltShiftHover"; //$NON-NLS-1$ - - /** - * A named preference that defines the hover shown when the - * CTRL + SHIFT modifier keys is pressed. - *

Value is of type String: possible values are - * EDITOR_NO_HOVER_CONFIGURED_ID or - * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a - * hover contributed as phpEditorTextHovers. - *

- * @see #EDITOR_NO_HOVER_CONFIGURED_ID - * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID - * @see JavaUI ID_*_HOVER - * @since 2.1 - */ - public static final String EDITOR_CTRL_SHIFT_HOVER= "ctrlShiftHover"; //$NON-NLS-1$ - - /** - * A named preference that defines the hover shown when the - * ALT modifier key is pressed. - *

Value is of type String: possible values are - * EDITOR_NO_HOVER_CONFIGURED_ID, - * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a - * hover contributed as phpEditorTextHovers. - *

- * @see #EDITOR_NO_HOVER_CONFIGURED_ID - * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID - * @see JavaUI ID_*_HOVER - * @since 2.1 - */ - public static final String EDITOR_ALT_SHIFT_HOVER= "altShiftHover"; //$NON-NLS-1$ - - /** - * A string value used by the named preferences for hover configuration to - * descibe that no hover should be shown for the given key modifiers. - * @since 2.1 - */ - public static final String EDITOR_NO_HOVER_CONFIGURED_ID= "noHoverConfiguredId"; //$NON-NLS-1$ - - /** - * A string value used by the named preferences for hover configuration to - * descibe that the default hover should be shown for the given key - * modifiers. The default hover is described by the - * EDITOR_DEFAULT_HOVER property. - * @since 2.1 - */ - public static final String EDITOR_DEFAULT_HOVER_CONFIGURED_ID= "defaultHoverConfiguredId"; //$NON-NLS-1$ - - /** - * A named preference that defines the hover named the 'default hover'. - * Value is of type String: possible values are - * EDITOR_NO_HOVER_CONFIGURED_ID or the hover id of a hover - * contributed as phpEditorTextHovers. - *

- *@since 2.1 - */ - public static final String EDITOR_DEFAULT_HOVER= "defaultHover"; //$NON-NLS-1$ - - /** - * A named preference that controls if segmented view (show selected element only) is turned on or off. - *

- * Value is of type Boolean. - *

- */ - public static final String EDITOR_SHOW_SEGMENTS= "net.sourceforge.phpdt.ui.editor.showSegments"; //$NON-NLS-1$ - - /** - * A named preference that controls if the Java code assist gets auto activated. - *

- * Value is of type Boolean. - *

- */ - public final static String CODEASSIST_AUTOACTIVATION= "content_assist_autoactivation"; //$NON-NLS-1$ - - /** - * A name preference that holds the auto activation delay time in milli seconds. - *

- * Value is of type Int. - *

- */ - public final static String CODEASSIST_AUTOACTIVATION_DELAY= "content_assist_autoactivation_delay"; //$NON-NLS-1$ - - /** - * A named preference that controls if code assist contains only visible proposals. - *

- * Value is of type Boolean. if true code assist only contains visible members. If - * false all members are included. - *

- */ - public final static String CODEASSIST_SHOW_VISIBLE_PROPOSALS= "content_assist_show_visible_proposals"; //$NON-NLS-1$ - - /** - * A named preference that controls if the Java code assist inserts a - * proposal automatically if only one proposal is available. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String CODEASSIST_AUTOINSERT= "content_assist_autoinsert"; //$NON-NLS-1$ - - /** - * A named preference that controls if the Java code assist adds import - * statements. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String CODEASSIST_ADDIMPORT= "content_assist_add_import"; //$NON-NLS-1$ - - /** - * A named preference that controls if the Java code assist only inserts - * completions. If set to false the proposals can also _replace_ code. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String CODEASSIST_INSERT_COMPLETION= "content_assist_insert_completion"; //$NON-NLS-1$ - - /** - * A named preference that controls whether code assist proposals filtering is case sensitive or not. - *

- * Value is of type Boolean. - *

- */ - public final static String CODEASSIST_CASE_SENSITIVITY= "content_assist_case_sensitivity"; //$NON-NLS-1$ - - /** - * A named preference that defines if code assist proposals are sorted in alphabetical order. - *

- * Value is of type Boolean. If true that are sorted in alphabetical - * order. If false that are unsorted. - *

- */ - public final static String CODEASSIST_ORDER_PROPOSALS= "content_assist_order_proposals"; //$NON-NLS-1$ - - /** - * A named preference that controls if argument names are filled in when a method is selected from as list - * of code assist proposal. - *

- * Value is of type Boolean. - *

- */ - public final static String CODEASSIST_FILL_ARGUMENT_NAMES= "content_assist_fill_method_arguments"; //$NON-NLS-1$ - - /** - * A named preference that controls if method arguments are guessed when a - * method is selected from as list of code assist proposal. - *

- * Value is of type Boolean. - *

- * @since 2.1 - */ - public final static String CODEASSIST_GUESS_METHOD_ARGUMENTS= "content_assist_guess_method_arguments"; //$NON-NLS-1$ - - /** - * A named preference that holds the characters that auto activate code assist in Java code. - *

- * Value is of type Sring. All characters that trigger auto code assist in Java code. - *

- */ - public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA= "content_assist_autoactivation_triggers_php"; //$NON-NLS-1$ - - /** - * A named preference that holds the characters that auto activate code assist in Javadoc. - *

- * Value is of type Sring. All characters that trigger auto code assist in Javadoc. - *

- */ - public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC= "content_assist_autoactivation_triggers_phpdoc"; //$NON-NLS-1$ - - /** - * A named preference that holds the background color used in the code assist selection dialog. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String CODEASSIST_PROPOSALS_BACKGROUND= "content_assist_proposals_background"; //$NON-NLS-1$ - - /** - * A named preference that holds the foreground color used in the code assist selection dialog. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String CODEASSIST_PROPOSALS_FOREGROUND= "content_assist_proposals_foreground"; //$NON-NLS-1$ - - /** - * A named preference that holds the background color used for parameter hints. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String CODEASSIST_PARAMETERS_BACKGROUND= "content_assist_parameters_background"; //$NON-NLS-1$ - - /** - * A named preference that holds the foreground color used in the code assist selection dialog - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - */ - public final static String CODEASSIST_PARAMETERS_FOREGROUND= "content_assist_parameters_foreground"; //$NON-NLS-1$ - - /** - * A named preference that holds the background color used in the code - * assist selection dialog to mark replaced code. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - * @since 2.1 - */ - public final static String CODEASSIST_REPLACEMENT_BACKGROUND= "content_assist_completion_replacement_background"; //$NON-NLS-1$ - - /** - * A named preference that holds the foreground color used in the code - * assist selection dialog to mark replaced code. - *

- * Value is of type String. A RGB color value encoded as a string - * using class PreferenceConverter - *

- * - * @see org.eclipse.jface.resource.StringConverter - * @see org.eclipse.jface.preference.PreferenceConverter - * @since 2.1 - */ - public final static String CODEASSIST_REPLACEMENT_FOREGROUND= "content_assist_completion_replacement_foreground"; //$NON-NLS-1$ - - - /** - * A named preference that controls the behaviour of the refactoring wizard for showing the error page. - *

- * Value is of type String. Valid values are: - * REFACTOR_FATAL_SEVERITY, - * REFACTOR_ERROR_SEVERITY, - * REFACTOR_WARNING_SEVERITY - * REFACTOR_INFO_SEVERITY, - * REFACTOR_OK_SEVERITY. - *

- * - * @see #REFACTOR_FATAL_SEVERITY - * @see #REFACTOR_ERROR_SEVERITY - * @see #REFACTOR_WARNING_SEVERITY - * @see #REFACTOR_INFO_SEVERITY - * @see #REFACTOR_OK_SEVERITY - */ - public static final String REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD= "Refactoring.ErrorPage.severityThreshold"; //$NON-NLS-1$ - - /** - * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. - * - * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD - */ - public static final String REFACTOR_FATAL_SEVERITY= "4"; //$NON-NLS-1$ - - /** - * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. - * - * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD - */ - public static final String REFACTOR_ERROR_SEVERITY= "3"; //$NON-NLS-1$ - - /** - * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. - * - * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD - */ - public static final String REFACTOR_WARNING_SEVERITY= "2"; //$NON-NLS-1$ - - /** - * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. - * - * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD - */ - public static final String REFACTOR_INFO_SEVERITY= "1"; //$NON-NLS-1$ - - /** - * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. - * - * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD - */ - public static final String REFACTOR_OK_SEVERITY= "0"; //$NON-NLS-1$ - - /** - * A named preference thet controls whether all dirty editors are automatically saved before a refactoring is - * executed. - *

- * Value is of type Boolean. - *

- */ - public static final String REFACTOR_SAVE_ALL_EDITORS= "Refactoring.savealleditors"; //$NON-NLS-1$ - - /** - * A named preference that controls if the Java Browsing views are linked to the active editor. - *

- * Value is of type Boolean. - *

- * - * @see #LINK_PACKAGES_TO_EDITOR - */ - public static final String BROWSING_LINK_VIEW_TO_EDITOR= "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$ - - /** - * A named preference that controls the layout of the Java Browsing views vertically. Boolean value. - *

- * Value is of type Boolean. If true the views are stacked vertical. - * If false they are stacked horizontal. - *

- */ - public static final String BROWSING_STACK_VERTICALLY= "net.sourceforge.phpdt.ui.browsing.stackVertically"; //$NON-NLS-1$ - - - /** - * A named preference that controls if templates are formatted when applied. - *

- * Value is of type Boolean. - *

- * - * @since 2.1 - */ - public static final String TEMPLATES_USE_CODEFORMATTER= "net.sourceforge.phpdt.ui.template.format"; //$NON-NLS-1$ - - - - public static void initializeDefaultValues(IPreferenceStore store) { - store.setDefault(PreferenceConstants.EDITOR_SHOW_SEGMENTS, false); - - // JavaBasePreferencePage - store.setDefault(PreferenceConstants.LINK_PACKAGES_TO_EDITOR, true); - store.setDefault(PreferenceConstants.LINK_TYPEHIERARCHY_TO_EDITOR, false); - store.setDefault(PreferenceConstants.LINK_BROWSING_VIEW_TO_EDITOR, true); - store.setDefault(PreferenceConstants.OPEN_TYPE_HIERARCHY, PreferenceConstants.OPEN_TYPE_HIERARCHY_IN_VIEW_PART); - store.setDefault(PreferenceConstants.DOUBLE_CLICK, PreferenceConstants.DOUBLE_CLICK_EXPANDS); - store.setDefault(PreferenceConstants.UPDATE_JAVA_VIEWS, PreferenceConstants.UPDATE_WHILE_EDITING); - - // AppearancePreferencePage - store.setDefault(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES, false); - store.setDefault(PreferenceConstants.APPEARANCE_METHOD_RETURNTYPE, false); - store.setDefault(PreferenceConstants.SHOW_CU_CHILDREN, true); - store.setDefault(PreferenceConstants.APPEARANCE_OVERRIDE_INDICATOR, true); - store.setDefault(PreferenceConstants.BROWSING_STACK_VERTICALLY, false); - store.setDefault(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW, ""); //$NON-NLS-1$ - store.setDefault(PreferenceConstants.APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER, true); - - // ImportOrganizePreferencePage - store.setDefault(PreferenceConstants.ORGIMPORTS_IMPORTORDER, "php;phpx;org;com"); //$NON-NLS-1$ - store.setDefault(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD, 99); - store.setDefault(PreferenceConstants.ORGIMPORTS_IGNORELOWERCASE, true); - - // ClasspathVariablesPreferencePage - // CodeFormatterPreferencePage - // CompilerPreferencePage - // no initialization needed - - // RefactoringPreferencePage - store.setDefault(PreferenceConstants.REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD, PreferenceConstants.REFACTOR_ERROR_SEVERITY); - store.setDefault(PreferenceConstants.REFACTOR_SAVE_ALL_EDITORS, false); - store.setDefault("RefactoringUI", "dialog"); - - // TemplatePreferencePage - store.setDefault(PreferenceConstants.TEMPLATES_USE_CODEFORMATTER, true); - - // CodeGenerationPreferencePage - store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_PREFIX, false); - store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_SUFFIX, false); - store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_PREFIX, "fg, f, _$, _, m_"); //$NON-NLS-1$ - store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_SUFFIX, "_"); //$NON-NLS-1$ - store.setDefault(PreferenceConstants.CODEGEN__JAVADOC_STUBS, true); - store.setDefault(PreferenceConstants.CODEGEN__NON_JAVADOC_COMMENTS, false); - store.setDefault(PreferenceConstants.CODEGEN__FILE_COMMENTS, false); - - // MembersOrderPreferencePage - store.setDefault(PreferenceConstants.APPEARANCE_MEMBER_SORT_ORDER, "T,SI,SF,SM,I,F,C,M"); //$NON-NLS-1$ - // must add here to guarantee that it is the first in the listener list - // store.addPropertyChangeListener(PHPeclipsePlugin.getDefault().getMemberOrderPreferenceCache()); - - - // PHPEditorPreferencePage - /* - * Ensure that the display is accessed only in the UI thread. - * Ensure that there are no side effects of switching the thread. - */ - final RGB[] rgbs= new RGB[3]; - final Display display= Display.getDefault(); - display.syncExec(new Runnable() { - public void run() { - Color c= display.getSystemColor(SWT.COLOR_GRAY); - rgbs[0]= c.getRGB(); - c= display.getSystemColor(SWT.COLOR_LIST_FOREGROUND); - rgbs[1]= c.getRGB(); - c= display.getSystemColor(SWT.COLOR_LIST_BACKGROUND); - rgbs[2]= c.getRGB(); - } - }); - - store.setDefault(PreferenceConstants.EDITOR_MATCHING_BRACKETS, true); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR, rgbs[0]); - - store.setDefault(PreferenceConstants.EDITOR_CURRENT_LINE, true); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_CURRENT_LINE_COLOR, new RGB(225, 235, 224)); - - store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN, false); - store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 80); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR, new RGB(176, 180 , 185)); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FIND_SCOPE_COLOR, new RGB(185, 176 , 180)); - - store.setDefault(PreferenceConstants.EDITOR_PROBLEM_INDICATION, true); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, new RGB(255, 0 , 128)); - store.setDefault(PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER, true); - - store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION, true); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, new RGB(244, 200 , 45)); - store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER, true); - - store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION, false); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, new RGB(0, 128, 255)); - store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER, false); - - store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION, false); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, new RGB(34, 164, 99)); - store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER, false); - - store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, false); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, new RGB(192, 192, 192)); - store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER, false); - - store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION, false); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, new RGB(0, 0, 0)); - store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER, false); - - store.setDefault(PreferenceConstants.EDITOR_CORRECTION_INDICATION, true); - store.setDefault(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, false); - - store.setDefault(PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, true); - - store.setDefault(PreferenceConstants.EDITOR_OVERVIEW_RULER, true); - - store.setDefault(PreferenceConstants.EDITOR_LINE_NUMBER_RULER, false); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR, new RGB(0, 0, 0)); - - WorkbenchChainedTextFontFieldEditor.startPropagate(store, JFaceResources.TEXT_FONT); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINKED_POSITION_COLOR, new RGB(0, 200 , 100)); - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINK_COLOR, new RGB(0, 0, 255)); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FOREGROUND_COLOR, rgbs[1]); - store.setDefault(PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR, true); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BACKGROUND_COLOR, rgbs[2]); - store.setDefault(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, true); - - store.setDefault(PreferenceConstants.EDITOR_TAB_WIDTH, 4); - store.setDefault(PreferenceConstants.EDITOR_SPACES_FOR_TABS, false); + public final static String EDITOR_PHP_TYPE_BOLD = IJavaColorConstants.PHP_TYPE + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used to render string constants. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_STRING_COLOR = IJavaColorConstants.PHP_STRING; + + /** + * A named preference that controls whether string constants are rendered in bold. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_STRING_BOLD = IJavaColorConstants.PHP_STRING + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used to render php default text. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_JAVA_DEFAULT_COLOR = IJavaColorConstants.PHP_DEFAULT; + + /** + * A named preference that controls whether Java default text is rendered in bold. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_JAVA_DEFAULT_BOLD = IJavaColorConstants.PHP_DEFAULT + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used to render phpdoc keywords. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_JAVADOC_KEYWORD_COLOR = IJavaColorConstants.PHPDOC_KEYWORD; + + /** + * A named preference that controls whether phpdoc keywords are rendered in bold. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_JAVADOC_KEYWORD_BOLD = IJavaColorConstants.PHPDOC_KEYWORD + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used to render phpdoc tags. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_JAVADOC_TAG_COLOR = IJavaColorConstants.PHPDOC_TAG; + + /** + * A named preference that controls whether phpdoc tags are rendered in bold. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_JAVADOC_TAG_BOLD = IJavaColorConstants.PHPDOC_TAG + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used to render phpdoc links. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_JAVADOC_LINKS_COLOR = IJavaColorConstants.PHPDOC_LINK; + + /** + * A named preference that controls whether phpdoc links are rendered in bold. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_JAVADOC_LINKS_BOLD = IJavaColorConstants.PHPDOC_LINK + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used to render phpdoc default text. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String EDITOR_JAVADOC_DEFAULT_COLOR = IJavaColorConstants.PHPDOC_DEFAULT; + + /** + * A named preference that controls whether phpdoc default text is rendered in bold. + *

+ * Value is of type Boolean. + *

+ */ + public final static String EDITOR_JAVADOC_DEFAULT_BOLD = IJavaColorConstants.PHPDOC_DEFAULT + EDITOR_BOLD_SUFFIX; + + /** + * A named preference that holds the color used for 'linked-mode' underline. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + * @since 2.1 + */ + public final static String EDITOR_LINK_COLOR = "linkColor"; //$NON-NLS-1$ + + /** + * A named preference that controls whether hover tooltips in the editor are turned on or off. + *

+ * Value is of type Boolean. + *

+ */ + public static final String EDITOR_SHOW_HOVER = "net.sourceforge.phpdt.ui.editor.showHover"; //$NON-NLS-1$ + + /** + * A named preference that defines the hover shown when no control key is + * pressed. + *

Value is of type String: possible values are + * EDITOR_NO_HOVER_CONFIGURED_ID or + * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a hover + * contributed as phpEditorTextHovers. + *

+ * @see #EDITOR_NO_HOVER_CONFIGURED_ID + * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID + * @see JavaUI + * @since 2.1 + */ + public static final String EDITOR_NONE_HOVER = "noneHover"; //$NON-NLS-1$ + + /** + * A named preference that defines the hover shown when the + * CTRL modifier key is pressed. + *

Value is of type String: possible values are + * EDITOR_NO_HOVER_CONFIGURED_ID or + * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a + * hover contributed as phpEditorTextHovers. + *

+ * @see #EDITOR_NO_HOVER_CONFIGURED_ID + * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID + * @see JavaUI + * @since 2.1 + */ + public static final String EDITOR_CTRL_HOVER = "ctrlHover"; //$NON-NLS-1$ + + /** + * A named preference that defines the hover shown when the + * SHIFT modifier key is pressed. + *

Value is of type String: possible values are + * EDITOR_NO_HOVER_CONFIGURED_ID or + * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a + * hover contributed as phpEditorTextHovers. + *

+ * @see #EDITOR_NO_HOVER_CONFIGURED_ID + * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID + * @see JavaUI ID_*_HOVER + * @since 2.1 + */ + public static final String EDITOR_SHIFT_HOVER = "shiftHover"; //$NON-NLS-1$ + + /** + * A named preference that defines the hover shown when the + * CTRL + ALT modifier keys is pressed. + *

Value is of type String: possible values are + * EDITOR_NO_HOVER_CONFIGURED_ID or + * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a + * hover contributed as phpEditorTextHovers. + *

+ * @see #EDITOR_NO_HOVER_CONFIGURED_ID + * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID + * @see JavaUI ID_*_HOVER + * @since 2.1 + */ + public static final String EDITOR_CTRL_ALT_HOVER = "ctrlAltHover"; //$NON-NLS-1$ + + /** + * A named preference that defines the hover shown when the + * CTRL + ALT + SHIFT modifier keys is pressed. + *

Value is of type String: possible values are + * EDITOR_NO_HOVER_CONFIGURED_ID or + * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a + * hover contributed as phpEditorTextHovers. + *

+ * @see #EDITOR_NO_HOVER_CONFIGURED_ID + * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID + * @see JavaUI ID_*_HOVER + * @since 2.1 + */ + public static final String EDITOR_CTRL_ALT_SHIFT_HOVER = "ctrlAltShiftHover"; //$NON-NLS-1$ + + /** + * A named preference that defines the hover shown when the + * CTRL + SHIFT modifier keys is pressed. + *

Value is of type String: possible values are + * EDITOR_NO_HOVER_CONFIGURED_ID or + * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a + * hover contributed as phpEditorTextHovers. + *

+ * @see #EDITOR_NO_HOVER_CONFIGURED_ID + * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID + * @see JavaUI ID_*_HOVER + * @since 2.1 + */ + public static final String EDITOR_CTRL_SHIFT_HOVER = "ctrlShiftHover"; //$NON-NLS-1$ + + /** + * A named preference that defines the hover shown when the + * ALT modifier key is pressed. + *

Value is of type String: possible values are + * EDITOR_NO_HOVER_CONFIGURED_ID, + * EDITOR_DEFAULT_HOVER_CONFIGURED_ID or the hover id of a + * hover contributed as phpEditorTextHovers. + *

+ * @see #EDITOR_NO_HOVER_CONFIGURED_ID + * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID + * @see JavaUI ID_*_HOVER + * @since 2.1 + */ + public static final String EDITOR_ALT_SHIFT_HOVER = "altShiftHover"; //$NON-NLS-1$ + + /** + * A string value used by the named preferences for hover configuration to + * descibe that no hover should be shown for the given key modifiers. + * @since 2.1 + */ + public static final String EDITOR_NO_HOVER_CONFIGURED_ID = "noHoverConfiguredId"; //$NON-NLS-1$ + + /** + * A string value used by the named preferences for hover configuration to + * descibe that the default hover should be shown for the given key + * modifiers. The default hover is described by the + * EDITOR_DEFAULT_HOVER property. + * @since 2.1 + */ + public static final String EDITOR_DEFAULT_HOVER_CONFIGURED_ID = "defaultHoverConfiguredId"; //$NON-NLS-1$ + + /** + * A named preference that defines the hover named the 'default hover'. + * Value is of type String: possible values are + * EDITOR_NO_HOVER_CONFIGURED_ID or the hover id of a hover + * contributed as phpEditorTextHovers. + *

+ *@since 2.1 + */ + public static final String EDITOR_DEFAULT_HOVER = "defaultHover"; //$NON-NLS-1$ + + /** + * A named preference that controls if segmented view (show selected element only) is turned on or off. + *

+ * Value is of type Boolean. + *

+ */ + public static final String EDITOR_SHOW_SEGMENTS = "net.sourceforge.phpdt.ui.editor.showSegments"; //$NON-NLS-1$ - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR, new RGB(63, 127, 95)); - store.setDefault(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD, false); + /** + * A named preference that controls if the Java code assist gets auto activated. + *

+ * Value is of type Boolean. + *

+ */ + public final static String CODEASSIST_AUTOACTIVATION = "content_assist_autoactivation"; //$NON-NLS-1$ - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR, new RGB(63, 127, 95)); - store.setDefault(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD, false); + /** + * A name preference that holds the auto activation delay time in milli seconds. + *

+ * Value is of type Int. + *

+ */ + public final static String CODEASSIST_AUTOACTIVATION_DELAY = "content_assist_autoactivation_delay"; //$NON-NLS-1$ - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR, new RGB(127, 0, 85)); - store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD, true); + /** + * A named preference that controls if code assist contains only visible proposals. + *

+ * Value is of type Boolean. if true code assist only contains visible members. If + * false all members are included. + *

+ */ + public final static String CODEASSIST_SHOW_VISIBLE_PROPOSALS = "content_assist_show_visible_proposals"; //$NON-NLS-1$ + + /** + * A named preference that controls if the Java code assist inserts a + * proposal automatically if only one proposal is available. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String CODEASSIST_AUTOINSERT = "content_assist_autoinsert"; //$NON-NLS-1$ + + /** + * A named preference that controls if the Java code assist adds import + * statements. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String CODEASSIST_ADDIMPORT = "content_assist_add_import"; //$NON-NLS-1$ + + /** + * A named preference that controls if the Java code assist only inserts + * completions. If set to false the proposals can also _replace_ code. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String CODEASSIST_INSERT_COMPLETION = "content_assist_insert_completion"; //$NON-NLS-1$ + + /** + * A named preference that controls whether code assist proposals filtering is case sensitive or not. + *

+ * Value is of type Boolean. + *

+ */ + public final static String CODEASSIST_CASE_SENSITIVITY = "content_assist_case_sensitivity"; //$NON-NLS-1$ + + /** + * A named preference that defines if code assist proposals are sorted in alphabetical order. + *

+ * Value is of type Boolean. If true that are sorted in alphabetical + * order. If false that are unsorted. + *

+ */ + public final static String CODEASSIST_ORDER_PROPOSALS = "content_assist_order_proposals"; //$NON-NLS-1$ + + /** + * A named preference that controls if argument names are filled in when a method is selected from as list + * of code assist proposal. + *

+ * Value is of type Boolean. + *

+ */ + public final static String CODEASSIST_FILL_ARGUMENT_NAMES = "content_assist_fill_method_arguments"; //$NON-NLS-1$ + + /** + * A named preference that controls if method arguments are guessed when a + * method is selected from as list of code assist proposal. + *

+ * Value is of type Boolean. + *

+ * @since 2.1 + */ + public final static String CODEASSIST_GUESS_METHOD_ARGUMENTS = "content_assist_guess_method_arguments"; //$NON-NLS-1$ + + /** + * A named preference that holds the characters that auto activate code assist + * in PHP code. + *

+ * Value is of type Sring. All characters that trigger auto code + * assist in PHP code. + *

+ */ + public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA = "content_assist_autoactivation_triggers_php"; //$NON-NLS-1$ + + /** + * A named preference that holds the characters that auto activate code assist + * in PHPDoc. + *

+ * Value is of type Sring. All characters that trigger auto code + * assist in PHPDoc. + *

+ */ + public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC = "content_assist_autoactivation_triggers_phpdoc"; //$NON-NLS-1$ + + + /** + * A named preference that holds the characters that auto activate code assist + * in HTML. + *

+ * Value is of type Sring. All characters that trigger auto code + * assist in HTML. + *

+ */ + public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML = "content_assist_autoactivation_triggers_html"; //$NON-NLS-1$ + + /** + * A named preference that holds the background color used in the code assist selection dialog. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String CODEASSIST_PROPOSALS_BACKGROUND = "content_assist_proposals_background"; //$NON-NLS-1$ + + /** + * A named preference that holds the foreground color used in the code assist selection dialog. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String CODEASSIST_PROPOSALS_FOREGROUND = "content_assist_proposals_foreground"; //$NON-NLS-1$ + + /** + * A named preference that holds the background color used for parameter hints. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String CODEASSIST_PARAMETERS_BACKGROUND = "content_assist_parameters_background"; //$NON-NLS-1$ + + /** + * A named preference that holds the foreground color used in the code assist selection dialog + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + */ + public final static String CODEASSIST_PARAMETERS_FOREGROUND = "content_assist_parameters_foreground"; //$NON-NLS-1$ + + /** + * A named preference that holds the background color used in the code + * assist selection dialog to mark replaced code. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + * @since 2.1 + */ + public final static String CODEASSIST_REPLACEMENT_BACKGROUND = "content_assist_completion_replacement_background"; //$NON-NLS-1$ + + /** + * A named preference that holds the foreground color used in the code + * assist selection dialog to mark replaced code. + *

+ * Value is of type String. A RGB color value encoded as a string + * using class PreferenceConverter + *

+ * + * @see org.eclipse.jface.resource.StringConverter + * @see org.eclipse.jface.preference.PreferenceConverter + * @since 2.1 + */ + public final static String CODEASSIST_REPLACEMENT_FOREGROUND = "content_assist_completion_replacement_foreground"; //$NON-NLS-1$ + + /** + * A named preference that controls the behaviour of the refactoring wizard for showing the error page. + *

+ * Value is of type String. Valid values are: + * REFACTOR_FATAL_SEVERITY, + * REFACTOR_ERROR_SEVERITY, + * REFACTOR_WARNING_SEVERITY + * REFACTOR_INFO_SEVERITY, + * REFACTOR_OK_SEVERITY. + *

+ * + * @see #REFACTOR_FATAL_SEVERITY + * @see #REFACTOR_ERROR_SEVERITY + * @see #REFACTOR_WARNING_SEVERITY + * @see #REFACTOR_INFO_SEVERITY + * @see #REFACTOR_OK_SEVERITY + */ + public static final String REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD = "Refactoring.ErrorPage.severityThreshold"; //$NON-NLS-1$ + + /** + * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. + * + * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD + */ + public static final String REFACTOR_FATAL_SEVERITY = "4"; //$NON-NLS-1$ + + /** + * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. + * + * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD + */ + public static final String REFACTOR_ERROR_SEVERITY = "3"; //$NON-NLS-1$ + + /** + * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. + * + * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD + */ + public static final String REFACTOR_WARNING_SEVERITY = "2"; //$NON-NLS-1$ + + /** + * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. + * + * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD + */ + public static final String REFACTOR_INFO_SEVERITY = "1"; //$NON-NLS-1$ + + /** + * A string value used by the named preference REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD. + * + * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD + */ + public static final String REFACTOR_OK_SEVERITY = "0"; //$NON-NLS-1$ + + /** + * A named preference thet controls whether all dirty editors are automatically saved before a refactoring is + * executed. + *

+ * Value is of type Boolean. + *

+ */ + public static final String REFACTOR_SAVE_ALL_EDITORS = "Refactoring.savealleditors"; //$NON-NLS-1$ + + /** + * A named preference that controls if the Java Browsing views are linked to the active editor. + *

+ * Value is of type Boolean. + *

+ * + * @see #LINK_PACKAGES_TO_EDITOR + */ + public static final String BROWSING_LINK_VIEW_TO_EDITOR = "net.sourceforge.phpdt.ui.browsing.linktoeditor"; //$NON-NLS-1$ + + /** + * A named preference that controls the layout of the Java Browsing views vertically. Boolean value. + *

+ * Value is of type Boolean. If true the views are stacked vertical. + * If false they are stacked horizontal. + *

+ */ + public static final String BROWSING_STACK_VERTICALLY = "net.sourceforge.phpdt.ui.browsing.stackVertically"; //$NON-NLS-1$ + + /** + * A named preference that controls if templates are formatted when applied. + *

+ * Value is of type Boolean. + *

+ * + * @since 2.1 + */ + public static final String TEMPLATES_USE_CODEFORMATTER = "net.sourceforge.phpdt.ui.template.format"; //$NON-NLS-1$ + + public static void initializeDefaultValues(IPreferenceStore store) { + store.setDefault(PreferenceConstants.EDITOR_SHOW_SEGMENTS, false); + + // JavaBasePreferencePage + store.setDefault(PreferenceConstants.LINK_PACKAGES_TO_EDITOR, true); + store.setDefault(PreferenceConstants.LINK_TYPEHIERARCHY_TO_EDITOR, false); + store.setDefault(PreferenceConstants.LINK_BROWSING_VIEW_TO_EDITOR, true); + store.setDefault(PreferenceConstants.OPEN_TYPE_HIERARCHY, PreferenceConstants.OPEN_TYPE_HIERARCHY_IN_VIEW_PART); + store.setDefault(PreferenceConstants.DOUBLE_CLICK, PreferenceConstants.DOUBLE_CLICK_EXPANDS); + store.setDefault(PreferenceConstants.UPDATE_JAVA_VIEWS, PreferenceConstants.UPDATE_WHILE_EDITING); + + // AppearancePreferencePage + store.setDefault(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES, false); + store.setDefault(PreferenceConstants.APPEARANCE_METHOD_RETURNTYPE, false); + store.setDefault(PreferenceConstants.SHOW_CU_CHILDREN, true); + store.setDefault(PreferenceConstants.APPEARANCE_OVERRIDE_INDICATOR, true); + store.setDefault(PreferenceConstants.BROWSING_STACK_VERTICALLY, false); + store.setDefault(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW, ""); //$NON-NLS-1$ + store.setDefault(PreferenceConstants.APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER, true); + + // ImportOrganizePreferencePage + store.setDefault(PreferenceConstants.ORGIMPORTS_IMPORTORDER, "php;phpx;org;com"); //$NON-NLS-1$ + store.setDefault(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD, 99); + store.setDefault(PreferenceConstants.ORGIMPORTS_IGNORELOWERCASE, true); + + // ClasspathVariablesPreferencePage + // CodeFormatterPreferencePage + // CompilerPreferencePage + // no initialization needed + + // RefactoringPreferencePage + store.setDefault(PreferenceConstants.REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD, PreferenceConstants.REFACTOR_ERROR_SEVERITY); + store.setDefault(PreferenceConstants.REFACTOR_SAVE_ALL_EDITORS, false); + store.setDefault("RefactoringUI", "dialog"); + + // TemplatePreferencePage + store.setDefault(PreferenceConstants.TEMPLATES_USE_CODEFORMATTER, true); + + // CodeGenerationPreferencePage + store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_PREFIX, false); + store.setDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_SUFFIX, false); + store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_PREFIX, "fg, f, _$, _, m_"); //$NON-NLS-1$ + store.setDefault(PreferenceConstants.CODEGEN_GETTERSETTER_SUFFIX, "_"); //$NON-NLS-1$ + store.setDefault(PreferenceConstants.CODEGEN__JAVADOC_STUBS, true); + store.setDefault(PreferenceConstants.CODEGEN__NON_JAVADOC_COMMENTS, false); + store.setDefault(PreferenceConstants.CODEGEN__FILE_COMMENTS, false); + + // MembersOrderPreferencePage + store.setDefault(PreferenceConstants.APPEARANCE_MEMBER_SORT_ORDER, "T,SI,SF,SM,I,F,C,M"); //$NON-NLS-1$ + // must add here to guarantee that it is the first in the listener list + // store.addPropertyChangeListener(PHPeclipsePlugin.getDefault().getMemberOrderPreferenceCache()); + + // PHPEditorPreferencePage + /* + * Ensure that the display is accessed only in the UI thread. + * Ensure that there are no side effects of switching the thread. + */ + final RGB[] rgbs = new RGB[3]; + final Display display = Display.getDefault(); + display.syncExec(new Runnable() { + public void run() { + Color c = display.getSystemColor(SWT.COLOR_GRAY); + rgbs[0] = c.getRGB(); + c = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND); + rgbs[1] = c.getRGB(); + c = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND); + rgbs[2] = c.getRGB(); + } + }); + + store.setDefault(PreferenceConstants.EDITOR_MATCHING_BRACKETS, true); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR, rgbs[0]); + + store.setDefault(PreferenceConstants.EDITOR_CURRENT_LINE, true); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_CURRENT_LINE_COLOR, new RGB(225, 235, 224)); + + store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN, false); + store.setDefault(PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 80); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR, new RGB(176, 180, 185)); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FIND_SCOPE_COLOR, new RGB(185, 176, 180)); + + store.setDefault(PreferenceConstants.EDITOR_PROBLEM_INDICATION, true); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PROBLEM_INDICATION_COLOR, new RGB(255, 0, 128)); + store.setDefault(PreferenceConstants.EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER, true); + + store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION, true); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_WARNING_INDICATION_COLOR, new RGB(244, 200, 45)); + store.setDefault(PreferenceConstants.EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER, true); + + store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION, false); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_TASK_INDICATION_COLOR, new RGB(0, 128, 255)); + store.setDefault(PreferenceConstants.EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER, false); + + store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION, false); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BOOKMARK_INDICATION_COLOR, new RGB(34, 164, 99)); + store.setDefault(PreferenceConstants.EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER, false); + + store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION, false); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_COLOR, new RGB(192, 192, 192)); + store.setDefault(PreferenceConstants.EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER, false); + + store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION, false); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_UNKNOWN_INDICATION_COLOR, new RGB(0, 0, 0)); + store.setDefault(PreferenceConstants.EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER, false); + + store.setDefault(PreferenceConstants.EDITOR_CORRECTION_INDICATION, true); + store.setDefault(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, false); + + store.setDefault(PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, true); + + store.setDefault(PreferenceConstants.EDITOR_OVERVIEW_RULER, true); + + store.setDefault(PreferenceConstants.EDITOR_LINE_NUMBER_RULER, false); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR, new RGB(0, 0, 0)); + + WorkbenchChainedTextFontFieldEditor.startPropagate(store, JFaceResources.TEXT_FONT); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINKED_POSITION_COLOR, new RGB(0, 200, 100)); + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINK_COLOR, new RGB(0, 0, 255)); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_FOREGROUND_COLOR, rgbs[1]); + store.setDefault(PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR, true); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_BACKGROUND_COLOR, rgbs[2]); + store.setDefault(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR, true); + + store.setDefault(PreferenceConstants.EDITOR_TAB_WIDTH, 4); + store.setDefault(PreferenceConstants.EDITOR_SPACES_FOR_TABS, false); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR, new RGB(63, 127, 95)); + store.setDefault(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD, false); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR, new RGB(63, 127, 95)); + store.setDefault(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD, false); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR, new RGB(127, 0, 85)); + store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD, true); PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_COLOR, new RGB(127, 127, 159)); store.setDefault(PreferenceConstants.EDITOR_PHP_FUNCTIONNAME_BOLD, false); PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_VARIABLE_COLOR, new RGB(127, 159, 191)); store.setDefault(PreferenceConstants.EDITOR_PHP_VARIABLE_BOLD, false); - + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_CONSTANT_COLOR, new RGB(127, 0, 85)); store.setDefault(PreferenceConstants.EDITOR_PHP_CONSTANT_BOLD, false); PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_PHP_TYPE_COLOR, new RGB(127, 0, 85)); store.setDefault(PreferenceConstants.EDITOR_PHP_TYPE_BOLD, false); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_STRING_COLOR, new RGB(42, 0, 255)); - store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD, false); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR, new RGB(0, 0, 0)); - store.setDefault(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD, false); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR, new RGB(127, 159, 191)); - store.setDefault(PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD, true); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR, new RGB(127, 127, 159)); - store.setDefault(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD, false); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR, new RGB(63, 63, 191)); - store.setDefault(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD, false); - - PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR, new RGB(63, 95, 191)); - store.setDefault(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD, false); - - store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION, true); - store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 500); - - store.setDefault(PreferenceConstants.CODEASSIST_AUTOINSERT, true); - PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, new RGB(254, 241, 233)); - PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, new RGB(0, 0, 0)); - PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, new RGB(254, 241, 233)); - PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, new RGB(0, 0, 0)); - PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, new RGB(255, 255, 0)); - PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, new RGB(255, 0, 0)); - store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, "$"); //$NON-NLS-1$ - store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, "@"); //$NON-NLS-1$ - store.setDefault(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, true); - store.setDefault(PreferenceConstants.CODEASSIST_CASE_SENSITIVITY, false); - store.setDefault(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, false); - store.setDefault(PreferenceConstants.CODEASSIST_ADDIMPORT, true); - store.setDefault(PreferenceConstants.CODEASSIST_INSERT_COMPLETION, true); - store.setDefault(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, false); - store.setDefault(PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, true); - - store.setDefault(PreferenceConstants.EDITOR_SMART_HOME_END, true); - store.setDefault(PreferenceConstants.EDITOR_SMART_PASTE, true); - store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS, true); - store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS, true); - store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACES, true); - store.setDefault(PreferenceConstants.EDITOR_CLOSE_JAVADOCS, true); - store.setDefault(PreferenceConstants.EDITOR_WRAP_STRINGS, true); - store.setDefault(PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, true); - store.setDefault(PreferenceConstants.EDITOR_FORMAT_JAVADOCS, true); - - // store.setDefault(PreferenceConstants.EDITOR_DEFAULT_HOVER, JavaPlugin.ID_BESTMATCH_HOVER); - store.setDefault(PreferenceConstants.EDITOR_NONE_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); -// store.setDefault(PreferenceConstants.EDITOR_CTRL_HOVER, JavaPlugin.ID_SOURCE_HOVER); - store.setDefault(PreferenceConstants.EDITOR_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); - store.setDefault(PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); - store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); - store.setDefault(PreferenceConstants.EDITOR_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); - store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); - - // do more complicated stuff - // NewJavaProjectPreferencePage.initDefaults(store); - } - - /** - * Returns the JDT-UI preference store. - * - * @return the JDT-UI preference store - */ - public static IPreferenceStore getPreferenceStore() { - return PHPeclipsePlugin.getDefault().getPreferenceStore(); - } - -// /** -// * Encodes a JRE library to be used in the named preference NEWPROJECT_JRELIBRARY_LIST. -// * -// * @param description a string value describing the JRE library. The description is used -// * to indentify the JDR library in the UI -// * @param entries an array of classpath entries to be encoded -// * -// * @return the encoded string. -// */ -// public static String encodeJRELibrary(String description, IClasspathEntry[] entries) { -// return NewJavaProjectPreferencePage.encodeJRELibrary(description, entries); -// } -// -// /** -// * Decodes an encoded JRE library and returns its description string. -// * -// * @return the description of an encoded JRE library -// * -// * @see #encodeJRELibrary(String, IClasspathEntry[]) -// */ -// public static String decodeJRELibraryDescription(String encodedLibrary) { -// return NewJavaProjectPreferencePage.decodeJRELibraryDescription(encodedLibrary); -// } -// -// /** -// * Decodes an encoded JRE library and returns its classpath entries. -// * -// * @return the array of classpath entries of an encoded JRE library. -// * -// * @see #encodeJRELibrary(String, IClasspathEntry[]) -// */ -// public static IClasspathEntry[] decodeJRELibraryClasspathEntries(String encodedLibrary) { -// return NewJavaProjectPreferencePage.decodeJRELibraryClasspathEntries(encodedLibrary); -// } -// -// /** -// * Returns the current configuration for the JRE to be used as default in new Java projects. -// * This is a convenience method to access the named preference NEWPROJECT_JRELIBRARY_LIST -// * with the index defined by NEWPROJECT_JRELIBRARY_INDEX. -// * -// * @return the current default set of classpath entries -// * -// * @see #NEWPROJECT_JRELIBRARY_LIST -// * @see #NEWPROJECT_JRELIBRARY_INDEX -// */ -// public static IClasspathEntry[] getDefaultJRELibrary() { -// return NewJavaProjectPreferencePage.getDefaultJRELibrary(); -// } + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_STRING_COLOR, new RGB(42, 0, 255)); + store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD, false); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR, new RGB(0, 0, 0)); + store.setDefault(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD, false); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR, new RGB(127, 159, 191)); + store.setDefault(PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD, true); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR, new RGB(127, 127, 159)); + store.setDefault(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD, false); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR, new RGB(63, 63, 191)); + store.setDefault(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD, false); + + PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR, new RGB(63, 95, 191)); + store.setDefault(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD, false); + + store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION, true); + store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 500); + + store.setDefault(PreferenceConstants.CODEASSIST_AUTOINSERT, true); + PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, new RGB(254, 241, 233)); + PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, new RGB(0, 0, 0)); + PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, new RGB(254, 241, 233)); + PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, new RGB(0, 0, 0)); + PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND, new RGB(255, 255, 0)); + PreferenceConverter.setDefault(store, PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND, new RGB(255, 0, 0)); + store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, "$"); //$NON-NLS-1$ + store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, "@"); //$NON-NLS-1$ + store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML, "<&#"); //$NON-NLS-1$ + store.setDefault(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, true); + store.setDefault(PreferenceConstants.CODEASSIST_CASE_SENSITIVITY, false); + store.setDefault(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS, false); + store.setDefault(PreferenceConstants.CODEASSIST_ADDIMPORT, true); + store.setDefault(PreferenceConstants.CODEASSIST_INSERT_COMPLETION, true); + store.setDefault(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, false); + store.setDefault(PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, true); + + store.setDefault(PreferenceConstants.EDITOR_SMART_HOME_END, true); + store.setDefault(PreferenceConstants.EDITOR_SMART_PASTE, true); + store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS, true); + store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS, true); + store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACES, true); + store.setDefault(PreferenceConstants.EDITOR_CLOSE_JAVADOCS, true); + store.setDefault(PreferenceConstants.EDITOR_WRAP_STRINGS, true); + store.setDefault(PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, true); + store.setDefault(PreferenceConstants.EDITOR_FORMAT_JAVADOCS, true); + + // store.setDefault(PreferenceConstants.EDITOR_DEFAULT_HOVER, JavaPlugin.ID_BESTMATCH_HOVER); + store.setDefault(PreferenceConstants.EDITOR_NONE_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); + // store.setDefault(PreferenceConstants.EDITOR_CTRL_HOVER, JavaPlugin.ID_SOURCE_HOVER); + store.setDefault(PreferenceConstants.EDITOR_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); + store.setDefault(PreferenceConstants.EDITOR_CTRL_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); + store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); + store.setDefault(PreferenceConstants.EDITOR_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); + store.setDefault(PreferenceConstants.EDITOR_CTRL_ALT_SHIFT_HOVER, PreferenceConstants.EDITOR_DEFAULT_HOVER_CONFIGURED_ID); + + // do more complicated stuff + // NewJavaProjectPreferencePage.initDefaults(store); + } + + /** + * Returns the JDT-UI preference store. + * + * @return the JDT-UI preference store + */ + public static IPreferenceStore getPreferenceStore() { + return PHPeclipsePlugin.getDefault().getPreferenceStore(); + } + + // /** + // * Encodes a JRE library to be used in the named preference NEWPROJECT_JRELIBRARY_LIST. + // * + // * @param description a string value describing the JRE library. The description is used + // * to indentify the JDR library in the UI + // * @param entries an array of classpath entries to be encoded + // * + // * @return the encoded string. + // */ + // public static String encodeJRELibrary(String description, IClasspathEntry[] entries) { + // return NewJavaProjectPreferencePage.encodeJRELibrary(description, entries); + // } + // + // /** + // * Decodes an encoded JRE library and returns its description string. + // * + // * @return the description of an encoded JRE library + // * + // * @see #encodeJRELibrary(String, IClasspathEntry[]) + // */ + // public static String decodeJRELibraryDescription(String encodedLibrary) { + // return NewJavaProjectPreferencePage.decodeJRELibraryDescription(encodedLibrary); + // } + // + // /** + // * Decodes an encoded JRE library and returns its classpath entries. + // * + // * @return the array of classpath entries of an encoded JRE library. + // * + // * @see #encodeJRELibrary(String, IClasspathEntry[]) + // */ + // public static IClasspathEntry[] decodeJRELibraryClasspathEntries(String encodedLibrary) { + // return NewJavaProjectPreferencePage.decodeJRELibraryClasspathEntries(encodedLibrary); + // } + // + // /** + // * Returns the current configuration for the JRE to be used as default in new Java projects. + // * This is a convenience method to access the named preference NEWPROJECT_JRELIBRARY_LIST + // * with the index defined by NEWPROJECT_JRELIBRARY_INDEX. + // * + // * @return the current default set of classpath entries + // * + // * @see #NEWPROJECT_JRELIBRARY_LIST + // * @see #NEWPROJECT_JRELIBRARY_INDEX + // */ + // public static IClasspathEntry[] getDefaultJRELibrary() { + // return NewJavaProjectPreferencePage.getDefaultJRELibrary(); + // } } diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/text/JavaTextTools.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/text/JavaTextTools.java index 3409576..b727794 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/text/JavaTextTools.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/text/JavaTextTools.java @@ -8,6 +8,7 @@ package net.sourceforge.phpdt.ui.text; import net.sourceforge.phpdt.internal.ui.text.FastJavaPartitionScanner; import net.sourceforge.phpdt.internal.ui.text.JavaColorManager; import net.sourceforge.phpdt.internal.ui.text.phpdoc.PHPDocCodeScanner; +import net.sourceforge.phpeclipse.phpeditor.php.HTMLCodeScanner; import net.sourceforge.phpeclipse.phpeditor.php.PHPCodeScanner; import org.eclipse.jface.preference.IPreferenceStore; @@ -45,16 +46,18 @@ public class JavaTextTools { /** The color manager */ private JavaColorManager fColorManager; - /** The Java source code scanner */ + /** The PHP source code scanner */ private PHPCodeScanner fCodeScanner; - /** The Java multiline comment scanner */ + /** The PHP multiline comment scanner */ private SingleTokenPHPScanner fMultilineCommentScanner; /** The Java singleline comment scanner */ private SingleTokenPHPScanner fSinglelineCommentScanner; /** The Java string scanner */ private SingleTokenPHPScanner fStringScanner; - /** The JavaDoc scanner */ + /** The PHPDoc scanner */ private PHPDocCodeScanner fJavaDocScanner; + /** The HTML scanner */ + private HTMLCodeScanner fHTMLScanner; /** The Java partitions scanner */ private FastJavaPartitionScanner fPartitionScanner; @@ -85,6 +88,7 @@ public class JavaTextTools { fSinglelineCommentScanner= new SingleTokenPHPScanner(fColorManager, store, IJavaColorConstants.PHP_SINGLE_LINE_COMMENT); fStringScanner= new SingleTokenPHPScanner(fColorManager, store, IJavaColorConstants.PHP_STRING); fJavaDocScanner= new PHPDocCodeScanner(fColorManager, store); + fHTMLScanner= new HTMLCodeScanner(fColorManager, store); fPartitionScanner= new FastJavaPartitionScanner(); } @@ -142,6 +146,17 @@ public class JavaTextTools { return fMultilineCommentScanner; } + /** + * Returns a scanner which is configured to scan HTML code. + * + * @return a HTML scanner + * + * @since 2.0 + */ + public RuleBasedScanner getHTMLScanner() { + return fHTMLScanner; + } + /** * Returns a scanner which is configured to scan Java singleline comments. * diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPSyntaxEditorPreferencePage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPSyntaxEditorPreferencePage.java index 7e2ebf9..dda227b 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPSyntaxEditorPreferencePage.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPSyntaxEditorPreferencePage.java @@ -129,8 +129,8 @@ public class PHPSyntaxEditorPreferencePage extends PreferencePage implements IWo private Button UnderlineCheckBox; private FileFieldEditor userdefPHPSyntaxFileFFE; // private BooleanFieldEditor showLineNumber; - private IntegerFieldEditor formatterTabSize; - private BooleanFieldEditor spacesForTabs; + // private IntegerFieldEditor formatterTabSize; + // private BooleanFieldEditor spacesForTabs; public PHPSyntaxEditorPreferencePage() { setDescription(PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.description")); //$NON-NLS-1$ @@ -465,8 +465,8 @@ public class PHPSyntaxEditorPreferencePage extends PreferencePage implements IWo PHPeclipsePlugin.getDefault().savePluginPreferences(); userdefPHPSyntaxFileFFE.store(); // showLineNumber.store(); - spacesForTabs.store(); - formatterTabSize.store(); + // spacesForTabs.store(); + // formatterTabSize.store(); return true; } @@ -476,9 +476,9 @@ public class PHPSyntaxEditorPreferencePage extends PreferencePage implements IWo handleSyntaxColorListSelection(); userdefPHPSyntaxFileFFE.loadDefault(); // showLineNumber.loadDefault(); - spacesForTabs.loadDefault(); + // spacesForTabs.loadDefault(); // showLineNumber.loadDefault(); - formatterTabSize.loadDefault(); + // formatterTabSize.loadDefault(); super.performDefaults(); } diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPSourceViewerConfiguration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPSourceViewerConfiguration.java index 45ee036..c8e1090 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPSourceViewerConfiguration.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPSourceViewerConfiguration.java @@ -29,7 +29,6 @@ import net.sourceforge.phpeclipse.phpeditor.php.PHPCompletionProcessor; import net.sourceforge.phpeclipse.phpeditor.php.PHPDoubleClickSelector; import net.sourceforge.phpeclipse.phpeditor.util.PHPColorProvider; -import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.text.DefaultAutoIndentStrategy; import org.eclipse.jface.text.IAutoIndentStrategy; @@ -48,6 +47,7 @@ import org.eclipse.jface.text.presentation.PresentationReconciler; import org.eclipse.jface.text.rules.BufferedRuleBasedScanner; import org.eclipse.jface.text.rules.DefaultDamagerRepairer; import org.eclipse.jface.text.rules.DefaultPartitioner; +import org.eclipse.jface.text.rules.RuleBasedScanner; import org.eclipse.jface.text.rules.Token; import org.eclipse.jface.text.source.IAnnotationHover; import org.eclipse.jface.text.source.ISourceViewer; @@ -178,12 +178,38 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { return (IPHPPartitionScannerConstants.PHP.equals(contentType) ? new PHPAutoIndentStrategy() : new DefaultAutoIndentStrategy()); } + /** + * Returns the PHP source code scanner for this configuration. + * + * @return the PHP source code scanner + */ + protected RuleBasedScanner getCodeScanner() { + return fJavaTextTools.getCodeScanner(); + } + + /** + * Returns the HTML source code scanner for this configuration. + * + * @return the HTML source code scanner + */ + protected RuleBasedScanner getHTMLScanner() { + return fJavaTextTools.getHTMLScanner(); + } + + /** + * Returns the PHPDoc source code scanner for this configuration. + * + * @return the PHPDoc source code scanner + */ + protected RuleBasedScanner getPHPDocScanner() { + return fJavaTextTools.getJavaDocScanner(); + } + /* (non-Javadoc) * Method declared on SourceViewerConfiguration */ public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) { return new String[] { - // IDocument.DEFAULT_CONTENT_TYPE, IPHPPartitionScannerConstants.HTML, IPHPPartitionScannerConstants.HTML_MULTILINE_COMMENT, IPHPPartitionScannerConstants.PHP, @@ -191,7 +217,8 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { IPHPPartitionScannerConstants.CSS, IPHPPartitionScannerConstants.CSS_MULTILINE_COMMENT, IPHPPartitionScannerConstants.JAVASCRIPT, - IPHPPartitionScannerConstants.JS_MULTILINE_COMMENT }; + IPHPPartitionScannerConstants.JS_MULTILINE_COMMENT, + IDocument.DEFAULT_CONTENT_TYPE }; } /* (non-Javadoc) @@ -298,23 +325,23 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { JavaColorManager provider = PHPEditorEnvironment.getPHPColorProvider(); PresentationReconciler reconciler = new PresentationReconciler(); - DefaultDamagerRepairer dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getHTMLCodeScanner()); + DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getHTMLScanner()); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); - dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getHTMLCodeScanner()); + dr = new DefaultDamagerRepairer(getHTMLScanner()); reconciler.setDamager(dr, IPHPPartitionScannerConstants.HTML); reconciler.setRepairer(dr, IPHPPartitionScannerConstants.HTML); - dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getHTMLCodeScanner()); + dr = new DefaultDamagerRepairer(getHTMLScanner()); reconciler.setDamager(dr, IPHPPartitionScannerConstants.CSS); reconciler.setRepairer(dr, IPHPPartitionScannerConstants.CSS); - dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getHTMLCodeScanner()); + dr = new DefaultDamagerRepairer(getHTMLScanner()); reconciler.setDamager(dr, IPHPPartitionScannerConstants.CSS_MULTILINE_COMMENT); reconciler.setRepairer(dr, IPHPPartitionScannerConstants.CSS_MULTILINE_COMMENT); - dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getHTMLCodeScanner()); + dr = new DefaultDamagerRepairer(getHTMLScanner()); reconciler.setDamager(dr, IPHPPartitionScannerConstants.JAVASCRIPT); reconciler.setRepairer(dr, IPHPPartitionScannerConstants.JAVASCRIPT); - dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getHTMLCodeScanner()); + dr = new DefaultDamagerRepairer(getHTMLScanner()); reconciler.setDamager(dr, IPHPPartitionScannerConstants.JS_MULTILINE_COMMENT); reconciler.setRepairer(dr, IPHPPartitionScannerConstants.JS_MULTILINE_COMMENT); dr = @@ -322,11 +349,11 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { reconciler.setDamager(dr, IPHPPartitionScannerConstants.HTML_MULTILINE_COMMENT); reconciler.setRepairer(dr, IPHPPartitionScannerConstants.HTML_MULTILINE_COMMENT); - dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getPHPCodeScanner()); + dr = new DefaultDamagerRepairer(getCodeScanner()); reconciler.setDamager(dr, IPHPPartitionScannerConstants.PHP); reconciler.setRepairer(dr, IPHPPartitionScannerConstants.PHP); - dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getPHPDocCodeScanner()); + dr = new DefaultDamagerRepairer(getPHPDocScanner()); reconciler.setDamager(dr, IPHPPartitionScannerConstants.PHP_MULTILINE_COMMENT); reconciler.setRepairer(dr, IPHPPartitionScannerConstants.PHP_MULTILINE_COMMENT); diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/HTMLCompletionProcessor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/HTMLCompletionProcessor.java index 9323dae..1f712a3 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/HTMLCompletionProcessor.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/HTMLCompletionProcessor.java @@ -111,6 +111,7 @@ public class HTMLCompletionProcessor implements IContentAssistProcessor { protected IContextInformationValidator fValidator = new Validator(); private TemplateEngine fTemplateEngine; + private char[] fProposalAutoActivationSet; private PHPCompletionProposalComparator fComparator; private int fNumberOfComputedResults = 0; @@ -209,13 +210,32 @@ public class HTMLCompletionProcessor implements IContentAssistProcessor { return proposals; } - /* (non-Javadoc) - * Method declared on IContentAssistProcessor + /** + * Tells this processor to order the proposals alphabetically. + * + * @param order true if proposals should be ordered. + */ + public void orderProposalsAlphabetically(boolean order) { + fComparator.setOrderAlphabetically(order); + } + + /** + * @see IContentAssistProcessor#getCompletionProposalAutoActivationCharacters() */ public char[] getCompletionProposalAutoActivationCharacters() { - return new char[] { '<', '&', '#' }; + return fProposalAutoActivationSet; } - + + /** + * Sets this processor's set of characters triggering the activation of the + * completion proposal computation. + * + * @param activationSet the activation set + */ + public void setCompletionProposalAutoActivationCharacters(char[] activationSet) { + fProposalAutoActivationSet= activationSet; + } + /* (non-Javadoc) * Method declared on IContentAssistProcessor */ diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java index 893e0c1..64fcaff 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java @@ -251,6 +251,15 @@ public class PHPCompletionProcessor implements IContentAssistProcessor { } /** + * Tells this processor to order the proposals alphabetically. + * + * @param order true if proposals should be ordered. + */ + public void orderProposalsAlphabetically(boolean order) { + fComparator.setOrderAlphabetically(order); + } + + /** * Sets this processor's set of characters triggering the activation of the * completion proposal computation. *