Bug 60117 - [Viewers] Need a DeferredTableContentProvider
Summary: [Viewers] Need a DeferredTableContentProvider
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P4 enhancement with 1 vote (vote)
Target Milestone: 3.1 M5   Edit
Assignee: Stefan Xenos CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 82240
Blocks:
  Show dependency tree
 
Reported: 2004-04-27 11:18 EDT by Kent Johnson CLA
Modified: 2005-02-16 17:41 EST (History)
8 users (show)

See Also:


Attachments
Stefans patch for the IDE (20.20 KB, patch)
2004-10-15 10:23 EDT, Tod Creasey CLA
no flags Details | Diff
Stefans patch for JFace (184.10 KB, patch)
2004-10-15 10:23 EDT, Tod Creasey CLA
no flags Details | Diff
Stefans new test suites (84.59 KB, patch)
2004-10-15 10:24 EDT, Tod Creasey CLA
no flags Details | Diff
Tods updated TableViewer and changes to the Test Suites (15.88 KB, application/octet-stream)
2004-10-15 10:25 EDT, Tod Creasey CLA
no flags Details
Updated JFace patch. Integrated with TableViewer now. (106.09 KB, patch)
2005-01-31 04:11 EST, Stefan Xenos CLA
no flags Details | Diff
Updates the marker views to use the DeferredContentProvider (NOT FINISHED -- FOR PERFORMANCE TESTING ONLY) (143.22 KB, patch)
2005-01-31 04:17 EST, Stefan Xenos CLA
no flags Details | Diff
Updated test suites (44.27 KB, patch)
2005-01-31 04:18 EST, Stefan Xenos CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Johnson CLA 2004-04-27 11:18:45 EDT
eclipse-SDK-I20040427-win32.zip

1. Perform a search & display the results with the flat layout
2. Now sort the results by 'Parent Name'... notice the type names do not come 
first
2. Switch to the hierarchical layout, then back to the flat - now the type 
names are first
Comment 1 Kent Johnson CLA 2004-04-27 12:39:52 EDT
Didn't notice that its doing in the background.

There is no visual clue that its resorting.

Try to search for the constructor in org.eclipse.swt.widgets.Text
Comment 2 Dirk Baeumer CLA 2004-04-27 13:27:39 EDT
Thomas, can you comment on this. 
Comment 3 Thomas M??der CLA 2004-04-28 04:01:40 EDT
We shouldn't be sorting in the background.
Comment 4 Dirk Baeumer CLA 2004-04-28 05:30:08 EDT
Is this related to the label provider bug for flat view ?
Comment 5 Thomas M??der CLA 2004-04-28 05:34:51 EDT
No, this is java search, the other was file search specific.
Comment 6 Thomas M??der CLA 2004-05-03 11:17:38 EDT
The UI update job must have been not quite done yet. I changed the update
strategy to be more synchronous. The whole thing still takes forever for large
result sets (for example, turning on decorators). There is nothing I can do
until we have a scalable table viewer. In the mean time, use the tree view.

Moving to platform-ui.
Comment 7 Tod Creasey CLA 2004-05-05 08:45:35 EDT
Renaming the PR. The ProblemsView implements something like this an we could 
push it up but it is too late in the 3.0 cycle for us to be able to do it now.

We will have to do it for 3.1.
Comment 8 Tod Creasey CLA 2004-06-28 11:27:49 EDT
Reopening now that 3.0 has shipped
Comment 9 Stefan Xenos CLA 2004-10-05 17:15:49 EDT
See bug 72358... it includes a generalized improvement on the current problem
view sorter which could be used for TableViewer.
Comment 10 Tod Creasey CLA 2004-10-15 10:23:22 EDT
Created attachment 15188 [details]
Stefans patch for the IDE
Comment 11 Tod Creasey CLA 2004-10-15 10:23:40 EDT
Created attachment 15189 [details]
Stefans patch for JFace
Comment 12 Tod Creasey CLA 2004-10-15 10:24:00 EDT
Created attachment 15190 [details]
Stefans new test suites
Comment 13 Tod Creasey CLA 2004-10-15 10:25:44 EDT
Created attachment 15191 [details]
Tods updated TableViewer and changes to the Test Suites
Comment 14 Tod Creasey CLA 2004-10-15 10:26:40 EDT
I have moved the patches from Bug 72358 here as they are more relevant to this 
report
Comment 15 Tod Creasey CLA 2005-01-05 09:54:42 EST
Note that there are two problems being looks at

1) Something that sorts and filters data in the background (Stefans work here)
2) Something that looks up elements lazily (see Bug 82240).

If you are interested in the second issue please add yourself to the cc list or
Bug 82240
Comment 16 Stefan Xenos CLA 2005-01-31 04:11:07 EST
Created attachment 17580 [details]
Updated JFace patch. Integrated with TableViewer now.

Here's an updated patch. Background filtering is now in, and TableViewer has
been updated to work with the deferred content provider. One weekend well
wasted. :-)

Tod: I had make quite a few changes to TableViewer (I fixed some bugs and
refactored to use Veronika's technique of re-clearing tableitems that can't be
filled in rather than relying on the scroll listener)... This changes the
ILazyContentProvider protocol, so you'll want to check this out.

There's still some bugs I haven't squished yet. The LazySortedCollection is
occasionally returning its lazy removal flag as though it was part of the
collection, and TableViewer sometimes ends up with blank rows when scrolling in
a very large table with pageup/pagedown.
Comment 17 Stefan Xenos CLA 2005-01-31 04:17:28 EST
Created attachment 17581 [details]
Updates the marker views to use the DeferredContentProvider (NOT FINISHED -- FOR PERFORMANCE TESTING ONLY)

This updates the problems view to use DeferredContentProvider. Definitely not
for HEAD yet (some features are disabled and there's a compile error in one of
the Task view actions)... but it's working well enough to test the JFace patch.
Comment 18 Stefan Xenos CLA 2005-01-31 04:18:57 EST
Created attachment 17582 [details]
Updated test suites
Comment 19 Stefan Xenos CLA 2005-02-02 02:20:35 EST
DeferredContentProvider has been checked into HEAD.

Filed bug 84210 for the original problem with the search view.

Filed bug 84211 for the changes to the problems view.

Fixed in HEAD.
Comment 20 Stefan Xenos CLA 2005-02-16 17:41:54 EST
verified in I20050215-2300