2017-09-14 10 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

이것은 작동하지 않고 본문에 LayoutData를 정의하면 상태 표시 줄의 높이가 정확하지만 클래스 캐스트를 얻을 수 있습니다. java.lang.ClassCastException : org.eclipse.swt.layout.GridData를 org로 형변환 할 수 없습니다. .eclipse.swt.layout.FillData – Darksmilie

+0

툴바에 ToolControl을 넣는 것을 놓쳤습니다. 그렇게하지 않아도됩니다. 트림 막대의 자식으로 ToolControl을 넣으십시오. 툴바는 필요하지 않습니다. –

+0

그건 고마워요. – Darksmilie