2011-03-24 2 views
1

이클립스 RCP 애플리케이션에서는 사용자가 애플리케이션 윈도우의 크기를 변경할 때마다 동적으로 변경되는 텍스트 위젯을 툴바에 추가하고 싶습니다. ControlContribution을 만들고 plugin.xml의 메뉴 확장 점에 추가했습니다.이클립스 도구 모음에 크기를 조정할 수있는 텍스트 추가하기

ControlContribution은 텍스트를 보유하고있는 Composite로 구성됩니다. 복합체의 레이아웃은 격자 레이아웃으로 설정되고 텍스트의 레이아웃 데이터는 사용 가능한 초과 수평 공간을 사용하는 격자 데이터입니다.

그러나 텍스트는 항상 같은 크기로 유지됩니다. 또한 툴바에 리스너를 추가하여 툴바 크기를 조정할 때 컴포지트에 통보 여부를 확인했습니다. 리스너는 호출되지 않습니다. 텍스트의 크기를 조정하려면 어떻게해야합니까? ControlContribution의 createControl() 방법에서

코드 :

Composite composite = new Composite(parent, SWT.NONE); 
composite.setLayout(new GridLayout()); 

text = new Text(composite, SWT.SINGLE | SWT.BORDER); 
GridData gridDataText = new GridData(); 
gridDataText.grabExcessHorizontalSpace = true; 
gridDataText.horizontalAlignment = GridData.FILL; 
text.setLayoutData(gridDataText); 

답변

1

제어 기여는있는 CoolBar 안에 있습니다. 따라서 Coolbar가 더 많은 공간을 차지하지 않으면 기여도가 커질 수 없습니다. Coolbar를 그릴 필요가 있습니다 (컨트롤이 생성 될 때 부모 계층 구조를 따라 이동). 그리고 나서 그 크기를 변경하고 전체 레이아웃을 업데이트하십시오.

관련 문제