2
我添加了一個控制如下在Eclipse中,如何查找通過id添加到工具欄的控件?
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar id="my.toolbar">
<control
class="myplugin.debugger.toolbaritem.DebugDayMenu"
id="my.yearmenu">
</control>
我還創建了一個類DebugDayMenu
public class DebugDayMenu extends WorkbenchWindowControlContribution{...
我現在想要訪問在另一個地方這種控制,但日食當我嘗試這樣做使用此下面的代碼,它會導致類轉換異常
IContributionItem toolbar = coolBarManager.find("my.toolbar");
IToolBarManager toolbarManager=((ToolBarContributionItem2)toolbar).getToolBarManager();
WorkbenchWindowControlContribution dayMenu= (WorkbenchWindowControlContribution) toolbarManager.find("my.yearmenu");
dayMenu是的instanceof DynamicToolBarContributionItem和NOT WorkbenchWindowContro l貢獻?此外,該控件嵌入在DynamicToolBarContributionItem的私有字段中,沒有公共存取方法
有沒有更好的方法來做到這一點,或者我誤解了某些東西?