summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets
diff options
context:
space:
mode:
authorCarolyn MacLeod <carolyn>2009-10-29 15:32:07 +0000
committerCarolyn MacLeod <carolyn>2009-10-29 15:32:07 +0000
commit5a45eee3fd3579f44b8bf252399596c0117ebf2e (patch)
treeaeb6defa1896298bdf84593f05961e253f17a706 /bundles/org.eclipse.swt/Eclipse SWT Custom Widgets
parent6f872f6b65574c8b2a3f069ff7d54e1344907d73 (diff)
downloadeclipse.platform.swt-5a45eee3fd3579f44b8bf252399596c0117ebf2e.tar.gz
eclipse.platform.swt-5a45eee3fd3579f44b8bf252399596c0117ebf2e.tar.xz
eclipse.platform.swt-5a45eee3fd3579f44b8bf252399596c0117ebf2e.zip
72905 - [CTabFolder] does not gain focus
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Custom Widgets')
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java
index 9d26184c96..c2104bb637 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java
@@ -1942,7 +1942,10 @@ boolean onMnemonic (Event event, boolean doit) {
char mnemonic = _findMnemonic (items[i].getText ());
if (mnemonic != '\0') {
if (Character.toLowerCase (key) == mnemonic) {
- if (doit) setSelection(i, true);
+ if (doit) {
+ setSelection(i, true);
+ forceFocus();
+ }
return true;
}
}
@@ -2042,7 +2045,12 @@ void onMouse(Event event) {
}
int index = indexOf(item);
if (item.showing){
- setSelection(index, true);
+ int oldSelectedIndex = selectedIndex;
+ setSelection(index, true);
+ if (oldSelectedIndex == selectedIndex) {
+ /* If the click is on the selected tabitem, then set focus to the tabfolder */
+ forceFocus();
+ }
}
return;
}