2012-02-07 73 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); 

}