- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[ポップアップメニューをエディタに実装>Eclipse/プラグイン開発のTIPS集/GooglePlugin/ポップアップメニューをエディタに実装]] まででとりあえず、TableViewerに検索結果を表示できるようになりました。次はLabelProviderを使って表示の制御を行います。
[[検索結果一覧を表示するビューの作成>Eclipse/プラグイン開発のTIPS集/GooglePlugin/検索結果一覧を表示するビューの作成]] でカラムの制御に [[IField:http://kino.mine.nu/cgi-bin/viewcvs.cgi/nu.mine.kino.plugin.google.ui/source/nu/mine/kino/plugin/google/ui/views/fields/IField.java]] というクラスを作成しました。ここでもこのクラスを使います。IFieldの実装クラスの
[[検索結果一覧を表示するビューの作成>Eclipse/プラグイン開発のTIPS集/GooglePlugin/検索結果一覧を表示するビューの作成]] でカラムの制御に [[IField:http://kino.mine.nu/cgi-bin/viewvc.cgi/nu.mine.kino.plugin.google.ui/source/nu/mine/kino/plugin/google/ui/views/fields/IField.java]] というクラスを作成しました。ここでもこのクラスを使います。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(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}