diff options
author | Kai Maetzel | 2003-07-14 12:44:56 +0000 |
---|---|---|
committer | Kai Maetzel | 2003-07-14 12:44:56 +0000 |
commit | 67a960f59a28f10da8f84704db474092fa98e304 (patch) | |
tree | 31c13046f9f32e607eb50d0c1afc1c06bf3c2719 /org.eclipse.jface.text/src/org/eclipse/jface/text/information | |
parent | 04434628ccc1151a322f1e29d0bebdce2268ccd2 (diff) | |
download | eclipse.platform.text-67a960f59a28f10da8f84704db474092fa98e304.tar.gz eclipse.platform.text-67a960f59a28f10da8f84704db474092fa98e304.tar.xz eclipse.platform.text-67a960f59a28f10da8f84704db474092fa98e304.zip |
Focus handling added to widget token management
Diffstat (limited to 'org.eclipse.jface.text/src/org/eclipse/jface/text/information')
-rw-r--r-- | org.eclipse.jface.text/src/org/eclipse/jface/text/information/InformationPresenter.java | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/information/InformationPresenter.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/information/InformationPresenter.java index e40c18b402b..2dd4e94ee82 100644 --- a/org.eclipse.jface.text/src/org/eclipse/jface/text/information/InformationPresenter.java +++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/information/InformationPresenter.java @@ -39,7 +39,9 @@ import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.ITextViewerExtension3; import org.eclipse.jface.text.IViewportListener; import org.eclipse.jface.text.IWidgetTokenKeeper; +import org.eclipse.jface.text.IWidgetTokenKeeperExtension; import org.eclipse.jface.text.IWidgetTokenOwner; +import org.eclipse.jface.text.IWidgetTokenOwnerExtension; import org.eclipse.jface.text.Region; @@ -55,7 +57,16 @@ import org.eclipse.jface.text.Region; * * @since 2.0 */ -public class InformationPresenter extends AbstractInformationControlManager implements IInformationPresenter, IWidgetTokenKeeper { +public class InformationPresenter extends AbstractInformationControlManager implements IInformationPresenter, IWidgetTokenKeeper, IWidgetTokenKeeperExtension { + + + /** + * Priority of the info controls managed by this information presenter. + * Default value: <code>0</code>; + * @since 3.0 + */ + public static final int WIDGET_PRIORITY= 0; + /** * Internal information control closer. Listens to several events issued by its subject control @@ -395,6 +406,11 @@ public class InformationPresenter extends AbstractInformationControlManager impl IWidgetTokenOwner owner= (IWidgetTokenOwner) fTextViewer; if (owner.requestWidgetToken(this)) super.showInformationControl(subjectArea); + + } else if (fTextViewer instanceof IWidgetTokenOwnerExtension) { + IWidgetTokenOwnerExtension extension= (IWidgetTokenOwnerExtension) fTextViewer; + if (extension.requestWidgetToken(this, WIDGET_PRIORITY)) + super.showInformationControl(subjectArea); } } @@ -432,5 +448,18 @@ public class InformationPresenter extends AbstractInformationControlManager impl public boolean requestWidgetToken(IWidgetTokenOwner owner) { return false; } + + /* + * @see org.eclipse.jface.text.IWidgetTokenKeeperExtension#requestWidgetToken(org.eclipse.jface.text.IWidgetTokenOwner, int) + */ + public boolean requestWidgetToken(IWidgetTokenOwner owner, int priority) { + return false; + } + + /* + * @see org.eclipse.jface.text.IWidgetTokenKeeperExtension#setFocus(org.eclipse.jface.text.IWidgetTokenOwner) + */ + public void setFocus(IWidgetTokenOwner owner) { + } } |