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

Bug 382752

Summary: [Tree][Table][Grid] Refactor client GridColumn
Product: [RT] RAP Reporter: Tim Buschtoens <tbuschto>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: tbuschto
Version: 1.5   
Target Milestone: 2.0 M1   
Hardware: All   
OS: All   
Whiteboard:

Description Tim Buschtoens CLA 2012-06-15 11:02:36 EDT
To better support nebula grid, we need to make some refactorings to client GridColumn. Instead of the columnArea (will rename that to ColumnContainer) beeing only on top, it will have the height of the entire Grid (sans scrollbars). The column will have the height of the container, with the header (and later footer) painted on the top using MultiCellWidget.
Comment 1 Tim Buschtoens CLA 2012-06-18 05:12:48 EDT
Ofter some discussion with ivan, we decided to have two ColumnRender (header and footer) instead of one big widget which rendres nothing in its middle section. For that, the client-side column widget has to be split in the data container and the actual rendered widget.
Comment 2 Tim Buschtoens CLA 2012-06-21 12:26:17 EDT
Fixed with commit 66e4c7ccbf144d231169ec5d3b35ee10a1bfa042.

There is very little code left from the original implementation. The GridColumn.js now only contains the data, while GridColumnLabel.js is what renders the header of a column. GridHeader.js does the communication between the two. I also took the opportunity to implement a propper drag feedback for moveable columns, though there is still no insert marker (that might have taken another day.) On the other hand it now has a "snap-back" animation that we could also use in other places.
Comment 3 Tim Buschtoens CLA 2012-06-22 07:01:46 EDT
Added commit e8a8576a86e86e8b3f5153b3e4adccac68d391f5 which fixes a minor issue woth some firefox installations flickering during dragging a column.
Comment 4 Tim Buschtoens CLA 2012-06-25 05:30:07 EDT
With commit 9afaab695b40afa5e5cb449b62aafb702e1258e9 i slightly refactored the snap animation. Besides prettier code, its now disposed asynchronously (timeout), since disposing an object during an event fired by that same object isn't a very good idea.