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

Bug 331463

Summary: [memory] Show rendering pane when rendering added
Product: [Eclipse Project] Platform Reporter: Sean Kennedy <seanpk>
Component: DebugAssignee: Platform-Debug-Inbox <platform-debug-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: chanskw, pawel.1.piech, st.laurent
Version: 3.6.1   
Target Milestone: 3.8 M5   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
new API to force the pane to which a rendering has been added to be displayed
none
fix for 3.7; provides IMemoryRenderingContainer2
none
Extends IMemoryRenderingSite instead pawel.1.piech: iplog+

Description Sean Kennedy CLA 2010-11-30 14:12:04 EST
Build Identifier: M20100909-0800

We have some actions that cause two renderings to be created, one in each pane.
When these actions are run, we want to force both panes to be shown, even if the user has toggled the split pane view off.  i.e. we want to force split pane view when the user does an action that causes a rendering to be put in each pane.

Reproducible: Always

Steps to Reproduce:
1. hide the second memory view pane (toggle split pane off)
2. do an action that causes the rendering to be put into the second pane
3. the memory is monitored, but the rendering in the second pane is not visible
4. show the second pane, the rendering is there
Comment 1 Sean Kennedy CLA 2010-11-30 14:18:30 EST
Created attachment 184173 [details]
new API to force the pane to which a rendering has been added to be displayed

I've created a patch to solve this problem based on R_3_6_1_maintenance.

It adds a new method:
org.eclipse.debug.ui.memory.IMemoryRenderingContainer.addMemoryRendering(IMemoryRendering, boolean)
Comment 2 Pawel Piech CLA 2010-11-30 18:04:24 EST
The change to IMemoryRenderingContainer is not backward compatible.  Would it be possible to contribute your actions as a generic feature (in a major release)?
Comment 3 Samantha Chan CLA 2010-12-01 00:09:47 EST
I took a brief look, I think we need to make IMemoryRenderingContainer2 to make a compatible API.  This interface can be implemented by client, and the addition of the method will break existing clients.  (e.g. memory browsing view?)

I also think we can only do this in Eclipse 3.7, provided we make IMemoryRenderingContainer2.
Comment 4 Sean Kennedy CLA 2010-12-02 10:55:56 EST
Created attachment 184362 [details]
fix for 3.7; provides IMemoryRenderingContainer2
Comment 5 Sean Kennedy CLA 2011-03-25 16:19:03 EDT
Created attachment 191940 [details]
Extends IMemoryRenderingSite instead

Samantha suggested that I extend IMemoryRenderingSite instead.

This will require the user to make a second call to display the pane.
Comment 6 Samantha Chan CLA 2011-04-06 13:11:16 EDT
Sorry, I reviewed this too late.
We have way passed API deadline.  I am going to target this for 3.8.
Comment 7 Pawel Piech CLA 2012-01-18 18:36:27 EST
I added the requested API as requested.  Please let us know if it works out for you.

http://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=835bb4b9dd92f1317eea08ce38fcfaed0a73bb31