/** * Removes selected items from history. * * @param items * items to be removed */ private void removeSelectedItems(List<?> items) { for (Iterator<?> iter = items.iterator(); iter.hasNext();) { Object item = iter.next(); removeHistoryItem(item); } refreshWithLastSelection = false; contentProvider.refresh(); }
/** * Adds item to history and refresh view. * * @param item * to add */ public void addHistoryElement(Object item) { if (this.selectionHistory != null) this.selectionHistory.accessed(item); if (filter == null || !filter.matchItem(item)) { this.items.remove(item); this.duplicates.remove(item); this.lastSortedItems.remove(item); } synchronized (lastSortedItems) { Collections.sort(lastSortedItems, getHistoryComparator()); } this.refresh(); }
/** * Main method for the job. * * @param monitor * @throws CoreException */ private void internalRun(GranualProgressMonitor monitor) throws CoreException { try { if (monitor.isCanceled()) return; this.itemsFilter = filter; if (filter.getPattern().length() != 0) { filterContent(monitor); } if (monitor.isCanceled()) return; contentProvider.refresh(); } finally { monitor.done(); } }
@Override protected IStatus run(IProgressMonitor monitor) { this.itemsFilter = filter; contentProvider.reset(); refreshWithLastSelection = false; contentProvider.addHistoryItems(itemsFilter); if (!(lastCompletedFilter != null && lastCompletedFilter .isSubFilter(this.itemsFilter))) contentProvider.refresh(); filterJob.schedule(); return Status.OK_STATUS; }