属性页面

org.eclipse.ui.propertyPages

此扩展点用来为给定类型的对象添加其它属性页面。一旦定义了这些属性页面,它们就会出现在该类型的对象的“属性对话框”中。

属性页面是用户与对象的属性交互的友好方法。与“属性”视图(它限制可用于编辑对象属性的空间)不同,属性页面的有利之处在于具有使用标签、图标等来定义更大、更复杂控件的自由。还可将逻辑上为一致的各属性群集在一个页面中,而不是分散在属性表中。但是,在大多数应用程序中,通过属性表公开对象的某些属性而通过属性页面公开另一些属性是很恰当的。

属性页面显示在当在对象的弹出菜单上选择“属性”菜单项时通常可见的对话框中。除对象类之外,还可选择提供名称过滤器来仅注册特定对象类型的属性页面。

如果这些过滤机制不足以满足要求,则属性页面可以使用过滤机制。在这种情况下,将在一系列键值对中描述目标对象的属性。适用于选择的属性是特定于类型的,且超出了工作台本身的域,因此工作台将代表在此级别上过滤为实际选择的操作。

<!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 的类的标准名称。

工作台提供的某些对象可能注册了属性页面。允许插件为这些对象添加更多属性页面。属性页面并不限于工作台资源:显示在工作台中的所有对象(甚至插件创建的域特定对象)可能具有属性页面,且允许其它插件注册它们的属性页面。