Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Kolosowski2003-09-04 21:31:32 +0000
committerKonrad Kolosowski2003-09-04 21:31:32 +0000
commit41dffa5cf99bebce2efc7b0edf5d4e8a4a6bc773 (patch)
tree8a37a0a43ab2f8b890b81abe961842bc108bb0c9 /org.eclipse.help.ui
parent6f6a901aa1871b928d74557d421b9ce6a3992969 (diff)
downloadeclipse.platform.ua-41dffa5cf99bebce2efc7b0edf5d4e8a4a6bc773.tar.gz
eclipse.platform.ua-41dffa5cf99bebce2efc7b0edf5d4e8a4a6bc773.tar.xz
eclipse.platform.ua-41dffa5cf99bebce2efc7b0edf5d4e8a4a6bc773.zip
33778 Arrows do not move focus, need to use Tab on F1 popup
Diffstat (limited to 'org.eclipse.help.ui')
-rw-r--r--org.eclipse.help.ui/src/org/eclipse/help/ui/internal/ContextHelpDialog.java29
-rw-r--r--org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkLabel.java20
2 files changed, 36 insertions, 13 deletions
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/ContextHelpDialog.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/ContextHelpDialog.java
index 23a9db9bb..6c4d07863 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/ContextHelpDialog.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/ContextHelpDialog.java
@@ -155,7 +155,11 @@ public class ContextHelpDialog {
contents.setLayoutData(new GridData(GridData.FILL_BOTH));
// create the dialog area and button bar
createInfoArea(contents);
- createLinksArea(contents);
+ Control c=createLinksArea(contents);
+ if(c!=null){
+ // links exist, make them the only focusable controls
+ contents.setTabList(new Control[] {c});
+ }
return contents;
}
private Control createInfoArea(Composite parent) {
@@ -163,11 +167,7 @@ public class ContextHelpDialog {
String styledText = context.getText();
if (styledText == null) // no description found in context objects.
styledText = WorkbenchResources.getString("WW002");
- StyledText text =
- new StyledText(
- parent,
- SWT.MULTI | SWT.READ_ONLY /* | SWT.NO_FOCUS | SWT.WRAP*/
- );
+ Description text = new Description(parent, SWT.MULTI | SWT.READ_ONLY);
text.addTraverseListener(new TraverseListener() {
public void keyTraversed(TraverseEvent e) {
if (e.detail == SWT.TRAVERSE_ESCAPE) {
@@ -335,4 +335,21 @@ public class ContextHelpDialog {
}
});
}
+
+ public class Description extends StyledText {
+ /**
+ * @param parent
+ * @param style
+ */
+ public Description(Composite parent, int style) {
+ super(parent, style);
+ }
+ public boolean setFocus() {
+ return false;
+ }
+ public boolean isFocusControl() {
+ return false;
+ }
+ }
+
}
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkLabel.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkLabel.java
index c964f345f..ca45e8dd4 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkLabel.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkLabel.java
@@ -60,13 +60,19 @@ public class HyperlinkLabel extends Canvas{
addListener(SWT.Traverse, new Listener () {
public void handleEvent(Event e) {
switch (e.detail) {
- case SWT.TRAVERSE_PAGE_NEXT:
- case SWT.TRAVERSE_PAGE_PREVIOUS:
- case SWT.TRAVERSE_ARROW_NEXT:
- case SWT.TRAVERSE_ARROW_PREVIOUS:
- case SWT.TRAVERSE_RETURN:
- e.doit = false;
- return;
+ // let arrows move focus
+ case SWT.TRAVERSE_ARROW_NEXT :
+ e.detail = SWT.TRAVERSE_TAB_NEXT;
+ break;
+ case SWT.TRAVERSE_ARROW_PREVIOUS :
+ e.detail = SWT.TRAVERSE_TAB_PREVIOUS;
+ break;
+
+ case SWT.TRAVERSE_PAGE_NEXT :
+ case SWT.TRAVERSE_PAGE_PREVIOUS :
+ case SWT.TRAVERSE_RETURN :
+ e.doit = false;
+ return;
}
e.doit = true;
}

Back to the top