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

Bug 91775

Summary: Semantics of openView(VIEW_VISIBLE) changed between 3.0 and 3.1
Product: [Eclipse Project] Platform Reporter: Stefan Xenos <sxenos>
Component: UIAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: eclipse, n.a.edgar
Version: 3.1Keywords: api
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Stefan Xenos CLA 2005-04-18 14:59:16 EDT
Between version 1.32 and 1.33 of IWorkbenchPage.java, the javadoc for the
VIEW_VISIBLE constant changed. The new JavaDoc specifies behavior that is
incompatible with the old behavior.


Old JavaDoc:

Show view mode that indicates the view should be made visible.


New JavaDoc:

Show view mode that indicates the view should be made visible.  If the
view is opened in the container that contains the active view then this 
has the same effect as <code>VIEW_CREATE</code>.


Someone calling the method in 3.0 would have expected the view to always be
visible after the call to VIEW_CREATE (ie: if it is in the active stack, it
would be expected to have the same behavior as VIEW_ACTIVATE rather than
VIEW_CREATE), but this cannot be relied on in 3.1.


Although the javadoc correctly describes the 3.1 behavior of the method, I
suspect the 3.0 version may have been correct since it is consistent with
bringToTop(...) and openEditor(..., false), which always make the new part
visible and update activation if necessary.
Comment 1 Stefan Xenos CLA 2005-04-18 15:04:04 EDT
Go ahead and close this if these differences really are intentional.
Comment 2 Kim Horne CLA 2005-04-26 08:21:17 EDT
I'm pretty sure that the described behaviour was also valid in 3.0... the doc
change was made to reflect this discovery.  This behaviour was my intention, at
any rate.  The main usecase of this API was the debug scenario.  The debug guys
were causing views to come and go but they wanted to ensure that the current
focus view was never disturbed.