Summary: | [Contributions] Need dispose() for action delegates | ||
---|---|---|---|
Product: | [Eclipse Project] Platform | Reporter: | Nick Edgar <n.a.edgar> |
Component: | UI | Assignee: | Simon Arsenault <simon_arsenault> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | Darin_Swanson, hudsonr, lavinm |
Version: | 2.0 | Keywords: | api, investigate |
Target Milestone: | 2.1 M4 | ||
Hardware: | Other | ||
OS: | other | ||
Whiteboard: | |||
Bug Depends on: | |||
Bug Blocks: | 7012, 7122 |
Description
Nick Edgar
2002-01-03 10:25:31 EST
The debug team was wondering what is the milestone for this bug? How critical is this for you? Is it actually preventing you from doing something, or just not elegant? I am currently coding the workaround. For example:IViewActionDelegates have to register as IPartListeners and then dispose themselves when their view closes. So we do have a workaround but it is definately less than elegant and would just disappear with the dipose method added. I agree this is suboptimal. Will investigate for M4. Is this going to make it for 2.0? Will do for early M6. There are several issues in doing this: - Contribution managers don't have dispose (should add this too). - Can't just add dispose() to IActionDelegate since that would be a breaking API change. Could add IActionDelegateWithDispose, similar to IActionDelegateWithEvent. This gets pretty unwieldy though. Could add IActionDelegate2 (for lack of a better name) which extends IActionDelegate with run(IAction, Event) and dispose(). Would you be willing to change your existing IActionDelegateWithEvent implementations? For the code this would remove from our action delegates, I would be happy to update as necessary. *** Bug 13833 has been marked as a duplicate of this bug. *** *** Bug 14253 has been marked as a duplicate of this bug. *** Was not able to do this for 2.0. Added IActionDelegate2 which provides the lifecycle methods for action delegates. It also replaces IActionDelegateWithEvent interface which now is marked as deprecated. Will be in 20021203 integration build. |