diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java index f04a3105..f3ad1920 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java @@ -218,37 +218,42 @@ public interface IPlugInPort { */ void addComponents(List> 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 diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/canvas/CanvasPanel.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/canvas/CanvasPanel.java index 158bb862..1bb2a2ec 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/canvas/CanvasPanel.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/canvas/CanvasPanel.java @@ -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() { diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentButton.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentButton.java index cb58c891..2b0ccada 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentButton.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentButton.java @@ -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 diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentTabbedPane.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentTabbedPane.java index a4271bfc..d50838d3 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentTabbedPane.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentTabbedPane.java @@ -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; diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java index 8c5b9cfe..ca8e2c67 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java @@ -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);