Community
Participate
Working Groups
A fixed perspective is just that - fixed. Unchangeable, unmovable, immutable. It's intended to be used for RCP applications for less sophisticated users that might be confused if their views suddenly start closing or scurrying down to the bottom of the window. Therefore the minimize and maximize actions should not be invocable or visible anywhere, for example the view system menu and the view tab area. See related bug 64836 which appears to ask for the opposite of this.
Do you think this should apply to editors as well?
I actually think this is a better story for R3.0 than what I was suggesting in bug 64836. The fix is also straightforward: add the following as the first statement in supportState(int) in ViewStack and EditorStack: if (page.isFixedLayout()) return false;
Yes, as long as you just have one option on the perspective XML - fixed - then I think it should work for editors too. I guess you could put in more options like canCloseViews=true/false, canMoveEditors=true/false, but not in 3.0. Issue: Don't you *have* to let editors be closable though, even in a fixed perspective? That's kind of the whole point of editors - their open/save/close lifecycle.
Sorry, I wasn't clear about the semantics for editors. They would be closeable but not moveable (e.g. can't reorder in same editor workbook, and can't split editor area into multiple workbooks).
Michael, I think this is something we should consider for RC2. Ed's argument is reasonable. This change provides consistent behaviour, and hides some bugs (e.g. Maximize is currently enabled but has no effect in a fixed perspective).
I've released the changes as described above (verified by Stefan). Still need to check the semantics of editor move in a fixed perspective.
Since editors are not open when the perspective is created, they will not be marked as non-moveable or non-closeable. They will have the same behaviour as in a non-fixed perspective. Marking this one as fixed.
Verified against browser example using binaries from I20040609-0800.