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

Bug 175507

Summary: [Decorators] Open Resource dialog should support decorators
Product: [Eclipse Project] Platform Reporter: Markus Keller <markus.kell.r>
Component: UIAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: enhancement    
Priority: P3 CC: bokowski, daniel_megert, mik.kersten, steffen.pingel, wmitsuda
Version: 3.3   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Proposition of changes inside patch
none
Fix patch refreshed to head
none
Patch from K.
none
Proposition of changes none

Description Markus Keller CLA 2007-02-26 06:45:08 EST
HEAD

The Open Resource dialog flashes CVS decorators. E.g. slowly type "plugin". After each keystroke, CVS decorations disappear and then come back after a blink.

I could understand that the decorations only appear delayed for elements that are freshly rendered, but existing elements should not flash.
Comment 1 Krzysztof Michalski CLA 2007-02-27 10:08:17 EST
Created attachment 59877 [details]
Proposition of changes inside patch
Comment 2 Tod Creasey CLA 2007-03-29 14:30:59 EDT
Krzysztof this patch is out of date
Comment 3 Krzysztof Michalski CLA 2007-03-30 08:03:50 EDT
Created attachment 62480 [details]
Fix patch refreshed to head
Comment 4 Tod Creasey CLA 2007-03-30 10:47:04 EDT
In this patch it looks like you are only updating visible entries? What happens if someone scrolls? Will they get old data?

You likely want a simpler solution like only calling refresh on those items that you have added.
Comment 5 Tod Creasey CLA 2007-04-05 16:30:33 EDT
Created attachment 63110 [details]
Patch from K.
Comment 6 Tod Creasey CLA 2007-04-05 16:32:13 EDT
I am wondering why you need to look these items up using doTestItem?

When you refresh the list you will know the existing items before you refresh.

When you call your refresh in you will have the old list and the new list. You could just iterate through the two and check.

Having said that this really shouldn't be flashing the decorators if the content hasn't changed - have you checked if the viewer is forcing a redraw when it doesn't need to?

Comment 7 Krzysztof Michalski CLA 2007-04-18 09:56:55 EDT
Created attachment 64188 [details]
Proposition of changes

I remove using of doTestItem from muy solution. I store next to last result of filtering and compare it with last result. Depend on it i remove, add or replace emelents in TableViever.
Comment 8 Tod Creasey CLA 2007-04-18 15:56:03 EDT
Kryzstof I am still not clear why we need to do anything special - you should get these updates without flashing from the viewers with no extra work.

If the viewers are refreshing entries that they do not need to then there is a bug with them. You should not cache your old values.
Comment 9 Tod Creasey CLA 2007-04-20 15:48:33 EDT
This issue is harder than it looks at first. We should try and do something about it but we can`t promise it right away.
Comment 10 Mik Kersten CLA 2008-02-20 18:08:16 EST
As follow up from bug 130340 (thanks for the pointer Markus) I'd like to better understand this problem, because we have seen it in a few places (e.g. Mylyn's Task List still has it).  My expectation is along these lines:
1) Element A has decoration x.  The data for A has changed so that it no longer needs this decoration.
2) A gets refreshed.  The decoration is still there after that refresh.
3) Once the decorator job has had a chance to run, the x disappears.

Unless we are making some other mistake, which is entirely possible, it appears to me that image decorations do not stick as per (2), and instead are always removed as a result of the refresh, and then put back with (3).  So with a viewer that has a lot of decorations and requires periodic full refresh, this or a related problem is causing decoration blinking.  
Comment 11 Tod Creasey CLA 2008-02-21 07:43:29 EST
Mik you are looking at something different. The flashing is usually caused by a refresh that clears a decorator and a second refresh that restores it. Are you changing any state in that time? We don't update until decoration is finished.

The other issue is if there are any full decorators. As we can't batch then up like the lightweight decorators some flash can occur.

Comment 12 Markus Keller CLA 2008-04-21 06:21:07 EDT
*** Bug 226982 has been marked as a duplicate of this bug. ***
Comment 13 Markus Keller CLA 2008-05-09 05:18:04 EDT
The fix for bug 227982 has removed the decorations and the flashing. This bug can either be closed or transformed into a request (>3.4) to support decorators again (without flashing).
Comment 14 Boris Bokowski CLA 2008-05-09 08:30:11 EDT
I suggest we close this as wontfix. The Open Type dialog doesn't show decorators either.
Comment 15 Boris Bokowski CLA 2008-05-12 14:53:30 EDT
Haven't heard any arguments to keep decorators in the dialog. Closing as wontfix.