public void listChanged(CollectionChangeEvent event) {
CollectionDiffEntry<?>[] differences = event.getListDiff().getDifferences();
for (int i = 0; i < differences.length; i++) {
CollectionDiffEntry<?> entry = differences[i];
if (entry.isAddition()) {
knownElements.add(entry.getElement());
if (viewer instanceof AbstractListViewer) {
((AbstractListViewer) viewer).add(entry.getElement());
} else {
((TableViewer) viewer).insert(entry.getElement(), entry.getPosition());
}
} else {
if (viewer instanceof AbstractListViewer) {
((AbstractListViewer) viewer).remove(entry.getElement());
} else {
((TableViewer) viewer).remove(entry.getElement());
}
knownElements.remove(entry.getElement());
}
}
}
java类org.eclipse.jface.viewers.AbstractListViewer的实例源码
AnnotationTableViewPart.java 文件源码
项目:synergyview
阅读 16
收藏 0
点赞 0
评论 0
ListContentProvider.java 文件源码
项目:depan
阅读 18
收藏 0
点赞 0
评论 0
public ListContentProvider(AbstractListViewer viewer) {
this.viewer = viewer;
}