응용프로그램 대화 상자

표준 대화 상자가 플러그인에 비해 너무 단순한 경우 Dialog 클래스를 사용하여 고유 대화 상자를 빌드할 수 있습니다. 앞서 Readme 도구가 조치 세트에서 "Readme 브라우저 열기" 조치를 제공하는 방법을 살펴 보았습니다.  이 조치 세트는 Workbench 도구 모음과 창->Readme 파일 편집기 메뉴에 표시됩니다.  

이제 Readme 도구의 WindowActionDelegate에서 이 조치 구현을 살펴볼 준비가 되었습니다.

public void run(IAction action) {
      SectionsDialog dialog = new SectionsDialog(window.getShell(),
         ReadmeModelFactory.getInstance().getSections(selection));
      dialog.open();
   }

조치 세트에 대한 창 조치 위임은 자원 네비게이터 보기에서 현재 선택사항(.readme 파일)을 사용하여 Readme 파일의 섹션 목록을 가져옵니다. 이 목록과 Workbench 창의 쉘이 SectionsDialog로 전달됩니다. 

사용자가 조치를 선택하면 SectionsDialog가 열립니다.

SectionsDialogDialog 클래스를 org.eclipse.jface.dialogs 패키지로 서브클래스화하여 Readme 도구 플러그인에서 구현됩니다.

Dialog 클래스는 대화 상자 쉘 창을 빌드하고 공통 대화 상자 단추를 작성하고 대화 상자를 실행하기 위한 기본 지원을 제공합니다. 서브클래스는 대화 상자 자체의 컨텐츠 처리를 담당합니다.

SectionsDialogokButtonPressed 메소드를 구현하지 않고 Dialog에서 "do-nothing" 구현을 상속합니다. 이것이 일반적인 작동은 아닙니다. 일반적으로 대화 상자는 대화 상자의 단추 중 하나를 누를 때 이에 응답하여 몇 가지 처리를 수행합니다.

필요에 따라 대화 상자를 간단하게 또는 복잡하게 만들 수 있습니다. 대화 상자를 구현할 때 대부분의 대화 상자 코드는 컨텐츠 영역을 표시하는 SWT 제어를 작성하고 대화 상자가 가동되는 동안 필요한 이벤트를 처리하게 됩니다. 사용자가 단추를 누르면 대화 상자는 대화 상자를 구성하는 여러 제어(또는 표시기) 상태를 조회하여 대화 상자의 작동을 결정할 수 있습니다.