본문 바로가기

전체 글152

Eclipse 4 Command와 단축키 설정 및 메타문자 종류 Eclipse 4에서는 대부분의 작업을 Application.e4xmi에 정의한다. Eclipse 3.x 버전에서 plugin.xml 파일에서 했던 역할과 동일하다. 그렇기 때문에 단축키 정의는 Application.e4xmi에 작성한다. Eclipse 4 단축키 생성 Application.e4xmi에서 BindingTables -> BindingTable 으로 이동하면, 이미 정의된 KeyBinding이 있는 것을 확인할 수 있다. 만약 정의한 것이 없다면 새로 추가하면 된다. 아래 이미지에서 BindingTable는 in Dialog and Windows 컨택스트에서만 단축키가 활성화 될 수 있다. 컨택스트는 단축키가 활성화될 수 있는 영역(범위)를 설정하는 것인데, in Dialogs 또는 in W.. 2019. 4. 7.
Eclipse Framework Eclipse 4 테마 변경 기능 Eclipse 4에서 테마(본질적으로 CSS 파일)을 변경하기 위해서 테마 관리(theme manager) 기능을 제공한다. 종속 관계에 org.eclipse.e4.ui.css.swt를 추가하고, 확장점에 org.eclipse.e4.ui.css.theme을 추가하면 E4 기반의 애플리케이션에 테마 관리자를 포함 시킬 수 있다. 테마를 변경하는 방법은 org.eclipse.e4.ui.css.swt.theme.IThemeEngin을 주입 받는 핸들러를 생성해서 engine.setTheme(id, persist) 메서드를 호출하면 된다. 메서드의 파라미터로 id는 확장점에서 정의한 테마를 나타내며, boolean 타입의 persiste는 변경한 테마 정보를 저장해서 다음에도 기본 테마로 사용할 지 여부를 나타.. 2019. 4. 7.
SWT Tree Widget Tree Widget 트리 위젯은 계층적인 정보를 출력할 때 많이 사용한다. 트리는 부모와 자식 항목으로 구성되며, 자식 항목은 자신의 하위 항목을 가질 수 있다. 그리고 사용자는 항목을 보이게 하거나 숨길 수 있다. Tree Widget 예제 public class TreeExample { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Tree Example"); shell.setBounds(100, 100, 350, 600); shell.setLayout(new FillLayout(SWT.VERTICAL)); /** * Tree .. 2019. 4. 7.
SWT Table Widget Table Widget 테이블 위젯은 엑셀에서 볼 수 있는 형태와 유사하다. 각 항목을 여러 셀로 구성된 행 하나에 출력하고, 여러 열을 세로로 나열한다. 테이블의 열은 TableColumn으로 정의하며 옵션에 따라 헤더, 폭, 정렬방식을 정의할 수 있다. Table Widget 예제 public class TableExample { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Table Example"); shell.setBounds(100, 100, 350, 200); shell.setLayout(new FillLayout(SW.. 2019. 4. 7.
SWT Button Widget Button 버튼은 클릭했을 때 액션을 수행하는 매커니즘을 제공한다. 버튼을 누르거나 뗄 때는 선택 이벤트가 생성되고, 버튼 내부에 문자열 또는 이미지를 출력할 수 있다. 그리고 스타일 비트 값에 따라 푸시, 체크박스, 라디오, 토글, 화살표 등의 UI 요소를 다양하게 표현할 수 있다. Button Style SWT.ARROW : 화살표 버튼 SWT.CHECK : 체크박스 버튼 SWT.PUSH : 푸시 버튼 SWT.RADIO : 라디오 버튼 SWT.TOGGLE 토글 버튼 Button 예제 public class ButtonExample { public static void main(String[] args) { Display display = new Display(); Shell shell = new S.. 2019. 4. 7.
Active Page에서 View 가져오기 IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); IViewPart view = page.findView(View.ID); 2019. 4. 7.
Eclipse RCP 윈도우 크기와 위치 저장 애플리케이션의 윈도우 크기와 위치를 사용자가 변경하여도 재실행 하게 되면 윈도우의 크기와 위치가 원래대로 돌아간다. 윈도우의 상태를 저장하고 복구하는 작업은 기본적으로 비활성화되어 있기 때문에 이를 활성화 시켜줘야 한다. ApplicationWorkbenchAdvisor 클래스에서 initialize() 메소드를 오버라이드한다. 이클립스는 아래에 있는 initialize() 메소드를 호출해서 WorkbenchAdvisor의 생명주기를 시작한다. 윈도우 상태를 저장하고 복구하는 기능을 활성화하기 위해 가장 먼저 수행될 일을 이 메소드에 작성해야 한다. @Override public void initialize(IWorkbenchConfigurer configurer) { configurer.setSaveA.. 2019. 4. 7.
SWT Text Widget Text Widget 텍스트(Text) 위젯은 텍스트 열람이나 편집 기능을 제공한다. 사용자가 위젯에서 표현할 수 있는 것보다 더 많은 텍스트를 입력하면 자동으로 스크롤이 활성화된다. 숫자(0~9)만 입력할 수 있는 Text Widget public class TextWidgetSample { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Text Widget"); shell.setBounds(100, 100, 300, 200); shell.setLayout(new FillLayout()); final Text text = new T.. 2019. 4. 7.
SWT Display 클래스 Display SWT 애플리케이션은 하나의 Display와 하나 이상의 Shell로 구성되어 있다. Display는 기반 플랫폼, UI 스레드, SWT 간의 연결을 표현한다. Display 생성자가 public이지만, 일반적인 상황에서는 절대 새로운 Display 인스턴스를 생성하면 안된다. Display 클래스에서 정의하는 두 개의 static 메소드는 동일한 인스턴스를 반환한다. getCurrent() : 현재 실행 중인 스레드와 연관된 Display를 반환한다. getDefault : 기본 Display를 반환한다. SWTException 위젯을 생성하거나 현재 화면에 나타난 위젯을 수정하는 SWT 메소드를 호출하는 경우에는 반드시 UI 스레드에서만 실행해야 한다. 그렇지 않을 경우에는 SWTExc.. 2019. 4. 7.