2008-10-01 80 views
1

在Eclipse中,使用ActionSets擴展點可輕鬆指定工具欄的按鈕。但是,當我需要以編程方式指定某些項目時,我無法獲得相同的外觀。我不相信這個框架使用了原生按鈕,但是到目前爲止,我找不到與Eclipse外觀相匹配的正確配方。我想看看是否有人發現了正確的代碼片段來複制代碼中的這個功能。使用Eclipse Look的Eclipse RCP工具欄按鈕

+0

你用什麼代碼來以編程方式添加按鈕? – 2008-10-07 21:58:29

回答

5

這是很難從你的問題告訴,但它聽起來像你可能會嘗試將ControlContribution添加到工具欄和返回鍵。這會使工具欄上的按鈕看起來像您似乎正在描述的原生按鈕。這看起來像這樣:

IToolBarManager toolBarManager = actionBars.getToolBarManager(); 
toolBarManager.add(new ControlContribution("Toggle Chart") { 
    @Override 
    protected Control createControl(Composite parent) 
    { 
     Button button = new Button(parent, SWT.PUSH); 
     button.addSelectionListener(new SelectionAdapter() { 
     @Override 
     public void widgetSelected(SelectionEvent e) { 
       // Perform action 
      } 
     }); 
    } 
}); 

相反,你應該添加一個動作到工具欄。這將在工具欄上創建一個與標準eclipse工具欄按鈕匹配的按鈕。這看起來像這樣:

Action myAction = new Action("", imageDesc) { 
    @Override 
    public void run() { 
     // Perform action 
    } 
}; 

IToolBarManager toolBarManager = actionBars.getToolBarManager(); 
toolBarManager.add(myAction); 
2

你能也許放在你的代碼的提取物加入編程操作的工具欄?我假設你在一個ApplicationActionBarAdvisor類中這樣做?它們在聲明性添加的按鈕和編程添加的按鈕的外觀上應該沒有區別。