SlideShare a Scribd company logo
1 of 12
Eclipse RCP – 1주차
File Browser 구현
김태우, 이상훈
Eclipse RCP (Rich Client Platform)
- Java GUI 개발 플랫폼
- 이클립스의 플러그인을 개발
Eclipse RCP 어플리케이션의 계층 구조
- Workbench: 어플리케이션 실행 시 보이는 화면
- Workbench Window: 최상위에 존재하는 윈도우
메뉴바, 툴바, 상태표시줄, 페이지를 가짐
- Page : 하나의 워크벤치 윈도우에는 하나의 페이지가 존재
파트들을 그루핑하는 요소
- Perspective : View의 집합, View의 배치, 액션 등을 정의
- View : 정보의 계층 구조를 보여주거나 에디터 열기 또는 활성 에디터의 정보를 보여줌
- Editor : 문서나 입력 객체를 보여주거나 편집함
File Browser의 기능
- 파일 시스템으로 트리 구조로 표현
- 트리에서 선택된 파일을 커스텀 에디
터를 이용하여 출력 (txt, jpg, png)
- 사용자의 선택에 따른 파일의 경로 출
력
- 사용자의 선택에 대한 로그를 출력
(시간, 경로)
File Browser의 Class(1) -
BrowserView
- 파일 시스템을 트리 구조로 표현
- ContentProvider
- LabelProvider
- SelectionProvider를 통하여
Workbench에 selection 정보
제공
- Selection listener를 통하여
에디터 오픈 (텍스트 파일 또는
이미지)
File Browser의 Class(2) - PathView
- Selection Listener를 통해서 사용자가 선택한 파일 (또는 폴더)의 경로를 출력- Selection Listener를 통해서 사용자가 선택한 파일 (또는 폴더)의 경로를 출력
File Browser의 Class(3) –
MyTextEditor
- 선택한 텍스트 파일의 정보
를 이용하여 텍스트 파일을
출력
BrowserView.java
MyTextEditor.java
File Browser의 Class(4) –
ImageEditor
- 선택한 이미지 파일 (jpg 또는 png)에 대한 정보를 받아와 이미지를 출력
BrowserView.java
ImageEditor.java
File Browser의 Class(5) -
Perspective
- View들의 위치 관계를 설정
File Browser의 Class(5) –
Perspective
- 콘솔창에 셀렉션에 대한 정보를 출력 (시간, 경로)
File Browser의 Class(6) – 그 외의 것
들
- Activator : 플러그인의 라이프 사이클을 제어 (시작 – 종료)
- Application : 어플리케이션(워크벤치)의 시작과 종료를 수행
- ApplicationActionBarAdvisor : 메뉴, 툴바, 상태 표시줄등의 액션에
대한 설정
- ApplicationWorkbenchAdvisor : Perspective ID, configurer
- ApplicationWorkbenchWindowAdvisor : 메뉴, 툴바, 상태표시줄 등
과
윈도우를 정의 (크기, 타
이틀 등)
현재까지의 File Browser

More Related Content

What's hot

올챙이(Tadpole for DB Tools)로 살펴보는 Eclipse RAP
올챙이(Tadpole for DB Tools)로 살펴보는 Eclipse RAP올챙이(Tadpole for DB Tools)로 살펴보는 Eclipse RAP
올챙이(Tadpole for DB Tools)로 살펴보는 Eclipse RAPcho hyun jong
 
세미나 Spring mybatis
세미나 Spring mybatis세미나 Spring mybatis
세미나 Spring mybatisSomang Jeong
 
Apache http component
Apache http componentApache http component
Apache http component흥래 김
 
[오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core [오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core Ji-Woong Choi
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발cho hyun jong
 
XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기
XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기
XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기승훈 오
 
xecon-phpfest2014composer
xecon-phpfest2014composerxecon-phpfest2014composer
xecon-phpfest2014composerjhyeon1010
 
XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개Jung soo Ahn
 
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble ShootingJi-Woong Choi
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Juwon Kim
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨KwangSeob Jeong
 
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211Ji-Woong Choi
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)정명훈 Jerry Jeong
 
Servlet Architecture
Servlet ArchitectureServlet Architecture
Servlet ArchitectureJU Chae
 
오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기(한번더)오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기(한번더)승훈 오
 
올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloudcho hyun jong
 
Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1성일 한
 

What's hot (20)

올챙이(Tadpole for DB Tools)로 살펴보는 Eclipse RAP
올챙이(Tadpole for DB Tools)로 살펴보는 Eclipse RAP올챙이(Tadpole for DB Tools)로 살펴보는 Eclipse RAP
올챙이(Tadpole for DB Tools)로 살펴보는 Eclipse RAP
 
세미나 Spring mybatis
세미나 Spring mybatis세미나 Spring mybatis
세미나 Spring mybatis
 
Apache http component
Apache http componentApache http component
Apache http component
 
[오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core [오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
 
XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기
XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기
XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기
 
xecon-phpfest2014composer
xecon-phpfest2014composerxecon-phpfest2014composer
xecon-phpfest2014composer
 
Servlet3
Servlet3Servlet3
Servlet3
 
XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개
 
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨
 
Composer
ComposerComposer
Composer
 
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
Servlet Architecture
Servlet ArchitectureServlet Architecture
Servlet Architecture
 
1
11
1
 
오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기(한번더)오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기(한번더)
 
올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud
 
Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1
 

Similar to Eclipse rcp - first week

Eclipse RAP - Single Source
Eclipse RAP - Single SourceEclipse RAP - Single Source
Eclipse RAP - Single Sourcecho hyun jong
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020Ji-Woong Choi
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)SangIn Choung
 
Hyperledger farbric build your first network install and analysis
Hyperledger farbric   build your first network install and analysisHyperledger farbric   build your first network install and analysis
Hyperledger farbric build your first network install and analysis병준 김
 
Ubuntu에서 Flask개발 맛보기 - 1
Ubuntu에서  Flask개발 맛보기 - 1Ubuntu에서  Flask개발 맛보기 - 1
Ubuntu에서 Flask개발 맛보기 - 1Booseol Shin
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaHyeonSeok Choi
 
웹캣소개서 (스마트교육연구소)
웹캣소개서 (스마트교육연구소)웹캣소개서 (스마트교육연구소)
웹캣소개서 (스마트교육연구소)tekville2
 
Web server page_ed10
Web server page_ed10Web server page_ed10
Web server page_ed10hungrok
 
171220 웹프로그래밍 web app 토렌트 관리체계
171220 웹프로그래밍 web app 토렌트 관리체계171220 웹프로그래밍 web app 토렌트 관리체계
171220 웹프로그래밍 web app 토렌트 관리체계우진 신
 
2.apache spark 실습
2.apache spark 실습2.apache spark 실습
2.apache spark 실습동현 강
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunnerhmfive
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석Tommy Lee
 
Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)beom kyun choi
 
Json view 예제 설명
Json view 예제 설명Json view 예제 설명
Json view 예제 설명Hyung Eun Jin
 

Similar to Eclipse rcp - first week (20)

Eclipse RAP - Single Source
Eclipse RAP - Single SourceEclipse RAP - Single Source
Eclipse RAP - Single Source
 
Springmvc
SpringmvcSpringmvc
Springmvc
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
Final report201101
Final report201101Final report201101
Final report201101
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
 
Cms
CmsCms
Cms
 
Hyperledger farbric build your first network install and analysis
Hyperledger farbric   build your first network install and analysisHyperledger farbric   build your first network install and analysis
Hyperledger farbric build your first network install and analysis
 
Ubuntu에서 Flask개발 맛보기 - 1
Ubuntu에서  Flask개발 맛보기 - 1Ubuntu에서  Flask개발 맛보기 - 1
Ubuntu에서 Flask개발 맛보기 - 1
 
Spring portfolio2
Spring portfolio2Spring portfolio2
Spring portfolio2
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, Kibana
 
웹캣소개서 (스마트교육연구소)
웹캣소개서 (스마트교육연구소)웹캣소개서 (스마트교육연구소)
웹캣소개서 (스마트교육연구소)
 
Web server page_ed10
Web server page_ed10Web server page_ed10
Web server page_ed10
 
171220 웹프로그래밍 web app 토렌트 관리체계
171220 웹프로그래밍 web app 토렌트 관리체계171220 웹프로그래밍 web app 토렌트 관리체계
171220 웹프로그래밍 web app 토렌트 관리체계
 
2.apache spark 실습
2.apache spark 실습2.apache spark 실습
2.apache spark 실습
 
Html5
Html5 Html5
Html5
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunner
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
svn
svnsvn
svn
 
Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)
 
Json view 예제 설명
Json view 예제 설명Json view 예제 설명
Json view 예제 설명
 

More from Taewoo Kim

[김태우] Simplechat using firebase
[김태우] Simplechat using firebase[김태우] Simplechat using firebase
[김태우] Simplechat using firebaseTaewoo Kim
 
[김태우] 한국의 태초마을 유람기
[김태우] 한국의 태초마을 유람기[김태우] 한국의 태초마을 유람기
[김태우] 한국의 태초마을 유람기Taewoo Kim
 
[김태우] Soscon 후기
[김태우] Soscon 후기[김태우] Soscon 후기
[김태우] Soscon 후기Taewoo Kim
 
Operating system #1
Operating system #1Operating system #1
Operating system #1Taewoo Kim
 
I know - Chrome and Plugin
I know - Chrome and PluginI know - Chrome and Plugin
I know - Chrome and PluginTaewoo Kim
 
Advanced operation system
Advanced operation systemAdvanced operation system
Advanced operation systemTaewoo Kim
 
Streaming join & lesson 4.
Streaming join & lesson 4.Streaming join & lesson 4.
Streaming join & lesson 4.Taewoo Kim
 
[Taewoo Kim] Real-Time Analytics with Apache Storm
[Taewoo Kim] Real-Time Analytics with Apache Storm[Taewoo Kim] Real-Time Analytics with Apache Storm
[Taewoo Kim] Real-Time Analytics with Apache StormTaewoo Kim
 
Real-Time Analytics with Apache Storm
Real-Time Analytics with Apache StormReal-Time Analytics with Apache Storm
Real-Time Analytics with Apache StormTaewoo Kim
 
One Week Project #1
One Week Project #1One Week Project #1
One Week Project #1Taewoo Kim
 
Storm - parallel and distributed
Storm - parallel and distributedStorm - parallel and distributed
Storm - parallel and distributedTaewoo Kim
 
Storm - understand by coding
Storm - understand by codingStorm - understand by coding
Storm - understand by codingTaewoo Kim
 
Real-time Video Analysis System
Real-time Video Analysis SystemReal-time Video Analysis System
Real-time Video Analysis SystemTaewoo Kim
 
Big Data & Hadoop by Skidmarkii
Big Data & Hadoop by SkidmarkiiBig Data & Hadoop by Skidmarkii
Big Data & Hadoop by SkidmarkiiTaewoo Kim
 
Apache Storm by Skidmarkii
Apache Storm by SkidmarkiiApache Storm by Skidmarkii
Apache Storm by SkidmarkiiTaewoo Kim
 

More from Taewoo Kim (15)

[김태우] Simplechat using firebase
[김태우] Simplechat using firebase[김태우] Simplechat using firebase
[김태우] Simplechat using firebase
 
[김태우] 한국의 태초마을 유람기
[김태우] 한국의 태초마을 유람기[김태우] 한국의 태초마을 유람기
[김태우] 한국의 태초마을 유람기
 
[김태우] Soscon 후기
[김태우] Soscon 후기[김태우] Soscon 후기
[김태우] Soscon 후기
 
Operating system #1
Operating system #1Operating system #1
Operating system #1
 
I know - Chrome and Plugin
I know - Chrome and PluginI know - Chrome and Plugin
I know - Chrome and Plugin
 
Advanced operation system
Advanced operation systemAdvanced operation system
Advanced operation system
 
Streaming join & lesson 4.
Streaming join & lesson 4.Streaming join & lesson 4.
Streaming join & lesson 4.
 
[Taewoo Kim] Real-Time Analytics with Apache Storm
[Taewoo Kim] Real-Time Analytics with Apache Storm[Taewoo Kim] Real-Time Analytics with Apache Storm
[Taewoo Kim] Real-Time Analytics with Apache Storm
 
Real-Time Analytics with Apache Storm
Real-Time Analytics with Apache StormReal-Time Analytics with Apache Storm
Real-Time Analytics with Apache Storm
 
One Week Project #1
One Week Project #1One Week Project #1
One Week Project #1
 
Storm - parallel and distributed
Storm - parallel and distributedStorm - parallel and distributed
Storm - parallel and distributed
 
Storm - understand by coding
Storm - understand by codingStorm - understand by coding
Storm - understand by coding
 
Real-time Video Analysis System
Real-time Video Analysis SystemReal-time Video Analysis System
Real-time Video Analysis System
 
Big Data & Hadoop by Skidmarkii
Big Data & Hadoop by SkidmarkiiBig Data & Hadoop by Skidmarkii
Big Data & Hadoop by Skidmarkii
 
Apache Storm by Skidmarkii
Apache Storm by SkidmarkiiApache Storm by Skidmarkii
Apache Storm by Skidmarkii
 

Recently uploaded

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 

Recently uploaded (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

Eclipse rcp - first week

  • 1. Eclipse RCP – 1주차 File Browser 구현 김태우, 이상훈
  • 2. Eclipse RCP (Rich Client Platform) - Java GUI 개발 플랫폼 - 이클립스의 플러그인을 개발
  • 3. Eclipse RCP 어플리케이션의 계층 구조 - Workbench: 어플리케이션 실행 시 보이는 화면 - Workbench Window: 최상위에 존재하는 윈도우 메뉴바, 툴바, 상태표시줄, 페이지를 가짐 - Page : 하나의 워크벤치 윈도우에는 하나의 페이지가 존재 파트들을 그루핑하는 요소 - Perspective : View의 집합, View의 배치, 액션 등을 정의 - View : 정보의 계층 구조를 보여주거나 에디터 열기 또는 활성 에디터의 정보를 보여줌 - Editor : 문서나 입력 객체를 보여주거나 편집함
  • 4. File Browser의 기능 - 파일 시스템으로 트리 구조로 표현 - 트리에서 선택된 파일을 커스텀 에디 터를 이용하여 출력 (txt, jpg, png) - 사용자의 선택에 따른 파일의 경로 출 력 - 사용자의 선택에 대한 로그를 출력 (시간, 경로)
  • 5. File Browser의 Class(1) - BrowserView - 파일 시스템을 트리 구조로 표현 - ContentProvider - LabelProvider - SelectionProvider를 통하여 Workbench에 selection 정보 제공 - Selection listener를 통하여 에디터 오픈 (텍스트 파일 또는 이미지)
  • 6. File Browser의 Class(2) - PathView - Selection Listener를 통해서 사용자가 선택한 파일 (또는 폴더)의 경로를 출력- Selection Listener를 통해서 사용자가 선택한 파일 (또는 폴더)의 경로를 출력
  • 7. File Browser의 Class(3) – MyTextEditor - 선택한 텍스트 파일의 정보 를 이용하여 텍스트 파일을 출력 BrowserView.java MyTextEditor.java
  • 8. File Browser의 Class(4) – ImageEditor - 선택한 이미지 파일 (jpg 또는 png)에 대한 정보를 받아와 이미지를 출력 BrowserView.java ImageEditor.java
  • 9. File Browser의 Class(5) - Perspective - View들의 위치 관계를 설정
  • 10. File Browser의 Class(5) – Perspective - 콘솔창에 셀렉션에 대한 정보를 출력 (시간, 경로)
  • 11. File Browser의 Class(6) – 그 외의 것 들 - Activator : 플러그인의 라이프 사이클을 제어 (시작 – 종료) - Application : 어플리케이션(워크벤치)의 시작과 종료를 수행 - ApplicationActionBarAdvisor : 메뉴, 툴바, 상태 표시줄등의 액션에 대한 설정 - ApplicationWorkbenchAdvisor : Perspective ID, configurer - ApplicationWorkbenchWindowAdvisor : 메뉴, 툴바, 상태표시줄 등 과 윈도우를 정의 (크기, 타 이틀 등)