Community
Participate
Working Groups
The MOpaque* classes just differentiate ICIs that should be treated as Opaque by our JFace-based renderers. This can be better handled by a class. PW
See http://wiki.eclipse.org/Eclipse4/API/UIModel PW
We need to mark it as "@noreference not for use" for Kepler. PW
Proposed fix pushed to Gerrit: https://git.eclipse.org/r/11058 Changes only effect Javadoc on EMF-generated interfaces. Note that fix also marks MRendered* as @noreference
(In reply to comment #3) > Proposed fix pushed to Gerrit: > > https://git.eclipse.org/r/11058 I've reviewed it and it looks good. Eric, if you review it, give it a +1, and then use the Publish and Submit button it should push it to the repo PW
Java doc updates have been verified in build 4.3.0.I20130312-2000.
Verified in build 4.3.0.I20130312-2000.
Re-purposing the defect to handle the actual code changes needed to be able to *remove* these classes from the model...
Gerrit link for the initial work https://git.eclipse.org/r/20674 This operates on the following 'rules': MOpaqueMenu / MRenderedMenu -> MMenu + "Opaque" / "Rendered" tag MOpaqueToolBar / MRenderedToolBar -> MToolBar + "Opaque" / "Rendered" tag MOpaqueMenuItem / MRenderedMenuItem -> MDirectMenuItem + "Opaque" / "Rendered" tag For 'Opaque' elements the 'OpaqueItem' field has been replaced by a 'transientData' entry with the key "OpaqueItem". For 'Remdered' elements the 'ContributionManager' field has been replaced by a 'transientData' entry with the key "ContributionManager". This mostly seems to work except: There are multiple 'File' menus in the main menu There are *many* blank toolItems
*** Bug 427240 has been marked as a duplicate of this bug. ***
Any chance we get this in Luna? Would be nice to have a simpler model to work with.
(In reply to Lars Vogel from comment #10) > Any chance we get this in Luna? Would be nice to have a simpler model to > work with. Lars: Putting the finishing touches on it today. I'll need it well reviewed, but the plan is for it to be part of M6.
Completed patch: https://git.eclipse.org/r/20674 This includes: * all Eric's changes * fix to issue noted in comment 8 * automatic migration of old models on load * removal of MOpaque* and MRendered* classes from meta-model and generated code. In testing, migration of models is a significant concern. Before launching a workbench to be migrated, make a backup copy of <workspace-loc>/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi If there are any problems migrating, please attach this backup copy to this defect.
(In reply to comment #12) > Completed patch: > > https://git.eclipse.org/r/20674 > Pushed another revision: 1) actually deleted MOpaque* and MRendered* interfaces 2) got rid of broad use of magic strings "Opaque", "Rendered", "OpaqueItem" and "ContributionItem". Created OpaqueElementUtil and RenderedElementUtil utility classes that encapsulated the representation of Opaque and Rendered model elements, instead.
(In reply to Paul Elder from comment #13) > (In reply to comment #12) > > Completed patch: > > > > https://git.eclipse.org/r/20674 > > > Published to master as: https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=f65e473bac989fc1d559242fbda5d4bff6a9d3e7 A second commit will follow shortly to fix up two minor issues mentioned on Paul Webster's review: 1) Opaque items it's always an IContributionItem, so the OpaqueElementUtils get and set methods could be better typed. 2) there were 2 or 3 locations where we associated the element with the ICI in the renderer but we don't set the opaque or rendered item.
Looks like this causes workbench corruption. See bug 429225 for details.
e4 tools need to be adjusted, see Bug 429299
(In reply to Paul Elder from comment #14) > > 1) Opaque items it's always an IContributionItem, so the OpaqueElementUtils > get and set methods could be better typed. I thought this was a good idea, but OpaqueElementUtils is in org.eclipse.e4.ui.workbench which can't see UI bundles like JFace, so we probably won't do this one. > > 2) there were 2 or 3 locations where we associated the element with the ICI > in the renderer but we don't set the opaque or rendered item. Released as http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=9bb429fb6cddc9fe212cb78028f47f1189f03a17 PW
In 4.4.0.I20140305-2000 PW
This causes bug 430593.