Quando a área de trabalho criar e lançar uma página de propriedades, define o recurso seleccionado na página. A página pode utilizar o método getElement() para obter o seu elemento, um IAdaptable.
O padrão para criar páginas de propriedades é semelhante ao das páginas de preferências, de modo que só iremos abordar o que for diferente. As páginas de propriedades mostram informações sobre o respectivo elemento. Estas informações podem ser obtidas acedendo ao elemento para poder consultar ou calcular as informações relevantes. As informações também podem ser armazenadas e obtidas junto das propriedades do recurso.
A ReadmeFilePropertyPage calcula a maioria das suas informações com este elemento. A porção de código seguinte mostra como é calculado o número de secções e apresentado numa etiqueta.
... IResource resource = (IResource) getElement(); ... IAdaptable sections = getSections(resource); if (sections instanceof AdaptableList) { AdaptableList list = (AdaptableList)sections; label = createLabel(panel, String.valueOf(list.size())); ...
Quando uma propriedade é calculada, não há necessidade da lógica correspondente guardar o valor, dado que o utilizador não pode actualizar este valor.
As páginas de propriedades são geralmente utilizadas para ver e definir as propriedades de um recurso específicas a uma aplicação. (Consulte Propriedades de recursos para ver um debate sobre propriedades de sessão e persistentes. Dado que a página de propriedades conhece o seu recurso, a API de recursos pode ser utilizada na página para inicializar valores de controlo ou para definir novos valores de propriedades com base em selecções do utilizador na página de propriedades.
A porção de código seguinte mostra um valor de uma caixa de verificação a ser inicializado numa propriedade no elemento de uma página de propriedades.
private void initializeValues() { ... IResource resource = (IResource) getElement(); label.setText(resource.getPersistentProperty("aMinhaPropriedade")); ... }
O código correspondente para guardar o valor da caixa de verificação de volta à propriedade assemelha-se ao seguinte:
private void storeValues() { ... IResource resource = (IResource) getElement(); resource.setPersistentProperty("aMinhaPropriedade", label.getText()); ... }