private void performElementRearrange(int eventDetail) { // only move if target isn't the other working set. If this is the case // the move will happenn automatically by refreshing the other working set if (!isOthersWorkingSet(fWorkingSet)) { List<Object> elements= new ArrayList<Object>(Arrays.asList(fWorkingSet.getElements())); elements.addAll(Arrays.asList(fElementsToAdds)); fWorkingSet.setElements(elements.toArray(new IAdaptable[elements.size()])); } if (eventDetail == DND.DROP_MOVE) { ITreeSelection treeSelection= (ITreeSelection)fSelection; Map<IWorkingSet, List<Object>> workingSets= groupByWorkingSets(treeSelection.getPaths()); for (Iterator<IWorkingSet> iter= workingSets.keySet().iterator(); iter.hasNext();) { IWorkingSet ws= iter.next(); List<Object> toRemove= workingSets.get(ws); List<IAdaptable> currentElements= new ArrayList<>(Arrays.asList(ws.getElements())); currentElements.removeAll(toRemove); ws.setElements(currentElements.toArray(new IAdaptable[currentElements.size()])); } } }
private void performElementRearrange(int eventDetail) { // only move if target isn't the other working set. If this is the case // the move will happenn automatically by refreshing the other working set if (!isOthersWorkingSet(fWorkingSet)) { List elements= new ArrayList(Arrays.asList(fWorkingSet.getElements())); elements.addAll(Arrays.asList(fElementsToAdds)); fWorkingSet.setElements((IAdaptable[])elements.toArray(new IAdaptable[elements.size()])); } if (eventDetail == DND.DROP_MOVE) { ITreeSelection treeSelection= (ITreeSelection)fSelection; Map workingSets= groupByWorkingSets(treeSelection.getPaths()); for (Iterator iter= workingSets.keySet().iterator(); iter.hasNext();) { IWorkingSet ws= (IWorkingSet)iter.next(); List toRemove= (List)workingSets.get(ws); List currentElements= new ArrayList(Arrays.asList(ws.getElements())); currentElements.removeAll(toRemove); ws.setElements((IAdaptable[])currentElements.toArray(new IAdaptable[currentElements.size()])); } } }
private void performElementRearrange(int eventDetail) { // only move if target isn't the other working set. If this is the case // the move will happenn automatically by refreshing the other working set if (!isOthersWorkingSet(fWorkingSet)) { List<Object> elements= new ArrayList<>(Arrays.asList(fWorkingSet.getElements())); elements.addAll(Arrays.asList(fElementsToAdds)); fWorkingSet.setElements(elements.toArray(new IAdaptable[elements.size()])); } if (eventDetail == DND.DROP_MOVE) { ITreeSelection treeSelection= (ITreeSelection)fSelection; Map<IWorkingSet, List<Object>> workingSets= groupByWorkingSets(treeSelection.getPaths()); for (Iterator<IWorkingSet> iter= workingSets.keySet().iterator(); iter.hasNext();) { IWorkingSet ws= iter.next(); List<Object> toRemove= workingSets.get(ws); List<IAdaptable> currentElements= new ArrayList<>(Arrays.asList(ws.getElements())); currentElements.removeAll(toRemove); ws.setElements(currentElements.toArray(new IAdaptable[currentElements.size()])); } } }