IT/RCP

[RCP] RCP 기본생성 방법

원창연 2020. 12. 20. 09:23

프로젝트 새로 만들기

플러그인 프로젝트 선택
프로젝트 이름 및 플러그인실행대상 선택
기본 자바 실행버전(좀 낮게), UI 제공, RCP응용프로그램 작성여부 Yes
RCP 기본 템플릿 선택(3.x로 시작)
패키지 기본설정
RCP 기본템플릿 실행(plugin.xml선택, 개요탭에 Eclipse응용프로그램 실행)

ㅁ 기본구조 확인

기본적으로 RCP프로젝트를 생성하면 아래와 같은 기본 클래스들이 생긴다. 이 클래스들은 RCP프로그램에서 각자의 역할이 있으며, 구성하고있는 역할을 알고 있어면 훗날 개발을 진행할 때 진행이 수월하다.

  • Application

    RCP프로그램의 main routine으로 동작 및 프로그램의 컨트롤러 역할을 한다. 또한 Workbench와 다른 Workbench Advisor라고 불리는 다른 클래스들을 연결시키는 역할한다. 이때 Workbench는 프로그램 하나를 말한다. Workbench는 Worbench Window을 포괄하는 개념이며, 예를 들어 새로운 이클립스창이 띄워졌을때 New window를 하면 하나의 창이 더 띄워진다. 이때 각각의 창은 Workbench Window이고, 2개가 존재한다. 하지만 Workbench는 창이 늘어나도 하나로 존재하게된다.

  • WorkbenchAdvisor

    Workbench의 lifecycle에 대해 명시하고 있다. default perspective와 같은 중요한 파라미터들을 Workbench에 제공한다. 가장 중요한 점은 WorkbenchAdvisor의 메소드들은 오버라이드가 될 수 없다.

  • WorbenchWindowAdvisor

    상태 line, 툴바. 제목. 윈도우 사이즈 등 커스터마이즈 하길 원하는 것들이 들어간다.

  • Perspective

    view, editor, menu들의 위치와 사이즈를 갖고있음 적어도 하나의 perspective는 가지고 있어야 한다.

  • View

    화면을 담당하는 부분이다. 곧, 뷰어들을 생성하고 초기화를 진행한다. 화면을 Viewer의 컨트롤에 요청하는 setFocus()와 모든 구성 요소들을 활성화하는 CreatePartControl(Composite) 함수가 반드시 필요하다. 이 두 함수는 처음 실행될때 호출된다. setFocus() createPartControl(Composite)는 시키기 위해 선언하는 곳이다

 

10가지의 플러그인 중 큰 몇가지만 설명하고자 한다.

  • UI Workbench: UI Workbench는 editor, view, perspective 등을 포함하고 있다.
  • SWT: 운영체제의 네이티브 윈도우 환경과 긴밀하게 통합된 다양한 컴포넌트와 플랫폼 독립적인 API를 제공한다. 즉, 윈도우에서 정의한 위젯에 대한 접근을 제공한다.
  • JFACE: 범용 UI 개념을 위한 구조와 편의기능을 제공한다. SWT를 이용하여 사용자 인터페이스를 개발할 때 해야하는 많은 공통 작업들을 간단하게 해 주는 컴포넌트와 헬퍼 유틸리티 세트를 제공 데이터 뷰, 위저드, 다이얼로그 컴포넌트 등을 제공하기 위해 SWT를 확장하는 많은 유틸리티 클래스들을 포함하고 있다.
  • RUNTIME: 플러그인과 페이지 로딩 및 초기화 간에 확장 포인트 모델 기반의 느슨한 결합을 정의하고 있다.
  • OSGi: 이클립스에서 플러그인의 발견 및 애플리케이션의 재시작 없이 플러그인을 로딩 및 언로딩하는 것을 포함하여 플러그인의 라이프사이클 관리등을 위한 프레임워크이다.

※ (참고)워크벤치 어드바이저 생명주기



ㅁ RCP관련 참고 사이트 들

    www.eclipse.org/articles/

 

Eclipse Corner - Eclipsepedia

These following articles have been written by members of the various project development teams and other members of the Eclipse community. Eclipse setup instructions on a new Linux (or other OS) computer Getting started with Eclipse as a beginner is diffic

wiki.eclipse.org

    o7planning.org/en/10953/eclipse-rcp

 

Eclipse RCP

The small examples The small examples No examples

o7planning.org

    www.vogella.com/tutorials/eclipse.html

 

Eclipse, RCP, Plugin and OSGi Development

 

www.vogella.com