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

Bug 132039

Summary: [Field Assist] - secondary popup should update on same delay as its invocation delay
Product: [Eclipse Project] Platform Reporter: Susan McCourt <susan>
Component: UIAssignee: Susan McCourt <susan>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert, markus.kell.r
Version: 3.2   
Target Milestone: 3.2 M6   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on:    
Bug Blocks: 120237    

Description Susan McCourt CLA 2006-03-15 17:02:32 EST
This bug is opened from Dani's comments in bug #120237.

>2. no auto-delay for showing additional info. It should at least use a 
>   post-selection changed listener and not constantly update the additional
>   info hover while pressing e.g. the down arrow key.

There is a delay on invoking the secondary popup, but there is no delay on updating this popup as selections occur.  Should either honor the invocation delay or use a different listener as Dani suggests.
Comment 1 Susan McCourt CLA 2006-03-15 17:03:27 EST
investigate for 3.2.  Not a stopper according to Dani.
Comment 2 Susan McCourt CLA 2006-03-16 18:48:32 EST
I'm not convinced that this is a problem.  Are there bug reports you can point to where users complained about the secondary info updating too quickly?  I assume you went to the effort of implementing the secondary controller due to user feedback...

I would just like to understand better why this is a problem, as it seems simplest to just update when the selection changes.
Comment 3 Dani Megert CLA 2006-03-17 03:50:05 EST
>Are there bug reports you can point
>to where users complained about the secondary info updating too quickly?
Well not for the Find/Replace but look for example at the code assist (or an upcoming field assist) where Javadoc is shown in the hover. Sometimes this is extracted from a Web URL (yes it is). This would make up/down navigation in the field assistant very hard. In my opinion it is also bad UI style to update that window while moving up/down. Look for example at the Java Outline view: we don't immediately select the selected method in the Java editor when moving up/down but wait a little. Otherwise the UI would be sloppy.

If you still need bug numbers I can dig out some regarding our standard code assist.
Comment 4 Markus Keller CLA 2006-03-17 05:25:53 EST
This is definitely necessary if field assist is to be used in situation where the additional info is nontrivial to compute (e.g. content assist for Java types).

Furthermore, the immediate updating is quite distracting. The user cannot possibly read anything in the secondary popup while scrolling through the proposals. Therefore, the flashing in that area is of no use - the only interesting change is the selection in the list, so screenredraws should be limited to that area.
Comment 5 Susan McCourt CLA 2006-03-17 12:35:19 EST
I experienced the javadoc URL retrieval problem first hand, so I can relate to the performance issue.  For some reason, in my mind a field-based assistant is more "lightweight" than full blown code assist, but I'm coming to realize that this is not the case.  

I have a simple implementation that updates the secondary popup using the same delay as the invocation of the popup.  This gives a nice delay, but a difference is that occasional updates can still occur while arrowing down, so it may still be too distracting according to your comments.  What do you think?
Comment 6 Susan McCourt CLA 2006-03-17 13:14:20 EST
Released the simple delay >20060317.  
Since this was not a stopper, I'm hoping it's good enough for now, but will not close this bug until getting your feedback.  I'm not trying to be difficult, just trying not to blindly copy implementations without understanding the reasons behind them, since I will have to maintain it.
Comment 7 Dani Megert CLA 2006-03-17 13:28:09 EST
I think this will work. An easier solution for you might be to simply use a
post-selection-listener instead of manually managing the delay.

Note that our implementation has bug 129168.
Comment 8 Susan McCourt CLA 2006-03-17 14:02:58 EST
The current implementation is using a raw SWT table, not a viewer, so post selection is not an option.  If there comes a time to use a viewer for other reasons, I can look at getting rid of the delay code.

Marking this one fixed.

(side note:  this implementation also computes the description in the UI thread and similarly does not spec when it may be called...)
Comment 9 Susan McCourt CLA 2006-04-05 20:54:00 EDT
correcting milestone.
this bug was fixed and verified for M6