특성 페이지

org.eclipse.ui.propertyPages

이 확장점은 지정된 유형의 오브젝트에 대해 특성 페이지를 더 추가하는 데 사용됩니다. 정의된 경우 이 특성 페이지는 해당 유형의 오브젝트에 대한 특성 대화 상자에 나타납니다.

특성 페이지는 오브젝트의 특성과 상호작용하는, 사용자에게 친숙한 방법입니다. 오브젝트 특성을 편집하는 데 사용할 수 있는 공간을 제한하는 특성 보기와 달리, 특성 페이지에서는 레이블, 아이콘 등이 있는 보다 크고 복잡한 제어 기능을 자유롭게 정의할 수 있다는 장점이 있습니다. 또한 논리적으로 함께 작동하는 특성이 특성 시트에 분배되지 않고 한 페이지에서 클러스터될 수 있습니다. 그러나 대부분의 응용프로그램에서는 오브젝트의 일부 특성은 특성 시트를 통해 노출시키고 일부 특성은 특성 페이지를 통해 노출시키는 것이 좋습니다.

특성 페이지는 대개 오브젝트에 대한 팝업 메뉴에서 "특성" 메뉴 항목을 선택할 때 나타나는 대화 상자에 표시됩니다. 오브젝트 클래스 외에, 특정 오브젝트 유형에 대해서만 특성 페이지를 등록하기 위해 이름 필터가 선택적으로 제공될 수 있습니다.

이러한 필터링 메커니즘이 적당하지 않으면 특성 페이지에서는 필터 메커니즘을 사용할 수도 있습니다. 이 경우 대상 오브젝트의 속성은 일련의 키/값 쌍에 설명됩니다. 선택사항에 적용되는 속성은 특정 유형과 관련되며 Workbench 자체의 도메인 범위를 넘어서므로 이 레벨의 필터링에서는 실제 선택사항이 Workbench를 대표합니다.

<!ELEMENT extension (page*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT page (filter* , keywordReference*)>

<!ATTLIST page

id          CDATA #REQUIRED

name        CDATA #REQUIRED

icon        CDATA #IMPLIED

objectClass CDATA #REQUIRED

class       CDATA #REQUIRED

nameFilter  CDATA #IMPLIED

adaptable   (true | false)

category    CDATA #IMPLIED>


<!ELEMENT filter EMPTY>

<!ATTLIST filter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

이 요소는 현재 선택사항의 각 오브젝트 속성 상태를 평가하는 데 사용됩니다. 선택사항의 각 오브젝트에 속성 상태가 지정된 경우에만 일치합니다. 선택사항에서 각 오브젝트는 구현하거나 org.eclipse.ui.IActionFilter에 적용시켜야 합니다.



<!ELEMENT keywordReference EMPTY>

<!ATTLIST keywordReference

id CDATA #IMPLIED>

키워드에 대한 특성 페이지의 참조입니다. 키워드 확장점을 참조하십시오.



다음은 특성 페이지 정의에 관한 예제입니다.

   

<extension point=

"org.eclipse.ui.propertyPages"

>

<page id=

"com.xyz.projectPage"

name=

"XYZ Java Properties"

objectClass=

"org.eclipse.core.resources.IFile"

class=

"com.xyz.ppages.JavaPropertyPage"

nameFilter=

"*.java"

>

<filter name=

"readOnly"

value=

"true"

/>

</page>

</extension>

class 속성은 org.eclipse.ui.IWorkbenchPropertyPage를 구현하는 클래스의 완전한 이름을 지정해야 합니다.

Workbench에서 제공하는 일부 오브젝트는 등록된 특성 페이지를 보유할 수 있습니다. 플러그인에서 이러한 오브젝트에 대해 특성 페이지를 더 추가할 수 있습니다. 특성 페이지는 Workbench 자원으로 제한되지 않습니다. 즉, Workbench에 나타나는 모든 오브젝트(플러그인에서 작성된 도메인 고유 오브젝트도 포함)에는 특성 페이지가 있을 수 있으며 다른 플러그인에서 해당 오브젝트에 특성 페이지를 등록할 수 있습니다.