2011-09-15 8 views
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> 

以下のように私はEclipseにコントロールを追加した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がDynamicToolBarContributionItemのinstanceofれず、クラスキャスト例外が発生WorkbenchWindowContro lContribution?さらに、コントロールはパブリックアクセサメソッドを持たないDynamicToolBarContributionItemのプライベートフィールドに埋め込まれています

私は何かを誤解していますか?

答えて

0

通常は、createControl()の方法で、必要な情報にアクセスするか、何らかのリスナーとして自分自身を追加して解決します。

関連する問題