[dw리뷰] 이클립스 3.3에서 추가된 메뉴 확장법

원문기사: http://www.ibm.com/developerworks/kr/library/os-eclipse-3.3menu/

이클립스 3.3에는 새로운 메뉴 확장 아키텍처가 추가되었습니다. 물론 기존 방식도 여전히 사용가능합니다만, 훨씬 간편해졌습니다.

  • 기존에는 여러가지 action 확장(actionSets, viewActions, editorActions, popupMenus 등)을 사용해서 action이 적용되는 대상에 따라 전부 개별적으로 확장을 정의했습니다만 이제는 org.eclipse.ui.menus 확장 하나에서 메뉴 또는 툴바버튼이 들어갈 위치를 URI로 지정할 수 있습니다.
  • org.eclipse.ui.handlers 확장은 3.1부터 지원하던 것이긴 하지만 menus 확장은 직접 delegate class를 지정하지 않고 command만 참조하기 때문에 command의 실행을 담당하는 handlers 확장(IHandler 인스턴스 선언)을 필히 사용해야 합니다.
  • action 확장에서 nested element로 정의하거나 별도의 클래스를 따로 만들어야 하던 action enablement를 새로 추가된 org.eclipse.core.expressions.definitions 확장을 사용해서 좀 더 선언적으로 정의할 수 있습니다.

기존에 난립하던 action 확장들과 action delegate class 유형이 각각 menus 확장과 handlers 확장 하나로 정리되어 깔끔하네요. 또한 관련된 모든 것이 Command를 중심으로 연관되어 있으므로, 동일한 동작에 대해 액션 위치마다 구현하던 Action Delegate들보다 Handler 쪽이 구현 및 관리가 훨씬 쉽겠습니다.

이와 같은 내용을 한번 정리해야지 하고 있었는데 마침 developerWorks에 튜토리얼로 올라왔습니다. 아직 번역기사가 제공되진 않습니다만 예제 위주 튜토리얼이니 보기에 부담스럽진 않겠습니다. 3.3 대응 플러그인을 개발하고 계신 분은 참고하세요!

Eclipse
dW Review

Comments (0)

Permalink

[dw리뷰]Eclipse Forms로 애플리케이션에 새로운 활력을

원문기사: http://www.ibm.com/developerworks/kr/library/os-eclipse-forms/

 

이클립스 Forms는 SWT, JFace 외에 이클립스에 제공하는 또 하나의 GUI 툴킷입니다. 웬 GUI 툴킷을 이렇게 여러가지로 제공하나 싶을 수도 있지만, 각 GUI 툴킷은 서로 배타적인 관계가 아니라 SWT -> JFace -> Eclipse Forms로 이어지는 각각 다른 추상화 수준의 GUI 툴킷입니다. 즉 사용자는 자신의 애플리케이션에 알맞는 추상화 수준을 선택하여 좀 더 효율적인 GUI 프로그래밍을 할 수 있습니다. Forms는 PDE를 개발하는 과정에서 만든 UI 툴킷을 독립적으로 분할한 프로젝트 입니다. 즉 플러그인 에디터 같은 모양을 만들 때 Forms를 사용합니다.

  • SWT : OS의 네이티브 위젯을 동일한 API로 접근할 수 있도록 하면서 각 네이티브 위젯의 외양 등은 그대로 유지
  • JFace : SWT를 기반 GUI 툴킷으로 하면서 자바 객체<->위젯 간의 어댑터 프레임워크를 제공하여 객체 단위의 표현을 쉽게 할 수 있도록 함. 또한 GUI 리소스 관리 등의 유틸리티 제공.
  • Eclipse Forms : SWT에서 서로 다른 네이티브 위젯의 외양을 가능한한 통일감 있는 이클립스 스타일로 장식하여 표현. 웹에서 사용하는 것과 비슷한 테이블 레이아웃과 커스텀 위젯 등을 제공하여 좀 더 친숙하고 보기 좋은 UI 구성.

SWT는 3.2에서 획기적으로 개선되었는데, 3.3에서는 Forms UI가 많이 개선된 듯 합니다. 소개하는 기사는 Eclipse Communcation Framework를 맡고 있고 기고 활동도 왕성히 하고 있는 Chris Aniszczyk이 기고한 이클립스 Forms UI에 대한 소개 기사입니다. 난이도는 중급으로 되어 있지만 플러그인 개발 기초만 알고 있다면 단순히 예제를 따라해보는 것으로 Forms에서 제공하는 기능들을 둘러 볼 수 있습니다.

SWT로 레이아웃 잡느라 땀 뻘뻘 흘리는 것보다 Forms로 때깔나는 UI를 쉽게 만드는 것이 더 좋은 경우도 많을테니 아직 Forms 안써보신 분은 한번 둘러보세요. 너무 그냥 이클립스 스러워서 불만일 때도 있습니다만 ^^

이 글은 스프링노트에서 작성되었습니다.

Eclipse
dW Review

Comments (0)

Permalink

[dW리뷰] 이클립스 RCP 응용 프로그램 커스터마이즈하기 : 파트 1

원문 : http://www.ibm.com/developerworks/kr/library/tutorial/os-eclipse-rcp1/index.html

최근 이클립스 기반의 로터스 노츠, 심포니 등 이클립스 RCP 기반의 애플리케이션이 속속 발표되고 있습니다. 하지만 이와 같은 애플리케이션을 실행시켜 보면 이클립스 IDE 환경과는 상당히 다르면서 훨씬 멋진 룩앤필을 보여주고 있습니다.

이클립스 RCP의 기반 GUI 툴킷인 SWT의 강점 중 하나가 OS의 네이티브 위젯을 그대로 활용해서 플랫폼에 대응하는 UI와 더 나은 성능을 보여준다는 점인데, 노츠나 심포니는 어떻게 된 걸까요? 이클립스 RCP 응용 프로그램 커스터마이즈하기: 파트 1은 이와 같은 궁금증에 대해 설명하면서 이클립스 애플리케이션 개발자가 더 나은 룩앤필을 보여주기 위해 사용할 수 있는 방법들을 보여줍니다.

룩앤필이 화려한 이클립스 애플리케이션이라 하더라도 SWT를 기반으로 하는 것은 마찬가지입니다. 다만 SWT는 그 자체로 커스터마이즈할 수 있는 여지가 많으며, 커스터마이즈를 하더라도 네이티브 위젯을 기반으로 꼭 필요한 부분부터 커스터마이즈하므로 성능 손실도 최소화됩니다. 즉 네이티브 위젯에 대응하는 중량형 위젯을 기반으로 직접 구현하는 경량형 위젯의 장점을 취하는 방식이라 할 수 있습니다. 사실 SWT 자체에도 플랫폼에 따라 없는 위젯을 경량형 위젯 방식으로 구현하고 있는 것이 종종 있습니다.

기사에서는 다음과 같은 내용을 예제와 함께 설명하고 있습니다.

  • 운영체제 테마 커스터마이즈로 SWT 위젯 룩앤필 바꾸기
  • 경량형 위젯과 중량형 위젯
  • 중량형 위젯을 가볍게 커스터마이즈하기
  • 커스터마이즈된 위젯을 제공하는 Form UI

다만 번역 문서에서 다음과 같은 용어는 다소 오해가 있을 수 있으니 주의하세요.

  • 무거운,가벼운 위젯(heavy-weighted,light-weighted widget) -> 일반적으로는 중량형, 경량형 위젯
  • 평범한(flat) 룩앤필 -> 윈도우 XP 등에서 선보인 평평해 보이는 룩앤필

Eclipse
dW Review

Comments (1)

Permalink