ポップアップメニューをエディタに実装 まででとりあえず、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();
}
}
これで各カラムに正しい文字列が表示されるようになりました。
次はダブルクリックやポップアップメニューから、ブラウザを開くようにします。
この記事は
現在のアクセス:8991