实现属性页面

当工作台创建和启动属性页面时,它将所选的资源设置到页面中。页面可以使用 getElement() 方法来获取它的元素 IAdaptable

创建属性页面的模式类似于创建首选项页面的模式,因此我们将重点放在它们的区别上。属性页面显示有关它们的元素的信息。可以通过访问元素来获得此信息,以便查询或计算相关信息。还可以根据资源的属性来存储和检索信息。

ReadmeFilePropertyPage 使用它的元素来计算它的大多数信息。以下代码段说明小节数是如何计算和显示在标签中的。

   ...
      IResource resource = (IResource) getElement();
   ...
   IAdaptable sections = getSections(resource);
   if (sections instanceof AdaptableList) {
      AdaptableList list = (AdaptableList)sections;
      label = createLabel(panel, String.valueOf(list.size()));
   ...

计算属性时,不需要相应的逻辑就可以保存值,原因是用户不能更新此值。

属性页面常用于查看和设置资源的特定于应用程序的属性。(有关会话和持久属性的讨论,请参阅资源属性。)由于属性页面知道它的资源,因此,可在页面中使用资源 API 来初始化控件值或者根据用户在属性页面中的选择来设置新的属性值。

以下代码段说明根据属性页面的元素的属性来初始化复选框值。

   private void initializeValues() {
      ...
      IResource resource = (IResource) getElement();
      label.setText(resource.getPersistentProperty("MyProperty"));
      ...
   }

用于将复选框值保存回属性的相应代码为如下所示:

   private void storeValues() {
      ...
      IResource resource = (IResource) getElement();
      resource.setPersistentProperty("MyProperty", label.getText());
      ...
   }