Top / Eclipse / プラグイン開発のTIPS集 / GooglePlugin / LabelProviderで表示を制御する

ポップアップメニューをエディタに実装 まででとりあえず、TableViewer?に検索結果を表示できるようになりました。次はLabelProvider?を使って表示の制御を行います。

検索結果一覧を表示するビューの作成 でカラムの制御に IField というクラスを作成しました。ここでもこのクラスを使います。IFieldの実装クラスの

getValue(Object obj)

で、表示する内容を返すようにOverrideします。

ソースコードは以下のようになりました。 LabelProvider? の実装クラス

class ViewLabelProvider extends LabelProvider implements
   ITableLabelProvider {

  private final IField[] fields;

  public ViewLabelProvider(IField[] fields) {
    this.fields = fields;
  }

  public String getColumnText(Object obj, int index) {
    if (obj instanceof ResultElement) {
      ResultElement element = (ResultElement) obj;
      return fields[index].getValue(element);
    }
    return "";
  }

  public Image getColumnImage(Object element, int columnIndex) {
    return null;
  }
}

IField の実装クラス。下はTitleヘッダを制御するTitleField?クラス

public class TitleField implements IField {
  -- 省略 --
  public String getValue(Object obj) {
    ResultElement element = (ResultElement) obj;
    return element.getTitle();
  }
}

スクリーンショット

これで各カラムに正しい文字列が表示されるようになりました。

table.png

次はダブルクリックやポップアップメニューから、ブラウザを開くようにします。


この記事は

選択肢 投票
おもしろかった 2  
そうでもない 0  

Top / Eclipse / プラグイン開発のTIPS集 / GooglePlugin / LabelProviderで表示を制御する

現在のアクセス:7434


添付ファイル: filetable.png 508件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-09-06 (金) 23:18:06 (39d)