Páginas de Propriedade

org.eclipse.ui.propertyPages

Esse ponto de extensão é utilizado para incluir uma página de propriedade adicional para objetos de um determinado tipo. Uma vez definidas, essas páginas de propriedades aparecerão no Diálogo Propriedades para objetos desse tipo.

Uma página de propriedades é um modo amigável para o usuário interagir com as propriedades de um objeto. Ao contrário da exibição Propriedades, que restringe o espaço disponível para edição de uma propriedade do objeto; uma página de propriedade pode beneficiar-se da liberdade de definir controles mais amplos e complexos com etiquetas, ícones, etc. As propriedades que logicamente vão junto, podem também ser agrupadas em uma página em vez de serem dispersadas em uma página de propriedades. Entretanto, na maioria dos aplicativos será adequado expor algumas propriedades de um objeto via páginas de propriedade.

As páginas de propriedade são mostradas em uma caixa de diálogo que normalmente é visível quando o item do menu "Propriedades" é selecionado em um menu pop-up para um objeto. Além disso, para a classe de objeto, o filtro do nome pode opcionalmente ser fornecido para a páginas de propriedade de registro somente para tipos de objetos especificados.

Se esses mecanismos de filtragem forem inadequados, uma página de propriedades pode utilizar o mecanismo filtro. Nesse caso os atributos do objeto de destino são descritos em uma série de pares chave-valor. Os atributos que aplicam-se à seleção são específicos dos tipos e além do domínio do próprio workbench, de modo que o workbench delegará a filtragem nesse nível na seleção atual.

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

Esse elemento é utilizado para avaliar o estado do atributo de cada objeto na seleção atual. Uma correspondência ocorrerá apenas se cada objeto na seleção tiver o estado de atributo especificado. Cada objeto na seleção deve implementar, ou se adaptar a, org.eclipse.ui.IActionFilter.



<!ELEMENT keywordReference EMPTY>

<!ATTLIST keywordReference

id CDATA #IMPLIED>

Uma referência por uma página de propriedades para uma palavra-chave. Consulte o ponto de extensão de palavras-chave.



A seguir, um exemplo da definição da página de propriedade:

   

<extension point=

"org.eclipse.ui.propertyPages"

>

<page id=

"com.xyz.projectPage"

name=

"Propriedades Java XYZ"

objectClass=

"org.eclipse.core.resources.IFile"

class=

"com.xyz.ppages.JavaPropertyPage"

nameFilter=

"*.java"

>

<filter name=

"readOnly "

value=

"true"

/>

</page>

</extension>

O atributo class deve especificar um nome completo da classe que implementa org.eclipse.ui.IWorkbenchPropertyPage.

Alguns objetos fornecidos pelo workbench podem ter páginas de propriedade registradas. Aos plug-ins é permitido incluir mais páginas de propriedade para esses objetos. As páginas de Propriedade não são limitadas aos recursos do workbench: todos os objetos mostrados no workbench (até objetos específicos de domínio criados pelos plug-ins) podem ter páginas de propriedade e a outros plug-ins é permitido registrar páginas de propriedade para eles.