2017-09-14 16 views
1

私のe4 rcpアプリケーション用のステータスバーを作成しますが、ステータスバーは小さくなります。私Appliication.e4xmiでRCP E4ステータスバーが小さいです

が構成以下の通りです:

トリムウィンドウ - > TrimBars - >ウィンドウトリム(下) - >ツールバー - >ツールコントロール(私のステータスバークラスへのリンク)

リンクステータスバークラス:

public class StatusBar { 

private Label label; 

@Inject 
private IEventBroker eventBroker; 
public static final String STATUSBAR = "statusbar"; 

@Inject 
@Optional 
public void getEvent(@UIEventTopic(STATUSBAR) String message) { 
    updateInterface(message); 
} 

@PostConstruct 
public void createControls(Composite parent) { 
    label = new Label(parent, SWT.LEFT); 
    label.setBackground(parent.getBackground()); 
} 

public void updateInterface(String message) { 
    try { 
     Display.getDefault().asyncExec(new Runnable() { 
      @Override 
      public void run() { 
       try { 
        label.setText(message); 
       } catch (Exception e) { 
        logger.error(e.fillInStackTrace()); 
       } 
      } 
     }); 
    } catch (Exception exception) { 
     logger.error(exception.fillInStackTrace()); 
    } 
} 

View of the Statusbar

+0

どのように小さすぎますか?十分深くない?あまりにも長いですか? –

+0

ステータスバーの高さは小さくなります。 – Darksmilie

答えて

0

あなたはToolControlためToolbarは必要ありません。 ToolControlをトリムバーの直下の子として配置します。

@PostConstruct 
public void createGui(final Composite parent) 
{ 
    Composite body = new Composite(parent, SWT.NONE); 

    body.setLayout(new GridLayout()); 

    Label label = new Label(body, SWT.LEFT); 

    label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); 

    .... 
} 

あなたはまた、制御用のすべての可能な水平スペースにするe4xmiにToolControlのdefinitonでstretchのタグ値を指定することもできます。

それが適切にレイアウトを取得するために複合にラベルを入れてトリムバーに

+0

これはうまくいかず、私はBodyDataにLayoutDataを定義すると、ステータスバーの高さは正しく設定されていますが、classcastexecptionが得られます。 java.lang.ClassCastException:org.eclipse.swt.layout.GridDataをorgにキャストできません.eclipse.swt.layout.FillData – Darksmilie

+0

私はあなたがツールバーにToolControlを置いていることを忘れていました。あなたはそれをする必要はありません。ツールバーを必要とせずに、ツールバーをトリムバーの子として配置します。 –

+0

それは、ありがとう、働く。 – Darksmilie

関連する問題