use of com.willwinder.ugs.nbp.designer.entities.Entity in project Universal-G-Code-Sender by winder.
the class TraceImageAction method actionPerformed.
@Override
public void actionPerformed(ActionEvent e) {
ImageTracerDialog dialog = new ImageTracerDialog();
ThreadHelper.invokeLater(() -> {
List<Entity> entities = dialog.showDialog();
if (entities != null && !entities.isEmpty()) {
AddAction addAction = new AddAction(controller, entities);
addAction.actionPerformed(e);
controller.getSelectionManager().addSelection(entities);
controller.getDrawing().repaint();
controller.setTool(Tool.SELECT);
}
});
}
use of com.willwinder.ugs.nbp.designer.entities.Entity in project Universal-G-Code-Sender by winder.
the class PasteAction method actionPerformed.
@Override
public void actionPerformed(ActionEvent e) {
Transferable contents = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
try {
String data = (String) contents.getTransferData(DataFlavor.stringFlavor);
UgsDesignReader reader = new UgsDesignReader();
List<Entity> entities = reader.deserialize(data);
controller.getDrawing().insertEntities(entities);
controller.getSelectionManager().clearSelection();
controller.getSelectionManager().setSelection(entities);
} catch (UnsupportedFlavorException | JsonSyntaxException | IOException ex) {
LOGGER.log(Level.INFO, "Unknown paste buffer data format, ignoring");
}
}
use of com.willwinder.ugs.nbp.designer.entities.Entity in project Universal-G-Code-Sender by winder.
the class DeleteAction method actionPerformed.
@Override
public void actionPerformed(ActionEvent e) {
SelectionManager selectionManager = controller.getSelectionManager();
List<Entity> selection = selectionManager.getChildren();
if (!selection.isEmpty()) {
UndoableDeleteAction undoableAction = new UndoableDeleteAction(controller.getDrawing(), selection);
controller.getUndoManager().addAction(undoableAction);
undoableAction.execute();
}
selectionManager.clearSelection();
}
use of com.willwinder.ugs.nbp.designer.entities.Entity in project Universal-G-Code-Sender by winder.
the class FlipHorizontallyAction method actionPerformed.
@Override
public void actionPerformed(ActionEvent e) {
SelectionManager selectionManager = controller.getSelectionManager();
if (!selectionManager.getSelection().isEmpty()) {
List<Entity> entities = selectionManager.getSelection();
EntityGroup entityGroup = new EntityGroup();
entityGroup.addAll(entities);
UndoableFlipHorizontallyAction undoableAction = new UndoableFlipHorizontallyAction(controller.getDrawing(), entityGroup);
controller.getUndoManager().addAction(undoableAction);
undoableAction.execute();
}
}
use of com.willwinder.ugs.nbp.designer.entities.Entity in project Universal-G-Code-Sender by winder.
the class BreakApartAction method onSelectionEvent.
@Override
public void onSelectionEvent(SelectionEvent selectionEvent) {
SelectionManager selectionManager = controller.getSelectionManager();
boolean isSingleEntity = selectionManager.getSelection().size() == 1;
if (!isSingleEntity) {
setEnabled(false);
return;
}
boolean isCompoundPath = false;
Entity entity = selectionManager.getSelection().get(0);
if (entity instanceof Path) {
isCompoundPath = ((Path) entity).isCompoundPath();
}
setEnabled(isCompoundPath);
}
Aggregations