Community
Participate
Working Groups
Version: 3.1.0 Build id: I20050506-1600 I am playing around with the new deferred content provider support in JFace and as surprised to my concurrent model asked to get all values twice in quick succession. This could be the correct behaviour, but it did seem a bit excessive to me. I couldn't find an example implementation of a concurrent model in the workspace, so my implementation may be incorrect. DeferredContentProvider#inputChanged is calling refresh once in setLimit and once in setFilter
You're right, this shouldn't happen.
FYI, you shouldn't be calling setInput very often. Unless you really are attaching the viewer to a different model, you should set the input once and then change the contents of the input to match changes in the model.
Thanks for the info. Currently i am only calling setInput when i know all of the data will change. Should i be calling setContents and rescheduling the update job? Since i don't really have a model anyway, it sort of sounds like i shouldn't be using the deferred provider. I could easily get away with using a regular Viewer and adding items with an asyncExec.
If you want to sort or filter a large table, DCP is perfect. setContents is better than setInput. If you want some equivalent to setInput, you might try using a SetModel and calling its set() method.
Hitesh is now responsible for watching bugs in the [Viewers] component area.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug. If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.