2012-02-07 82 views
1

我使用Eclipse RCP的形式的右上角,如何設置一個圖像頂部窗體標題

我正在嘗試設置使用

form.setImage() 

的圖片只是它設置圖像的表單文本左側。如何將圖片放置在表單標題文本的右上角。

如下面所示的PIC(圖像是任何RCP應用程序的默認概述標籤) enter image description here

從上面的PIC據我所知,圖像/窗口小部件被放置在表格文本旁邊(道歉,如果我錯誤)。

作爲一種變通方法我試過把一個複合形式的頭,但我認爲,形式的頭自帶窗體標題級別後(如果我們考慮到窗體標題爲第一排,然後形成頭顯示爲第二行)

Composite composite = formToolkit.createComposite(form.getHead(), SWT.NONE); 
form.setHeadClient(composite); 
formToolkit.paintBordersFor(composite); 
composite.setLayout(new GridLayout(2, false)); 

以這種方式,我試圖將組件放置到組合中,但無論如何,我沒有得到所需的樣式,如圖所示。

如何將圖像的地方,窗體標題

回答

0

您不能設置圖像右上角的右上角。你所連接的圖像中看到的是一些IContributionItem的工具欄

要創建您必須覆蓋org.eclipse.ui.forms.editor.SharedHeaderFormEditor.createHeaderContents(IManagedForm)的東西,如下面的內容:

@Override 
protected void createHeaderContents(final IManagedForm headerForm) { 

    headerForm.getForm().setText("EditorTitle"); 
    headerForm.getForm().setImage(myLeftImage); 
    headerForm.getToolkit().decorateFormHeading(
      headerForm2.getForm().getForm()); 
    Action action = new Action("Do something") { 
     @Override 
     public ImageDescriptor getImageDescriptor() { 
      return imageDescriptorOfRightImage; 
     } 
    }; 
    headerForm.getForm().getToolBarManager().add(action); 
    headerForm.getForm().getToolBarManager().update(true); 

}