+++ /dev/null
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-package net.sourceforge.phpdt.internal.ui.text;
-
-import net.sourceforge.phpdt.internal.ui.text.phpdoc.PHPDocCompletionProcessor;
-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.PHPCompletionProcessor;
-import net.sourceforge.phpeclipse.ui.WebUI;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-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 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 = WebUI.getDefault()
- .getJavaTextTools();
- return getColor(store, key, textTools.getColorManager());
- }
-
- private static PHPCompletionProcessor getJavaProcessor(
- ContentAssistant assistant) {
- IContentAssistProcessor p = assistant
- .getContentAssistProcessor(IPHPPartitions.PHP_PARTITIONING);
- if (p instanceof PHPCompletionProcessor)
- return (PHPCompletionProcessor) p;
- return null;
- }
-
- private static PHPDocCompletionProcessor getJavaDocProcessor(
- ContentAssistant assistant) {
- IContentAssistProcessor p = assistant
- .getContentAssistProcessor(IPHPPartitions.PHP_PHPDOC_COMMENT);
- if (p instanceof PHPDocCompletionProcessor)
- return (PHPDocCompletionProcessor) p;
- return null;
- }
-
- private static HTMLCompletionProcessor getHTMLProcessor(
- ContentAssistant assistant) {
- IContentAssistProcessor p = assistant
- .getContentAssistProcessor(IPHPPartitions.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 = WebUI.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);
-// }
-}