/** * Overridden to get the input set and always add a NEW_ENTRY_TEXT if it's still not there. (and * also update the pre-computed filter entries accepted on a new input). */ @Override public void setInput(Object input) { this.input = (List<String>) input; if (this.input.indexOf(NEW_ENTRY_TEXT) == -1) { this.input.add(NEW_ENTRY_TEXT); } super.setInput(input); this.updateFilterEntries(new NullProgressMonitor()); }
/** Overridden because we want to update the pre-computed list of accepted entries. */ @Override protected void setFilter(String text, IProgressMonitor monitor, boolean updateFilter) { if (updateFilter) { if (fFilterMatcher.lastPattern.equals(text)) { // no actual change... return; } fFilterMatcher.setFilter(text); if (monitor.isCanceled()) { return; } } updateFilterEntries(monitor); // the filter is already updated in this class. super.setFilter(text, monitor, false); }