@SuppressWarnings("unchecked") public void pickAttributes() { DrawingEditor editor = getEditor(); Collection<Figure> selection = getView().getSelectedFigures(); if (selection.size() > 0) { Figure figure = (Figure) selection.iterator().next(); for (Map.Entry<AttributeKey, Object> entry : figure.getAttributes().entrySet()) { if (!excludedAttributes.contains(entry.getKey())) { editor.setDefaultAttribute(entry.getKey(), entry.getValue()); } } } }
@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); } }
for (Map.Entry<AttributeKey, Object> entry : figures.iterator().next().getAttributes().entrySet()) { group.set(entry.getKey(), entry.getValue());