Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Maetzel2003-07-14 12:44:56 +0000
committerKai Maetzel2003-07-14 12:44:56 +0000
commit67a960f59a28f10da8f84704db474092fa98e304 (patch)
tree31c13046f9f32e607eb50d0c1afc1c06bf3c2719 /org.eclipse.jface.text/src/org/eclipse/jface/text/information
parent04434628ccc1151a322f1e29d0bebdce2268ccd2 (diff)
downloadeclipse.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.java31
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) {
+ }
}

Back to the top