diff options
author | Dani Megert | 2008-05-15 10:35:17 +0000 |
---|---|---|
committer | Dani Megert | 2008-05-15 10:35:17 +0000 |
commit | b41dbe6480218660ff3cd3958c9dee29beeab0da (patch) | |
tree | 1535babfaefcadeefdd5cc384ad63f5238c57ea4 | |
parent | 679ed02a7954da63d4df66167ad4d821a96f9a66 (diff) | |
download | eclipse.platform.text-b41dbe6480218660ff3cd3958c9dee29beeab0da.tar.gz eclipse.platform.text-b41dbe6480218660ff3cd3958c9dee29beeab0da.tar.xz eclipse.platform.text-b41dbe6480218660ff3cd3958c9dee29beeab0da.zip |
Committed Markus's patch to fix bug 232025: [hovering][correction] additional info for quick assist/fix misses focus hint
5 files changed, 33 insertions, 14 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/AdditionalInfoController.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/AdditionalInfoController.java index 1c23e1efd36..f71c9dc69b6 100644 --- a/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/AdditionalInfoController.java +++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/AdditionalInfoController.java @@ -377,10 +377,12 @@ class AdditionalInfoController extends AbstractInformationControlManager { public void widgetDefaultSelected(SelectionEvent e) { } } + /** - * Default control creator. + * Default control creator for the information control replacer. + * @since 3.4 */ - private static class DefaultInformationControlCreator extends AbstractReusableInformationControlCreator { + private static class DefaultPresenterControlCreator extends AbstractReusableInformationControlCreator { public IInformationControl doCreateInformationControl(Shell shell) { return new DefaultInformationControl(shell, true); } @@ -430,7 +432,7 @@ class AdditionalInfoController extends AbstractInformationControlManager { int spacing= -1; setMargins(spacing, spacing); // see also adjustment in #computeLocation - InformationControlReplacer replacer= new InformationControlReplacer(new DefaultInformationControlCreator()); + InformationControlReplacer replacer= new InformationControlReplacer(new DefaultPresenterControlCreator()); getInternalAccessor().setInformationControlReplacer(replacer); } diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextSourceViewerConfiguration.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextSourceViewerConfiguration.java index aa410fe0c5a..128067c6347 100644 --- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextSourceViewerConfiguration.java +++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextSourceViewerConfiguration.java @@ -16,16 +16,15 @@ import java.util.Map; import java.util.StringTokenizer; import java.util.Map.Entry; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IAdaptable; + import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Shell; -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.IAdaptable; - import org.eclipse.jface.action.Action; import org.eclipse.jface.preference.IPreferenceStore; - import org.eclipse.jface.text.DefaultInformationControl; import org.eclipse.jface.text.DefaultTextHover; import org.eclipse.jface.text.IInformationControl; @@ -49,6 +48,7 @@ import org.eclipse.jface.text.source.IAnnotationHover; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.SourceViewerConfiguration; +import org.eclipse.ui.internal.editors.text.EditorsPlugin; import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants; import org.eclipse.ui.texteditor.AnnotationPreference; import org.eclipse.ui.texteditor.HyperlinkDetectorRegistry; @@ -414,7 +414,7 @@ public class TextSourceViewerConfiguration extends SourceViewerConfiguration { private IInformationControlCreator getQuickAssistAssistantInformationControlCreator() { return new IInformationControlCreator() { public IInformationControl createInformationControl(Shell parent) { - return new DefaultInformationControl(parent, false); + return new DefaultInformationControl(parent, EditorsPlugin.getAdditionalInfoAffordanceString()); } }; } diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/EditorsPlugin.java b/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/EditorsPlugin.java index de477d04252..60d57a28a48 100644 --- a/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/EditorsPlugin.java +++ b/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/EditorsPlugin.java @@ -11,23 +11,20 @@ *******************************************************************************/ package org.eclipse.ui.internal.editors.text; -import org.osgi.framework.BundleContext; - import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.MultiStatus; import org.eclipse.core.runtime.Status; +import org.eclipse.jface.text.source.ISharedTextColors; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.jface.text.source.ISharedTextColors; - -import org.eclipse.ui.editors.text.EditorsUI; - import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.editors.text.EditorsUI; import org.eclipse.ui.internal.texteditor.AnnotationTypeHierarchy; import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants; import org.eclipse.ui.texteditor.AnnotationPreferenceLookup; import org.eclipse.ui.texteditor.AnnotationTypeLookup; import org.eclipse.ui.texteditor.HyperlinkDetectorRegistry; @@ -35,6 +32,7 @@ import org.eclipse.ui.texteditor.MarkerAnnotationPreferences; import org.eclipse.ui.texteditor.spelling.SpellingService; import org.eclipse.ui.themes.IThemeManager; +import org.osgi.framework.BundleContext; /** * Represents the editors plug-in. It provides a series of convenience methods such as @@ -263,4 +261,21 @@ public class EditorsPlugin extends AbstractUIPlugin { fHyperlinkDetectorRegistry= new HyperlinkDetectorRegistry(getPreferenceStore()); return fHyperlinkDetectorRegistry; } + + /** + * Returns the content assist additional info focus affordance string. + * + * @return the affordance string which is <code>null</code> if the + * preference is disabled + * + * @see EditorsUI#getTooltipAffordanceString() + * @since 3.4 + */ + public static final String getAdditionalInfoAffordanceString() { + if (!EditorsUI.getPreferenceStore().getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE)) + return null; + + return TextEditorMessages.EditorsPlugin_additionalInfo_affordance; + } + } diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.java b/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.java index 20cc1ce54db..fe765560b91 100644 --- a/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.java +++ b/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.java @@ -26,6 +26,7 @@ final class TextEditorMessages extends NLS { } public static String AnnotationsConfigurationBlock_DASHED_BOX; + public static String EditorsPlugin_additionalInfo_affordance; public static String EditorsPlugin_internal_error; public static String LinkedModeConfigurationBlock_DASHED_BOX; public static String TextEditorPreferencePage_displayedTabWidth; diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.properties b/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.properties index b50155e3413..f4567f13d84 100644 --- a/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.properties +++ b/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.properties @@ -9,6 +9,7 @@ # IBM Corporation - initial API and implementation ############################################################################### +EditorsPlugin_additionalInfo_affordance=Press 'Tab' from proposal table or click for focus EditorsPlugin_internal_error=Internal Error TextEditorPreferencePage_displayedTabWidth=Displayed &tab width: |