#author("2019-09-06T14:18:06+00:00","","")
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[ポップアップメニューをエディタに実装>Eclipse/プラグイン開発のTIPS集/GooglePlugin/ポップアップメニューをエディタに実装]] まででとりあえず、TableViewerに検索結果を表示できるようになりました。次はLabelProviderを使って表示の制御を行います。

[[検索結果一覧を表示するビューの作成>Eclipse/プラグイン開発のTIPS集/GooglePlugin/検索結果一覧を表示するビューの作成]] でカラムの制御に [[IField:http://www.masatom.in/cgi-bin/viewvc.cgi/nu.mine.kino.plugin.google.ui/source/nu/mine/kino/plugin/google/ui/views/fields/IField.java?root=cvs]] というクラスを作成しました。ここでもこのクラスを使います。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();
   }
 }


***スクリーンショット [#u4ccbcfd]
これで各カラムに正しい文字列が表示されるようになりました。
#ref(table.png)


次は[[ダブルクリックやポップアップメニューから、ブラウザを開く>Eclipse/プラグイン開発のTIPS集/GooglePlugin/ダブルクリックやポップアップメニューから、ブラウザを開く]]ようにします。

----
この記事は
#vote(おもしろかった[1],そうでもない[0])
#vote(おもしろかった[2],そうでもない[0])

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS