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