Pārlūkot izejas kodu

Merge branch 'BP_master' of git@git.tk.informatik.tu-darmstadt.de:carlos.garcia/praktikum-holons.git into BP_master

Andreas T. Meyer-Berg 7 gadi atpakaļ
vecāks
revīzija
423ac65178

+ 2 - 6
license.md

@@ -1,4 +1,4 @@
-# Copyright (c) 2017 <copyright holders>
+# Copyright (c) 2017 Carlos Garcia Cordero, Rolf Egert
 	
 	
 	Permission is hereby granted, free of charge, to any person obtaining a copy of this 
 	Permission is hereby granted, free of charge, to any person obtaining a copy of this 
 	software and associated documentation files (the "Software"), to deal in the Software 
 	software and associated documentation files (the "Software"), to deal in the Software 
@@ -13,8 +13,4 @@
 	PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 
 	PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 
 	FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
 	FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
 	OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 	OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
-	DEALINGS IN THE SOFTWARE.
-	
-	Except as contained in this notice, the name of the <copyright holders> shall not be used in 
-	advertising or otherwise to promote the sale, use or other dealings in this Software without
-	prior written authorization from the <copyright holders>.
+	DEALINGS IN THE SOFTWARE.

+ 9 - 9
res/Texts/DE.lang

@@ -108,12 +108,12 @@ Zeitschieber
 # Image Size Slider (94)
 # Image Size Slider (94)
 Bildgröße
 Bildgröße
 #Menu - right click on HolonObjt (95-102)
 #Menu - right click on HolonObjt (95-102)
-Cut
-Copy
-Paste
-Delete
-Group
-Ungroup
-Track
-Untrack
-Categories
+Ausschneiden
+Kopieren
+Einfügen
+Löschen
+Gruppieren
+Degruppieren
+Verfolgen
+NichtVerfolgen
+Kategorien

+ 15 - 4
src/ui/view/AbstractCanvas.java

@@ -8,6 +8,7 @@ import ui.model.Model;
 import javax.swing.*;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.*;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseEvent;
+import java.awt.geom.Line2D;
 import java.io.File;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.TimerTask;
 import java.util.TimerTask;
@@ -261,7 +262,9 @@ public abstract class AbstractCanvas extends JPanel {
 
 
     void setRightClickMenu(MouseEvent e) {
     void setRightClickMenu(MouseEvent e) {
         if (e.getButton() == MouseEvent.BUTTON3) {
         if (e.getButton() == MouseEvent.BUTTON3) {
+        	itemPaste.setEnabled(true);
             if (tempCps != null) {
             if (tempCps != null) {
+            	itemPaste.setEnabled(true);
                 itemDelete.setEnabled(true);
                 itemDelete.setEnabled(true);
                 itemCut.setEnabled(true);
                 itemCut.setEnabled(true);
                 itemCopy.setEnabled(true);
                 itemCopy.setEnabled(true);
@@ -277,21 +280,29 @@ public abstract class AbstractCanvas extends JPanel {
                 if (model.getSelectedCpsObjects().size() == 0) {
                 if (model.getSelectedCpsObjects().size() == 0) {
                     controller.addSelectedObject(tempCps);
                     controller.addSelectedObject(tempCps);
                 }
                 }
-            } else {
+            }else{
                 itemCut.setEnabled(false);
                 itemCut.setEnabled(false);
                 itemCopy.setEnabled(false);
                 itemCopy.setEnabled(false);
-                itemDelete.setEnabled(false);
                 itemGroup.setEnabled(false);
                 itemGroup.setEnabled(false);
                 itemUngroup.setEnabled(false);
                 itemUngroup.setEnabled(false);
                 itemTrack.setEnabled(false);
                 itemTrack.setEnabled(false);
                 itemUntrack.setEnabled(false);
                 itemUntrack.setEnabled(false);
+        		if(edgeHighlight != null)
+        		{
+                    itemDelete.setEnabled(true);
+                    itemPaste.setEnabled(false);
+        		}
+        		else
+        		{
+        			itemDelete.setEnabled(false);
+                    itemPaste.setEnabled(true);
+        		}
             }
             }
             mousePosition = this.getMousePosition();
             mousePosition = this.getMousePosition();
             popmenu.show(e.getComponent(), e.getX(), e.getY());
             popmenu.show(e.getComponent(), e.getX(), e.getY());
         }
         }
     }
     }
-
-
+    
     void markObjects() {
     void markObjects() {
         if (doMark) {
         if (doMark) {
             doMark = false;
             doMark = false;

+ 5 - 0
src/ui/view/GUI.java

@@ -424,6 +424,11 @@ public class GUI implements CategoryListener {
                     // or Canvas?
                     // or Canvas?
                 } else if (canvasOrUpperNodeCanvas instanceof MyCanvas) {
                 } else if (canvasOrUpperNodeCanvas instanceof MyCanvas) {
                     boolean save = false;
                     boolean save = false;
+                    CpsEdge edgeHighlight= model.getSelectedEdge();
+                    if(edgeHighlight != null){
+                    	controller.removeEdgesOnCanvas(edgeHighlight);
+                    	((MyCanvas) canvasOrUpperNodeCanvas).edgeHighlight = null;
+                    }
                     for (int j = 0; j < model.getSelectedCpsObjects().size(); j++) {
                     for (int j = 0; j < model.getSelectedCpsObjects().size(); j++) {
                         AbstractCpsObject cps = model.getSelectedCpsObjects().get(j);
                         AbstractCpsObject cps = model.getSelectedCpsObjects().get(j);
 
 

+ 7 - 0
src/ui/view/MyCanvas.java

@@ -227,6 +227,11 @@ public class MyCanvas extends AbstractCanvas implements MouseListener, MouseMoti
 
 
         itemDelete.addActionListener(actionEvent -> {
         itemDelete.addActionListener(actionEvent -> {
             // Remove the selected Object objects
             // Remove the selected Object objects
+        	if(tempCps == null && edgeHighlight != null)
+        	{
+        		controller.removeEdgesOnCanvas(edgeHighlight);
+        		edgeHighlight = null;
+        	}
             boolean save = false;
             boolean save = false;
             for (int j = 0; j < model.getSelectedCpsObjects().size(); j++) {
             for (int j = 0; j < model.getSelectedCpsObjects().size(); j++) {
                 AbstractCpsObject cps = model.getSelectedCpsObjects().get(j);
                 AbstractCpsObject cps = model.getSelectedCpsObjects().get(j);
@@ -517,6 +522,7 @@ public class MyCanvas extends AbstractCanvas implements MouseListener, MouseMoti
             try {
             try {
                 controller.autoSave();
                 controller.autoSave();
             } catch (IOException ex) {
             } catch (IOException ex) {
+            	System.err.println("AutoSave error by dragging");
                 ex.printStackTrace();
                 ex.printStackTrace();
             }
             }
         }
         }
@@ -773,6 +779,7 @@ public class MyCanvas extends AbstractCanvas implements MouseListener, MouseMoti
         }
         }
         return null;
         return null;
     }
     }
+    
 
 
     void updateLanguages() {
     void updateLanguages() {
         itemCut.setText(Languages.getLanguage()[95]);
         itemCut.setText(Languages.getLanguage()[95]);