Project: SWT
Bug 66433 Need keyboard support for Nested Tabfolder Traversal
Reported: 2004-06-09 18:07:45 | Status: resolved fixed

CTRL+PageUP and CTRL+PageDown doesn't work in the inner tabfolder if you have nested tabfolders. It works on the outer one even if focus is on inner tabfolder. It should work on whereever the focus is. HOME & END keys does work on inner tabfolder correctly. Problem happens Eclipse 3.0RC1 build Linux GTK build. Haven't tried on Motif. Works fine on Windows. e.g import org.eclipse.swt.widgets.*; import org.eclipse.swt.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.custom.*; public class TabTest { public static void main(String[] args) { Display display = new Display (); final Shell shell = new Shell (display); final CTabFolder customFolder = new CTabFolder(shell, SWT.BOTTOM); Composite comp = new Composite(customFolder, SWT.NONE); comp.setLayout(new GridLayout()); for (int i =0; i < 3; i++) { CTabItem item = new CTabItem(customFolder, SWT.NULL); item.setText("CTabItem " + i); if (i ==0) { item.setControl(comp); } } final TabFolder tabFolder = new TabFolder (comp, SWT.BORDER); for (int i=0; i < 6; i++) { TabItem item = new TabItem (tabFolder, SWT.NULL); item.setText ("TabItem " + i); } tabFolder.setLayout(new GridLayout()); tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH)); customFolder.setSize (400, 200); shell.pack (); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } }

Files changed in fix:
bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java