Header

  1. View current page

    Develop with pleasure!

Profile_image?t=1224205604&type=big
79

Perspective 만들기

퍼스펙티브:

뷰(View)와 에디터(Editor)로 구성된 페이지(Page)의 레이아웃과 페이지의 액션 셋을 정의한다.

페스펙티브 정의의 두 가지 방법:

  1. 새로운 퍼스펙티브 정의하기
  2. 기존 페스펙티브 확장하기

 

  1. 땅따먹기 전략
  2. Editor, View, Action
  3. FolderLayout
  4. Place Holder
  5. 다중 View 인스턴스를 위한 Wildcard의 사용 (:, ?, *)
  6. Geek FTP 퍼스펙티브 구현
Perspective

eclipse의 퍼스펙티브는 사용자에게 유기적으로 연결된 하나의 관점을 제공하기 위한 뷰(View)와 에디터(Editor)로 구성된 페이지(Page)의 레이아웃과 액션 셋을 정의한다. eclipse SDK에 포함된 대표적인 퍼스펙티브로는 자바 개발자를 위한 Java 퍼스펙티브, 디버깅을 위한 Debug 퍼스펙티브, eclipse 플러그인 개발을 위한 Plug-in Development Perspective가 있다. 이와 같이 퍼스펙티브는 사용자가 수행하고자 하는 작업을 지원하기 위한 뷰, 에디터, 액션셋의 유기적인 구성을 제공한다.

 

땅따먹기 전략

  eclipse의 퍼스펙티브 정의 정책은 다른 에디터나 뷰의 영역을 분할 할당하는 땅따먹기 전략을 이용한다. 전체 페이지의 크기를 100으로 볼 때 처음에는 100 모두 eclipse의 에디터가 소유한다. 처음 새로 추가되는 뷰는 에디터로부터 자신이 위치하고자 하는 영역의 일정량을 분할 할당한다. 또 다른 추가되는 뷰는 자신이 위치하고자 하는 영역이 에디터가 소유하고 있는지 아니면 이전에 추가된 뷰가 소유하고 있는지에 에디터나 뷰로부터 위치하고자 하는 영역을 분할 할당한다.

  그림1은 에디터를 가장 아래 위치시키고 두 개의 뷰가 차례대로 쌓인 단순한 형태의 퍼스펙티브이다.

 

perspective.png

그림1. 퍼스펙티브 구성

 

소스1과 소스2는 그림1의 구현을 보여준다. 새로운 퍼스펙티브를 생성하는 것은 org.eclipse.ui.perspectives 확장점을 확장하고 IPerspectiveFactory 인터페이스를 구현해 몇 줄의 코드만 추가하면 된다.

 

소스1. 퍼스펙티브 확장점 정의

<extension
         point="org.eclipse.ui.perspectives">
      <perspective
            name="Perspective"
            class="eclipse.example.Perspective"
            id="eclipse.example.perspective">
      </perspective>

</extension>

 

소스2는 퍼스펙티브에 두 개의 뷰를 추가하는 예제이다. 먼저 에디터 영역으로부터 70%의 영역을 가져와 에디터 영역의 상단에 View1을 추가한다. View2는 View1으로부터 70%의 영역을 가져와 View1의 하단에 위치한다. 여기서 주의할 점은 화면 비율은 추가되는 뷰에 할당될 비율이 아니라 둘 중에 왼쪽이나 위쪽에 위치하는 것의 비율이라는 점이다. View1을 추가할 때는 에디터의 위에 위치하므로 70%를 기술하였고 View2를 추가할 때는 View1의 하단에 위치하므로 30%를 기술했다는 점에 주의한다.

 

소스2. IPerspectiveFactory 구현

package eclipse.example;

import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;

public class Perspective implements IPerspectiveFactory {

    public void createInitialLayout(IPageLayout layout) {

        // Editor 영역의 70%를 가져와 View1을 구성

        layout.addView(View1.ID, IPageLayout.TOP, 0.7f, layout.getEditorArea());

        // View1 영역의 70%를 가져와 View2를 구성

        layout.addView(View2.ID, IPageLayout.BOTTOM, 0.3f, View1.ID);
    }
}

퍼스펙티브 구현하기

"땅따먹기 전략"을 이해하는 것으로 eclipse의 퍼스펙티브를 이해했다.퍼스펙티브를 구현하기 위한 방법을 알아본다.

 

 

Geek FTP 퍼스펙티브 정의

...

History

Last edited on 04/10/2007 11:18 by 김성안

Comments (0)

You must log in to leave a comment. Please sign in.