boolean isElementOrderPreserved() { return viewer.getComparator() == null && viewer.getFilters().length == 0; }
/** * Filter the children elements. * * @param parentElementOrTreePath * the parent element or path * @param elements * the child elements * @return the filter list of children */ private Object[] filter(Object parentElementOrTreePath, Object[] elements) { ViewerFilter[] filters = getFilters(); if (filters != null) { ArrayList filtered = new ArrayList(elements.length); for (int i = 0; i < elements.length; i++) { boolean add = true; for (int j = 0; j < filters.length; j++) { add = filters[j].select(this, parentElementOrTreePath, elements[i]); if (!add) { break; } } if (add) { filtered.add(elements[i]); } } return filtered.toArray(); } return elements; }
/** * Filter the children elements. * * @param parentElementOrTreePath * the parent element or path * @param elements * the child elements * @return the filter list of children */ private Object[] filter(Object parentElementOrTreePath, Object[] elements) { ViewerFilter[] filters = getFilters(); if (filters != null) { ArrayList filtered = new ArrayList(elements.length); for (Object element : elements) { boolean add = true; for (ViewerFilter filter : filters) { add = filter.select(this, parentElementOrTreePath, element); if (!add) { break; } } if (add) { filtered.add(element); } } return filtered.toArray(); } return elements; }
/** * Filter the children elements. * * @param parentElementOrTreePath * the parent element or path * @param elements * the child elements * @return the filter list of children */ private Object[] filter(Object parentElementOrTreePath, Object[] elements) { ViewerFilter[] filters = getFilters(); if (filters != null) { ArrayList filtered = new ArrayList(elements.length); for (int i = 0; i < elements.length; i++) { boolean add = true; for (int j = 0; j < filters.length; j++) { add = filters[j].select(this, parentElementOrTreePath, elements[i]); if (!add) { break; } } if (add) { filtered.add(elements[i]); } } return filtered.toArray(); } return elements; }
/** * Removes the element from the from whenever it appears as a child of the * specified parent element, at the specified position. * * @param parent * the parent of the element being removed * @param element * the element to remove * @param position * the position where the element is located */ public void remove(Object parent, Object element, int position) { if (treeViewer != null && viewer.getComparator() == null && viewer.getFilters().length == 0) { // Only TreeViewer has a remove-by-index method. treeViewer.remove(parent, position); } else { viewer.remove(parent, new Object[] { element }); } }