Header

  1. View current page

    Develop with pleasure!

Profile_image?t=1224205604&type=big
78

프로그래밍 적으로 뷰(view) 생성하기

eclipse 뷰는 많은 경우에 퍼스펙티브나 메뉴를 통해 선언적으로 생성하지만 경우에따라 프로그래밍적으로  생성해야 한다. 프로그래밍적으로 생성하는 방법은 아래와 같이 현재 활성화된 페이지를 통해 새로운 뷰의 생성을 명령하면 된다.

  1. 1. PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(VIEW_ID);
  2. 2. IWorkbenchPage page = getSite().getPage();
  3. IViewReference viewA = page.findViewReference(VIEW_ID);
  4. page.activate(viewA.getPart(true));

 

주의사항
  1. 프로그래밍적으로 파트를 생성하는 방식은 파트간의 결합도를 높인다. 다른 대안이 있다면 사용하지 않는 것이 좋다.
  2. 이 경우 Workbench를 통해 활성화된 페이지를 얻어오기 때문에 Workbench가 활성화된 이후에 활용 가능하다. 워크벤치가 활성화되기 이전의 뷰의 생성은 아마도 퍼스펙티브에 뷰를 추가하는 코드일 가능성이 크므로 선언적으로 작업하는 것이 옳다.
  3. 하나의 뷰 안에서 다른 뷰를 강제적으로 Activate 시키면 포커스는 자신에게 있지만 Activate는 강제적으로 생성한 뷰에 있기 때문에 다른 모든 동작은 수행하지만 ISelection이 외부로 발생하지 않는다. 다른 뷰의 동작을 수행후 명시적으로 다시 자신을 Activate해줘야 한다. (eclispe 3.2.2 기준)
  1. page.activate(this);

 

History

Last edited on 06/25/2008 16:50 by 김성안

Comments (0)

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