Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 329681

Summary: [TabFolder] Reimplement client-side TabFolder
Product: [RT] RAP Reporter: Ivan Furnadjiev <ivan>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P3 CC: jgymer, tbuschto
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 215015, 283991, 283874, 329943, 330225    

Description Ivan Furnadjiev CLA 2010-11-08 10:46:05 EST
TabFolder is still using qooxdoo qx.ui.pageview.tabview.TabView widget with additional utility class. A lot of other qooxdoo classes are involved in qx.ui.pageview.tabview.TabView widget. Create a common client side implementation for TabFolder and CTabFolder will have the following benefits:
1. Reduce cient-side code - qx.ui.pageview.tabview.TabView and friends will be removed.
2. Increase themeability of TabFolder, which is problematic with the current qx.ui.pageview.tabview.TabView
3. Make the code easy maintainable (for TabFolder).
Comment 1 Tim Buschtoens CLA 2010-11-15 08:44:33 EST
Since the implementations of CTabFolder and TabView are very different, we should also consider to only refactor/reimplement TabView as TabFolder. It would have the benefits 2 and 3, but not 1 - Reduce cient-side code. Or we could try to have a common superclass like BasicTabFolder.
Comment 2 Tim Buschtoens CLA 2010-11-25 08:31:25 EST
We will implement a new TabFolder from scratch. After that we can still see if its possible and worthwile to somehow share code with CTabFolder.
Comment 3 Tim Buschtoens CLA 2012-02-17 09:26:41 EST
An important feature of the new TabFolder should be overflow handling. There are several (non exclusive) options regarding that, including scrolling (like Win/SWT, but possibly with better usability), shrinking tabs (like GoogleChrome, possiblity with some hover effect to read the full label) and dropdown menu (as in CTabFolder).
Comment 4 Tim Buschtoens CLA 2012-07-12 09:28:54 EDT
Another idea i had while using controls demo: Switching tabs can take some time, especially if the content is created lazily. It might be possible to hide the current page on the client when clicking another tabitem, and show a loading gif until the new page is displayed.
Comment 5 John Gymer CLA 2014-01-23 10:55:57 EST
When this re-write for Tabs happens, please ensure that a focus indicator is displayed and that keyboard/tab navigations works so that accessibility-compliance can be met.
Thanks, John