Summary: | [UI] EC: Can't contribute submenu items (1GI3XO6) | ||
---|---|---|---|
Product: | [Eclipse Project] Platform | Reporter: | Nick Edgar <n.a.edgar> |
Component: | UI | Assignee: | Unknown User <unknown> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 2.0 | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | Windows 2000 | ||
Whiteboard: |
Description
Nick Edgar
2001-10-10 22:41:23 EDT
This is fixed. Changes were made to SubContributionManager, SubMenuManager, and ActionSetMenuManager. To test I created the following action sets. The first is for this bug. The 2nd, third and fourth are for a problem reported by a customer (can't find pr), where you turn on A, B, and C, turn off A, turn on A and off B, then turn on B and off C. At this point B used to disappear also. <extension point = "org.eclipse.ui.actionSets"> <actionSet id="com.rational.test.ft.wswplugin.TestActionSet" visible="true" label="MyMenu"> <menu id = "MyMenuId" label = "&MyMenu"> <separator name = "Menu1Slot" /> </menu> <menu id="Menu1Id" label = "&Menu1" path ="MyMenuId/Menu1Slot"> <separator name="slot1" /> <separator name="slot2" /> <separator name="slot3" /> </menu> <action id = "SubMenu1Id" menubarPath = "MyMenuId/Menu1Id/slot1" label = "&SubMenu1" class = "com.rational.test.ft.wswplugin.x"> </action> <action id = "SubMenu2Id" menubarPath = "MyMenuId/Menu1Id/slot1" label = "&SubMenu2" class = "com.rational.test.ft.wswplugin.x"> </action> <action id = "SubMenu3Id" menubarPath = "MyMenuId/Menu1Id/slot1" label = "&SubMenu3" class = "com.rational.test.ft.wswplugin.x"> </action> </actionSet> </extension> <extension point = "org.eclipse.ui.actionSets"> <actionSet id="com.rational.test.ft.wswplugin.TestActionSetA" label="A"> <menu id = "Top" label = "&Top"> <separator name = "a" /> <separator name = "b" /> <separator name = "c" /> </menu> <action id = "SubMenu1Id" menubarPath = "Top/a" label = "a" class = "com.rational.test.ft.wswplugin.x"> </action> </actionSet> </extension> <extension point = "org.eclipse.ui.actionSets"> <actionSet id="com.rational.test.ft.wswplugin.TestActionSetB" label="B"> <menu id = "Top" label = "&Top"> <separator name = "a" /> <separator name = "b" /> <separator name = "c" /> </menu> <action id = "SubMenu1Id" menubarPath = "Top/b" label = "b" class = "com.rational.test.ft.wswplugin.x"> </action> </actionSet> </extension> <extension point = "org.eclipse.ui.actionSets"> <actionSet id="com.rational.test.ft.wswplugin.TestActionSetC" label="C"> <menu id = "Top" label = "&Top"> <separator name = "a" /> <separator name = "b" /> <separator name = "c" /> </menu> <action id = "SubMenu1Id" menubarPath = "Top/c" label = "c" class = "com.rational.test.ft.wswplugin.x"> </action> </actionSet> </extension> Note: I applied all of NEs changes except for one change in findUsingPath. In this code he will wrap any submenu which we drill into. I decided not to do this. There is no reason to wrap a menu unless the user adds a contribution to it. We assume this is only the case when findMenuUsingPath is called, and do the wrapping there. Thus, the SubMenuManager only wraps those subs which are modified. PRODUCT VERSION: 0.9 |