RCP/SWT & JFACE

Eclipse GEF 개념 설명

반응형

1. GEF(Graphical Editing Framework)?

 말그대로 framework. 그래픽 쪽을 다루기 위한 framework. 모델을 그래픽적으로 다룰 때 쓰는 것. 기본적으로는 MVC(Model - View - Controller) 체제에 맞추어져 있다. 어떠한 정보들은 Model이 갖고 있고, 그것을 화면에 보여주는 역할을 하는 것은 View 쪽에서, 관리하는 것은 Controller 쪽에서 하는 형식이다 각 부분별로 다음 부터 보자.

 

2. Model

GEF 에서의 Model 은 기본적으로 Object 형으로 처리한다.

그리고 모델은 항상 최상위 모델의 child 관계로 존재해야 한다. 예를 들면 최상위 모델을 보여주는 화면의 배경이라고 하면, 모든 모델은 이 배경의 child 로 존재해야 하는 것이다. 또한, Model의 변경을 Controller 에 알려주기 위해서 Listener를 구현할 필요가 있다.

 

 3. View

GEF 에서의 View 는 GEF에 포함되어 있는 draw2d 나 SWT 를 사용해서 구현한다.

 

 

 4. Controller GEF에서는 controller 부분을 EditPart 를 사용해서 구현한다. Contoller는 기본적으로 Model 과 View를 관리하는 역할을 하기 때문에 이와 관련된 부분이 존재한다. 그 중에 하나는 Model과 Controller를 연결하는 EditPartFactory이다. 또한, EditPolicy라는 것이 있는다. 이것은 EditPart에 install 되어서, Command(org.eclipse.gef.commands.command)를 이용해서 EditPart의 동작을 결정한다. Controller에서 하는 일들을 대략적으로 설명하면, user에 의해 model 의 변경이 요청이 들어온다. 이러한 요청은 Request(org.eclipse.gef.Request) 형태로 처리가 된다. 그러면 이러한 Request 형태를 갖고, EditPart는 자신에게 install 되어 있는 EditPolicy를 검토한다. EditPolicy중에 적합한 EditPolicy 를 선택하고, 이 EditPolicy 과 command(org.eclipse.gef.commands.command) 형태로 변경 명령을 내리면, model 변경이 반영되는 것이다.


반응형