@SuppressWarnings("unchecked") @Override public void groupFigures(DrawingView view, CompositeFigure group, Collection<Figure> figures) { Collection<Figure> sorted = view.getDrawing().sort(figures); view.getDrawing().basicRemoveAll(figures); view.clearSelection(); view.getDrawing().add(group); group.willChange(); ((ODGPathFigure) group).removeAllChildren(); for (Map.Entry<AttributeKey, Object> entry : figures.iterator().next().getAttributes().entrySet()) { group.set(entry.getKey(), entry.getValue()); } for (Figure f : sorted) { ODGPathFigure path = (ODGPathFigure) f; for (Figure child : path.getChildren()) { group.basicAdd(child); } } group.changed(); view.addToSelection(group); } }
@Override @SuppressWarnings("unchecked") public void groupFigures(DrawingView view, CompositeFigure group, Collection<Figure> figures) { Collection<Figure> sorted = view.getDrawing().sort(figures); view.getDrawing().basicRemoveAll(figures); view.clearSelection(); view.getDrawing().add(group); group.willChange(); ((ODGPathFigure) group).removeAllChildren(); for (Map.Entry<AttributeKey, Object> entry : figures.iterator().next().getAttributes().entrySet()) { group.set(entry.getKey(), entry.getValue()); } for (Figure f : sorted) { ODGPathFigure path = (ODGPathFigure) f; // XXX - We must fire an UndoableEdito for the flattenTransform! path.flattenTransform(); for (Figure child : path.getChildren()) { group.basicAdd(child); } } group.changed(); view.addToSelection(group); } }
@SuppressWarnings("unchecked") public void combinePaths(DrawingView view, CompositeFigure group, Collection<Figure> figures, int groupIndex) { view.getDrawing().basicRemoveAll(figures); view.clearSelection(); view.getDrawing().add(groupIndex, group);
public void groupFigures(DrawingView view, CompositeFigure group, Collection<Figure> figures) { Collection<Figure> sorted = view.getDrawing().sort(figures); int index = view.getDrawing().indexOf(sorted.iterator().next()); view.getDrawing().basicRemoveAll(figures); view.clearSelection(); view.getDrawing().add(index, group); group.willChange(); for (Figure f : sorted) { f.willChange(); group.basicAdd(f); } group.changed(); view.addToSelection(group); } }