mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
added delete functionality
This commit is contained in:
+36
-31
@@ -218,37 +218,42 @@ public interface IPlugInPort {
|
||||
*/
|
||||
void addComponents(List<IDIYComponent<?>> components, Point preferredPoint);
|
||||
|
||||
// /**
|
||||
// * Checks if a certain layer is locked for editing.
|
||||
// *
|
||||
// * @param layer
|
||||
// * @return
|
||||
// */
|
||||
// boolean isLayerLocked(ComponentLayer layer);
|
||||
//
|
||||
// /**
|
||||
// * Changes layer's locked state.
|
||||
// *
|
||||
// * @param layer
|
||||
// * @param locked
|
||||
// */
|
||||
// void setLayerLocked(ComponentLayer layer, boolean locked);
|
||||
//
|
||||
// /**
|
||||
// * Checks if a certain layer is visible.
|
||||
// *
|
||||
// * @param layer
|
||||
// * @return
|
||||
// */
|
||||
// boolean isLayerVisible(ComponentLayer layer);
|
||||
//
|
||||
// /**
|
||||
// * Changes layer visibility.
|
||||
// *
|
||||
// * @param layer
|
||||
// * @param visible
|
||||
// */
|
||||
// void setLayerVisible(ComponentLayer layer, boolean visible);
|
||||
/**
|
||||
* Deletes all the selected components from the project.
|
||||
*/
|
||||
void deleteSelectedComponents();
|
||||
|
||||
// /**
|
||||
// * Checks if a certain layer is locked for editing.
|
||||
// *
|
||||
// * @param layer
|
||||
// * @return
|
||||
// */
|
||||
// boolean isLayerLocked(ComponentLayer layer);
|
||||
//
|
||||
// /**
|
||||
// * Changes layer's locked state.
|
||||
// *
|
||||
// * @param layer
|
||||
// * @param locked
|
||||
// */
|
||||
// void setLayerLocked(ComponentLayer layer, boolean locked);
|
||||
//
|
||||
// /**
|
||||
// * Checks if a certain layer is visible.
|
||||
// *
|
||||
// * @param layer
|
||||
// * @return
|
||||
// */
|
||||
// boolean isLayerVisible(ComponentLayer layer);
|
||||
//
|
||||
// /**
|
||||
// * Changes layer visibility.
|
||||
// *
|
||||
// * @param layer
|
||||
// * @param visible
|
||||
// */
|
||||
// void setLayerVisible(ComponentLayer layer, boolean visible);
|
||||
|
||||
/**
|
||||
* Sets default value for the specified property name for currently selected
|
||||
|
||||
+5
-2
@@ -163,8 +163,11 @@ class CanvasPanel extends JComponent implements Autoscroll {
|
||||
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
plugInPort.mouseMoved(getMousePosition(), e.isControlDown(), e.isShiftDown(), e
|
||||
.isAltDown());
|
||||
if (e.getKeyCode() == KeyEvent.VK_DELETE) {
|
||||
plugInPort.deleteSelectedComponents();
|
||||
}
|
||||
// plugInPort.mouseMoved(getMousePosition(), e.isControlDown(), e.isShiftDown(), e
|
||||
// .isAltDown());
|
||||
}
|
||||
});
|
||||
addMouseMotionListener(new MouseAdapter() {
|
||||
|
||||
+11
@@ -5,6 +5,8 @@ import java.awt.dnd.DnDConstants;
|
||||
import java.awt.dnd.DragSource;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
import javax.swing.JButton;
|
||||
|
||||
@@ -51,6 +53,15 @@ class ComponentButton extends JButton {
|
||||
// }
|
||||
}
|
||||
});
|
||||
addKeyListener(new KeyAdapter() {
|
||||
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (e.getKeyCode() == KeyEvent.VK_DELETE) {
|
||||
plugInPort.deleteSelectedComponents();
|
||||
}
|
||||
}
|
||||
});
|
||||
// addKeyListener(new KeyAdapter() {
|
||||
//
|
||||
// @Override
|
||||
|
||||
+2
@@ -8,6 +8,8 @@ import java.awt.Insets;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
+10
@@ -604,6 +604,16 @@ public class Presenter implements IPlugInPort {
|
||||
.deepClone(currentProject), "Add");
|
||||
messageDispatcher.dispatchMessage(EventType.REPAINT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteSelectedComponents() {
|
||||
LOG.debug("deleteSelectedComponents()");
|
||||
Project oldProject = cloner.deepClone(currentProject);
|
||||
currentProject.getComponents().removeAll(selectedComponents);
|
||||
messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, cloner
|
||||
.deepClone(currentProject), "Delete");
|
||||
messageDispatcher.dispatchMessage(EventType.REPAINT);
|
||||
}
|
||||
|
||||
// public boolean isLayerLocked(ComponentLayer layer) {
|
||||
// return lockedLayers.contains(layer);
|
||||
|
||||
Reference in New Issue
Block a user