Community
Participate
Working Groups
Build ID: I20070323-1616 The lines below are from JavaDoc for StructuredViewer.update(). --------------- If the viewer has a filter which is affected by a change to one of the properties, the element may appear or disappear if the change affects whether or not the element is filtered out. --------------- If Viewer has filter it does not work as expected any more. Unfortunately once element disappears it could not appear any more. (see code below) findItems(...) can not find elements any more, because the have been filtered out. A Property (the filter is using to filter) changes but StructuredViewer does not respect this and not refilter or rebild items! ----------------------- public void update(Object element, String[] properties) { Assert.isNotNull(element); Widget[] items = findItems(element); for (int i = 0; i < items.length; i++) { internalUpdate(items[i], element, properties); } } -------------
Deferring since I could not find an easy fix that would not have the potential of breaking subclasses, or introducing a performance issue. A workaround would be to call refresh() instead.
(In reply to comment #1) I'm using follow workaround: ---------------------------------------- if (null != viewer.testFindItem(myElement)) { vewier.update(myElement, elementProperties); } else { vewier.refresh(); } ---------------------------------------- In most my cases elements are visible. So it should have better performance.
Mass update - removing 3.4 target. This was one of the bugs I marked for investigation (and potential fixing) in 3.4 but I ran out of time. Please ping on the bug if fixing it would be really important for 3.4, and does not require API changes or feature work.
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. If you have further information on the current state of the bug, please add it. 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.