added delete functionality

This commit is contained in:
bancika
2011-01-10 22:38:50 +00:00
parent e249667bbd
commit d141b9c477
5 changed files with 64 additions and 33 deletions
@@ -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
@@ -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() {
@@ -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
@@ -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;
@@ -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);