Страницы свойств

org.eclipse.ui.propertyPages

Эта точка расширения предназначена для добавления страницы свойств для объектов данного типа. После того как страницы свойств определены, они появляются в окне Свойства для объектов указанного типа.

Страница свойств предоставляет пользователю удобный способ взаимодействия со свойствами объекта. В отличие от панели Свойства, которая ограничивает пространство, доступное для изменения свойства объекта, страница свойств позволяет определять более масштабные и сложные элементы управления с метками, значками и т.д. Кроме того, логически связанные друг с другом свойства, которые "разбросаны" по разным местам в окне свойств, можно объединить в одну группу на странице свойств. Однако, в большинстве приложений более уместно часть свойств сделать доступными в окне свойств, а часть - на страницах свойств.

Страницы свойств отображаются в окне, которое обычно открывается при выборе пункта "Свойства" во всплывающем меню для объекта. Помимо класса объекта можно (но необязательно) задавать фильтр имен для регистрации страниц для определенных типов объектов.

Если указанных способов фильтрации недостаточно, то страница свойств может использовать элемент filter. В этом случае атрибуты целевого объекта описываются набором пар ключ-значение. Атрибуты, применяемые к выбранным объектам, зависят от типа и находятся вне домена самой рабочей среды, поэтому для фактического выбора рабочая среда делегирует фильтрацию на этот уровень.

<!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=

"Свойства Java XYZ"

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.

Для некоторых объектов, предоставляемых рабочей средой, могут существовать зарегистрированные страницы свойств. Модулям разрешено добавлять для этих объектов дополнительные страницы свойств. Страницы свойств не ограничиваются ресурсами рабочей среды: страницы свойств могут существовать для всех объектов, показанных в рабочей среде (даже для объектов, созданных модулями в домене), и другим модулям разрешено регистрировать для них страницы свойств.