2009-09-15 7 views
1

내 FormPage에서 MasterDetailsBlock을 사용하고 있습니다. 마스터의 화면 너비와 양식의 세부 정보 부분을 조정하고 싶습니다. 나는 주변을 둘러 보았고 그것을 할 길을 찾지 못했다. 설명서는 SashForm을 통해 수행 할 수 있다고 제안하는 것 같지만 어떻게 보이지 않습니다.Eclipse RCP에서 마스터 세부 화면 비율의 너비를 조정하는 방법은 무엇입니까?

FormAttachment 스타일과 같은 백분율 비율을 사용할 수는 있지만 훌륭하지는 않을 것입니다. 마스터와 디테일을 특정 픽셀로 고정하는 것도 좋습니다.

답변

1

SashForm.setWeights (int [])를 사용하여 MasterDetailsBlock의 마스터 및 디테일의 중요도를 수정하면됩니다.

가중치는 SashForm 파트의 크기 비율을 나타냅니다. {1, 2}는 마스터와 같이 두 배의 디테일을 만듭니다. 당신의 MasterDetailBlock 클래스에서

+0

내가 어떤 시점 호출해야합니다 추가 하시겠습니까? 나는 전에 그것을 시도하고 약간의 오류가있어, 나는 어느 것을 잊었다; 배열의 크기가 자식의 수와 일치하지 않기 때문에 IndexOutOfBound 또는 IllegalArgument. –

+1

SashForm에서 자식 수와 일치하도록 모든 master 및 details 부분이 이미 만들어 졌는지 확인하기 위해 super.createContent()를 호출 한 후 MasterDetailsBlock.createContent()에서 sashForm.setWeight()를 호출해야합니다. –

0

registerPage() 메소드를 오버라이드 (override), 전화 다음, 당신의 모든 세부 정보 페이지를 설정 sashform.setweights(int [])

예 :

protected void registerPages(DetailsPart part) { 

    part.registerPage(MemoryBudgetImpl.class, new MemoryBudgetDetailPage()); 
    sashForm.setWeights(new int[]{1,3}); 

} 
관련 문제