|
@@ -5,6 +5,7 @@ import java.awt.Color;
|
|
|
import java.awt.Graphics;
|
|
|
import java.awt.Graphics2D;
|
|
|
import java.awt.Image;
|
|
|
+import java.awt.Point;
|
|
|
import java.awt.Rectangle;
|
|
|
import java.awt.RenderingHints;
|
|
|
import java.awt.event.ActionEvent;
|
|
@@ -67,7 +68,10 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
|
|
|
|
// PopUpMenu
|
|
|
private JPopupMenu popmenu = new JPopupMenu();
|
|
|
- private JMenuItem itemDelete = new JMenuItem("Delete Object");
|
|
|
+ private JMenuItem itemDelete = new JMenuItem("Delete");
|
|
|
+ private JMenuItem itemCut = new JMenuItem("Cut");
|
|
|
+ private JMenuItem itemCopy = new JMenuItem("Copy");
|
|
|
+ private JMenuItem itemPaste = new JMenuItem("Paste");
|
|
|
private JToolTip objectTT = new JToolTip();
|
|
|
|
|
|
// contains the value of the Capacity for new created Edges
|
|
@@ -81,18 +85,23 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
|
showedInformation[0] = true;
|
|
|
showedInformation[1] = false;
|
|
|
edgeCapacity = 10000;
|
|
|
+
|
|
|
+ popmenu.add(itemCut);
|
|
|
+ popmenu.add(itemCopy);
|
|
|
+ popmenu.add(itemPaste);
|
|
|
popmenu.add(itemDelete);
|
|
|
+
|
|
|
itemDelete.setEnabled(false);
|
|
|
+ itemCut.setEnabled(false);
|
|
|
+ itemCopy.setEnabled(false);
|
|
|
+ itemPaste.setEnabled(false);
|
|
|
+
|
|
|
itemDelete.addActionListener(new ActionListener() {
|
|
|
@Override
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
- // Remove the selected Object object
|
|
|
- if (model.getSelectedCpsObjects().size() <= 1) {
|
|
|
- controller.delCanvasObject(tempCps);
|
|
|
- } else {
|
|
|
- for (CpsObject cps : model.getSelectedCpsObjects()) {
|
|
|
- controller.delCanvasObject(cps);
|
|
|
- }
|
|
|
+ // Remove the selected Object objects
|
|
|
+ for (CpsObject cps : model.getSelectedCpsObjects()) {
|
|
|
+ controller.delCanvasObject(cps);
|
|
|
}
|
|
|
model.getSelectedCpsObjects().clear();
|
|
|
tempCps = null;
|
|
@@ -100,6 +109,32 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
|
repaint();
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ itemCut.addActionListener(new ActionListener() {
|
|
|
+ @Override
|
|
|
+ public void actionPerformed(ActionEvent e) {
|
|
|
+ controller.cutObjects();
|
|
|
+ itemPaste.setEnabled(true);
|
|
|
+ repaint();
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ itemCopy.addActionListener(new ActionListener() {
|
|
|
+ @Override
|
|
|
+ public void actionPerformed(ActionEvent e) {
|
|
|
+ controller.copyObjects();
|
|
|
+ itemPaste.setEnabled(true);
|
|
|
+ repaint();
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ itemPaste.addActionListener(new ActionListener() {
|
|
|
+ @Override
|
|
|
+ public void actionPerformed(ActionEvent e) {
|
|
|
+ controller.pasteObjects(new Point(10, 10));
|
|
|
+ repaint();
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
this.addMouseListener(this);
|
|
|
this.addMouseMotionListener(this);
|
|
@@ -355,7 +390,14 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
|
if (e.getButton() == MouseEvent.BUTTON3) {
|
|
|
if (e.getButton() == MouseEvent.BUTTON3 && tempCps != null) {
|
|
|
itemDelete.setEnabled(true);
|
|
|
+ itemCut.setEnabled(true);
|
|
|
+ itemCopy.setEnabled(true);
|
|
|
+ if (model.getSelectedCpsObjects().size() == 0) {
|
|
|
+ controller.addSelectedObject(tempCps);
|
|
|
+ }
|
|
|
} else {
|
|
|
+ itemCut.setEnabled(false);
|
|
|
+ itemCopy.setEnabled(false);
|
|
|
itemDelete.setEnabled(false);
|
|
|
}
|
|
|
popmenu.show(e.getComponent(), e.getX(), e.getY());
|