プロパティー・ページの実装

ワークベンチがプロパティー・ページを作成して起動する時は、ワークベンチは選択されたリソースをそのページに設定します。ページは 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()));
   ...

プロパティーが計算されると、値を保管するための対応するロジックは必要ありません。これは、ユーザーがこの値を更新することができないためです。

プロパティー・ページは、1 つのリソースのアプリケーション固有の プロパティーを 表示および設定するために、一般的に使用されます。(セッションおよび永続プロパティーの解説は、『リソース・プロパティー』を参照してください。)  プロパティー・ページはそのリソースを認識しているため、リソース 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());
      ...
   }