GEF

그래피컬 에디팅 프레임워크(Graphical Editing Framework, GEF)는 그래픽 애플리케이션과 관련된 프레임워크와 최종 사용자 구성 요소를 제공하는 이클립스 프로젝트이다.

GEF 프로젝트 소스 : https://github.com/eclipse/gef

GEF는 처음에는 IBM의 etools(com.ibm.etools.gef)의 일부로 개발되었다가 버전 2.0.0부로 2002년에 이클립스에 기부되었으며 당시 2개의 구성 요소로 구성되었다: Draw2d(표준 위젯 툴킷(SWT) 기반 2차원 시각화 구성 요소), GEF(MVC. 이클립스 리치 클라이언트 플랫폼(RCP) 애플리케이션의 일부로서 그래피컬 편집기에 사용 가능한 관련 MVC(모델-뷰-컨트롤러) 프레임워크) 이클립스에서의 첫 릴리스는 2003년 3월 GEF 2.1.0이었다. 다음 주요 버전 GEF 3.0.0은 2004년 6월에 출시되었으며 격자, 가이드 지원과 같은 수많은 신규 기능들이 제공된다. GEF 3.4.0 릴리스의 일부로서 버전 1.0.0부로 2007년에 제3의 프로젝트 구성 요소로서 제스트(Zest)가 추가되었다. GEF 3.0.0이 출시된 2004년 이후로 프레임워크의 API에는 오직 호환 가능한 변경사항만 적용되었다.

GEF 3.x 구성 요소의 유지보수와 병행하여 프로젝트 팀에 의해 2010년 이후로 프레임워크의 새로운 주 리비전이 개발되고 있다. 훨씬 더 더 모듈화된 방식을 따르도록 완전히 재설계되었으며 기반 렌더링 프레임워크로 SWT 대신 자바FX를 사용하며 이클립스 RCP 애플리케이션과 독립적으로 사용할 수도 있다. 보통 GEF4로 일컫는 구성 요소들은 2015년 6월 GEF 3.10.0(마스) 릴리스의 일부로서 버전 0.1.0에 처음 출시 출시되었다. GEF4 구성 요소들은 2016년 6월 GEF 4.0.0(네온) 릴리스의 일부로서 버전 1.0.0에 출시되었다.

https://ko.wikipedia.org/wiki/%EA%B7%B8%EB%9E%98%ED%94%BC%EC%BB%AC_%EC%97%90%EB%94%94%ED%8C%85_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

GEF3.x

레거시 구성 요소 Draw2d 3.x , GEF (MVC) 3.x Zest 1.x 는 ‘순수한 유지 관리’모드로 전환되었다.

레거시 구성 요소 ( ‘org.eclipse.draw2d’, ‘org.eclipse.gef’, ‘org.eclipse.zest’)의 네임 스페이스는 보존되었지만 이제는 ‘GEF- 레거시’라고한다.

GEF4

The Eclipse Graphical Editing Framework (GEF) provides Eclipse-integrated end-user tools in terms of a Graphviz authoring (DOT editor, DOT Graph view) and a word cloud rendering environment (Tag Cloud view), as well as framework components (Common, Geometry, FX, MVC, Graph, Layout, Zest, DOT, and Cloudio) to create rich graphical Java client applications, Eclipse-integrated or standalone.

이클립스 프로젝트에 포함 되어있으며 릴리즈 정보는 아래와 같다.

Licenses:

Eclipse Public License 1.0

Latest Releases:

From September 20th, 2017 to June 17th, 2020

Name Date Review
5.3.0 (2020-06) 2020-06-17  
5.2.100 (2019-12, 2020-03) 2019-12-18  
5.2.0 (2019-09) 2019-09-18  
5.1.0 (2019-06) 2019-06-19  
5.0.400 (2019-03) 2019-03-20  
5.0.300 (2018-12) 2018-12-19  
5.0.200 (2018-09) 2018-09-19  
5.0.100 (Photon) 2018-06-27  
5.0.2 (Oxygen.2) 2017-12-20  
5.0.1 (Oxygen.1) 2017-09-20  

https://projects.eclipse.org/projects/tools.gef

GEF 구성요소

https://wiki.eclipse.org/Category:GEF

DOT(Editor/Viewer)

  • 그래프를 시각화 해주는 언어

https://wiki.eclipse.org/GEF/GEF4/DOT

  • EclipseCon Europe 2018

https://www.youtube.com/watch?v=GnSVLNYfGlk

  • DOT

http://www.graphviz.org/doc/info/lang.html

Cloudio

  • SWT 캔버스 또는 JFace는 뷰어 내에서 태그 클라우드를 시각화에 대한 지원을 제공

https://wiki.eclipse.org/GEF/GEF4/Cloudio

Common

  • 공통

FX

  • JavaFX는 swing이나 SWT를 대체 할 수 있는 기술 이다. GEF4 FX는 JavaFX를 향상시켜 시각적 앵커, 제스처 리스너, 연결 구현 또는 IGeometry 기반 모양 구현과 같은 Eclipse UI와 독립적으로 사용할 수 있게 해준다.

Geometry

  • 다양한 기하학 계산을 지원하는 컴포넌트

Graph

  • 간단한 UI 독립적 그래프 모델을 제공한다

Layout

  • 노드들을 자동으로 배치할수 있도록 레이아웃 알고리즘을 제공함

MVC

  • swt, draw2d가 아닌 JavaFX기반의 그래픽 에디터와 뷰 를 만들어 주는 컴포넌트

  • 그래픽 응용 프로그램은 하나 이상의 뷰어 로 구성되고

  • 뷰어 ( IViewer )는 뷰어의 컨트롤 내부에 렌더링되는 비주얼을 제어 하는 일련의 시각적 파트 ( IVisualPart )로 채워진다.

  • 컨텐츠를 시각화하도록 제어 하는 시각적 파트컨텐츠 파트 ( IContentPart )라고한다. 피드백 파트 ( IFeedbackPart )와 핸들 파트( IHandlePart ) 가 함께 제공된다.

  • 모든 시각적 부분은 ‘루트 파트’( IRootPart )를기반으로하는 계층 구조 (시각적 계층 구조와 유사)로 베열된다.

  • 도구 ( ITool )는 뷰어 내부의 파트와 상호 작용하는 데 사용됩니다.

    • 특정 상호 작용 제스처 (예 : 마우스 클릭 / 드래그 또는 터치 기반 핀치 / 스프레드)를 처리하고 상호 작용을 전달

Zest

  • 시각화 모듈을 제공

  • MVC기반으로 동작.

GEF5 Tutorials

https://info.itemis.com/en/gef/tutorials/