전체 글
rcp 구조 및 기초
WorkbenchAdvisor( 대상 선정)WorkbenchAdvisor는 애플리케이션 생명 주기의 각 단계전에 작업을 처리한다.어떻게 그리고 누구를 그릴지 설정한다. Public class ExampleAdvisor extends WorkbenchAdvisor{Public String getInitialWindowPerspectiveID() {} Public void preWindow(IWorkbenchWindowConfigurer configurer) // 워크 벤치 외양에 대한 설정{Configurer.setText("test");Configurer.setInitialSize(new Point(10,10)_); } } preStartup() 시작전에 나타낼 부분 사용prewindowOpen() 윈도..
스플래시 이미지를 png 파일로 할 수 없는이유
Look here http://wiki.eclipse.org/Equinox_Launcherfor some details on the -showsplash argument which controls the initialdisplaying of the splash screen in the launcher. There are really three phases to the splash screen when eclipse starts:1) Native code, before java starts2) Java calling out to Native code from Main, before OSGi starts3) Java code working through SWT, after workbench starts Fo..
대용량 테이블 조회가 가능한 Nattable 예제 실행 방법
TableViewer로는 대용량 데이터를 가져오는데 한계가 있다. 그래서 이클립스에서 제공하는 nattable을 사용하면 조금 더 빠르게 대용량 데이터를 가져올 수 있다. 그 nattable의 예제와 소스코드를 볼 수 있는 방법을 소개한다. 첨부된 파일 두개를 모두 다운 받고 cmd 창에서 다음 명령어를 실행시킨다. java -cp org.eclipse.swt.win32.win32.x86_64-4.3.jar;NatTableExamples-0.9.0.jar org.eclipse.nebula.widgets.nattable.examples.NatTableExamples 관련 주소https://eclipse.org/nattable/documentation.php?page=getting_started
OSGI & Platform
OSGI?다양한 이클립스의 런타임 매커니즘을 하나로 묶어서 사용할 수 있도록 만든 런타임 모델이 OSGI 런타임 모델이다. Platform현재 실행중인 이클립스 환경에 대한 정보를 제공한다. 이 클래스를 사용해 설치되어 있는 플러그인(번들),. 확장, 확장점, 명령행 인자 , 작업관리자 등의 정보를 얻을 수 있다.Ex ) getProduct() 현재 실행 중인 이클립스 제품 정보를 반환한다.
RCP 프레임워크 프로젝트의 플러그인 클래스
플러그인 클래스모든 플러그인은 프로그램 관저에서 플러그인을 대표하는 클래스를 내역서 편집기의 개요 페이지에서 선언할 수 있다. (Menifest의 OverView 페이지 이기도 하며, 3.2 이상부터는 Activator라고 부른다.)플러그인과 연관된 정적 리소스에 접근하거나, 플러그인별 환경설정 또는 기타 상태 정보에 접근해 초기화 하기 위한 메소드를 제공한다.반드시 필요한 것은 아니지만 플러그인 내역서에 플러그인 클래스가 지정되어 있는 경우에 플러그인이 로딩 되었음을 전달 받는 첫 번째 클래스이며, 또한 종료되었을 때 전달 받는 마지막 클래스 이다. (그를 이용해서 해당 플러그인의 시작과 끝의 새로운 동작을 추가할 수 있다.) UI를 사용하는 플러그인의 경우 AbstractUIPlugin을 상속받아서 ..
Menifest 파일 설명
Menifest Dependencies 페이지1. Menifest는 플러그인들의 의존관계를 표시Require-Bundle: org.eclipse.ui,Org.eclipse.core.runtime 이 뜻은 해당 두개의 플러그인에 현재 플러그인이 종속된다는 것을 의미한다.해당 의미는 컴파일시 결정되는 종속성이 아닌 플러그인의 실행시에 사용되는 종속성이다.실행 중 참조해야 할 플러그인이 어떤 것인지 확인한다. 클래스 로드 중 Require-Bundle에 명시된 항목 중 클래스를 찾을 수 없을 경우 NoClassDefFoundError 예외가 발생한다. Require-Bundle: org.eclipse.ui,Org.eclipse.core.runtime;resolutoin=optional // 없어도 실행되는것(..
Action 클래스 살펴보기
필요한 액션을 구현하기 위해서 action클래스를 상속받아서 구현한다. Action 클래스의 메소드 Run() - action에 해당하는 이벤트 처리 수행Action() - 디폴트 생성자Action(String, ImageDescriptor) - text 필드를 생성하고 이미지를 action에 연결하는 생성자Action(String, int) - TEXT와 STYLE 필드를 설정하는 생성자. ImageDescriptor 객체는 이미지가 아니고 이미지를 생성하기 위해 필요한 정보를 가진 객체이다. getStyle() - STYLE 필드를 반환한다.setEnabled(boolean) - ENABLED 필드를 설정한다.getEnabled() - ENABLED 필드를 반환한다.setChecked(boolean)..
rcp프레임워크의 shell객체의 이벤트 처리 설명
Shell 객체는 이벤트를 위젯에 보내고 위젯은 이정보를 리스너로 불리는 인터페이스로 전달하고 리소드 메소드 중에 동작을 처리하는 이벤트 핸들러를 호출한다. 어댑터어댑터는 추상클래스로서 Listener 인터페이스를 구현하고 필요한 각 메소드의 기본적인 구현을 제공한다.필요한 메소드만 작성하면 된다.(리스너로 코딩하면 필요하지 않은 부분도 코딩해야 한다.)즉, 위젯을 리스너가 아닌 어댑터와 연결한다면 조금더 편리하다. 케이스 1.리스너로 코딩하기Button.addMouseListener(new MouseListener(){Public void mouseDown(MosueEvent e){Clkdevent();} 어댑터로 코딩하기Button.addMouseListener(new MouseAdapter(){Pu..
event doit 설명
Public void close(Event event) {Event.doit = false; // event가 일어나지 않게 지정 If(true)Event.doit = true;// 어떤 조건에서만 true로 변경 }
synchronous vs asynchronous
synchronous vs asynchronoussystem call의 완료를 기다리면 synchronoussystem call의 완료를 기다리지 않으면 asynchronoussynchronous vs blocking시스템의 반환을 기다리는 동안 대기 큐에 머무는 것이 필수가 아니면 synchronous시스템의 반환을 기다리는 동안 대기 큐에 머무는 것이 필수이면 blocking