@Override public void handleAdd(int index, Object element) { viewerUpdater.insert(element, index); }
@Override public void handleMove(int oldIndex, int newIndex, Object element) { viewerUpdater.move(element, oldIndex, newIndex); } });
@Override public void handleRemove(int index, Object element) { viewerUpdater.remove(element, index); }
@Override public void handleSetChange(SetChangeEvent event) { if (isViewerDisposed()) return; Set removals = event.diff.getRemovals(); Set additions = event.diff.getAdditions(); knownElements.addAll(additions); if (realizedElements != null) realizedElements.removeAll(removals); viewerUpdater.remove(removals.toArray()); viewerUpdater.add(additions.toArray()); if (realizedElements != null) realizedElements.addAll(additions); knownElements.removeAll(removals); } }
@Override public void handleReplace(int index, Object oldElement, Object newElement) { viewerUpdater.replace(oldElement, newElement, index); }