본문 바로가기

Eclipse RCP16

TreeViewer 목록이 없을 때 확장 가능한 트리 아이콘 제거 TreeViewer에서는 기본적으로 목록이 없는 경우에도 아래 그림처럼 확장 가능한 트리 아이콘 '>'을 보여준다. 처음 트리 뷰어를 실행 시켰을 때 목록이 없는 노드의 확장 가능한 트리 아이콘을 제거하려면, TreeViewer 노드를 자동으로 확장되도록 설정하면 된다. 아래 코드를 추가하면 확장 가능하다는 표시('>')는 자식 노드가 있는 노드에서만 나타난다. treeViewer.setExpandPreCheckFilters(true); 2019. 4. 30.
백그라운드 작업과 진행 상황 보고 기능을 제공하는 Jobs API Eclipse Framework Single UI Thread Eclipse RCP 또는 Plugin은 사용자 인터페이스를 하나의 스레드로 처리한다. 이 스레드를 메인 스레드, UI 스레드라고 부른다. 해당 스레드에서 오래 걸리는 작업(네트워크, 파일 처리, 데이터베이스)을 수행하면, 사용자 인터페이스와 관련된 다른 처리가 차단 되는 현상이 발생하므로 주의해야 한다. 이 현상은 사용자가 느끼기에는 답답하고 애플리케이션 멈춘것처럼 보이기 때문에 피해야 하는 안티패턴이다. 따라서 오래 걸리는 작업은 백그라운드 스레드로 실행해서 UI가 멈추지 않도록 해야 한다. Java 라이브러리에 있는 Thread, Timer를 이용해서 백그라운드 작업을 수행할 수 있지만, Eclipse Framework에서는 Jobs A.. 2019. 4. 30.
Eclipse 4 파트에 팝업 및 뷰 메뉴 생성 Eclipse 3.x에서의 뷰(View) 또는 에디터 파트(EditorPart)는 Eclipse 4에서 파트(Part)와 동일한 의미로 사용된다. 이전에 커맨드 나 핸들러를 정의 했던 것처럼, 팝업 및 뷰 메뉴 관련된 정의를 Application.e4xmi 파일에 선언한다. 팝업 및 뷰 메뉴는 특정 파트와 관련되어 있다. 팝업 및 뷰 메뉴를 추가 하고자 하는 파트를 선택하고, 오른쪽 클릭을 하면 아래 이미지처럼 표시된다. 그런 다음 어떤 메뉴를 선택할지 클릭한다. Eclipse 4 파트에 팝업 메뉴 추가 팝업 메뉴에 대해서 먼저 알아보자. 다른 메뉴도 비슷한 방법으로 추가하기 때문에 참고하면 된다. Popup Menu 아래에 Handled Menu Item을 추가한다. 그리고 ID, Label, Comm.. 2019. 4. 30.
Eclipse Framework 환경설정 페이지 생성 Eclipse Framework 환경설정 Eclipse Framework를 이용해서 RCP, Plugin 애플리케이션을 개발할 때, 환경설정 기능이 필요한 경우가 있다. Eclipse IDE를 사용하는 개발자는 자신이 원하는 폰트 크기, Java 버전 등을 설정해서 사용한다. 이처럼 환경설정은 애플리케이션에 필요한 기능입니다. 이러한 환경설정 값들은 int, boolean, String와 같이 단순한 형태의 값으로 이루어져 있으며, 보통 플러그인 식별자를 접두어로 하는 문자열을 키로 식별한다. 환경설정을 저장하고 로드하기 위해서는 AbstractUIPlugin를 구현한 클래스로부터 IPreferenceStore 인스턴스를 가져온다. 예제 플러그인에서는 Activator(AbstractUIPlugin의 하.. 2019. 4. 25.
Eclipse RCP 바인딩 사용해서 커맨드에 단축키 연결하기 커맨드에 단축키를 연결할 때 바인딩(binding)을 사용한다. 바인딩은 "org.eclipse.ui.bindings" 확장점을 통해 설정하고, 커맨드 식별자와 키 조합을 연결한다. plugin.xml에 다음과 같은 내용을 추가하면 커맨드에 단축키를 연결할 수 있다. M1은 OS X에서 Cmd, 윈도우 또는 리눅스에서는 Ctrl을 의미하는 기본 메타 키이다. 키를 M1+4로 설정했는데, 연속 표기법은 동시에 두 키를 눌러야 한다는 의미이다. commandId : 커맨드 식별자(Id) contextId : 컨텍스트는 바인딩이 유효한 위치를 지정 schemeId : 바인딩 목록을 정의한 구성표 sequence : 단축키 키 조합 2019. 4. 15.
SWT CTabFolder 클래스 setSimple 설정 SWT 또는 Eclipse RCP(Plugin) 애플리케이션에서 탭 폴더를 나타내기 위해서 CTabFolder Composite를 주로 사용한다. CTabFolder Composite을 생성한 후, setSimple(boolean) 메서드를 통해 Render 옵션을 설정할 수 있다. Eclipse Doc 문서에 setSimple(boolean) 메서드가 어떤 역할을 하는지 설명되어 있다. setSimple(boolean) 메서드에 true 또는 false 옵션 값을 설정함에 따라 CTabFolder UI가 달라진다. @Override public void createPartControl(Composite parent) { parent.setLayout(new GridLayout()); final Labe.. 2019. 4. 15.