Bug 284521

Summary: [DataBinding] ControlDecorationSupport - provide access to the ControlDecoration
Product: [Eclipse Project] Platform Reporter: Will Horn <will.horn>
Component: UIAssignee: Platform UI Triaged <platform-ui-triaged>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P3    
Version: 3.5   
Target Milestone: ---   
Hardware: PC   
OS: Windows Vista   
Whiteboard:

Description Will Horn CLA 2009-07-23 19:31:25 EDT
Build ID: 3.5

Steps To Reproduce:
When using ControlDecorationSupport, the ControlDecoration is created 
internally and not directly accessible.  It is likely that a user will need to access the ControlDecoration.  For example, I need to set the ControlDecoration 
as data on the Control (for testing purposes).

Maybe an API such as:
  
   public ControlDecoration getDecorationFor(IObservable target);



More information:
The only place the ControlDecoration is accessible is via a custom ControlDecorationUpdater, but this workaround/hack is roundabout:

protected void update(ControlDecoration decoration, IStatus status) {
    // do what you need with decoration...
    decoration.getControl().setData("CONTROL_DECORATION", decoration);
    super.update(decoration, status);
}
Comment 1 Matthew Hall CLA 2009-07-24 09:26:55 EDT
How about a callback to the updater when a ControlDecoration is created for a particular observable?
Comment 2 Will Horn CLA 2009-07-24 12:56:40 EDT
(In reply to comment #1)
> How about a callback to the updater when a ControlDecoration is created for a
> particular observable?

That would work.

Comment 3 Paul Webster CLA 2010-06-09 08:17:25 EDT
Removed from 3.6.  Owners can re-assess.

PW
Comment 4 Eclipse Webmaster CLA 2019-09-06 16:07:56 EDT
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.