From 29fbd70a26af635cf048e2c0d730b762bc83b414 Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Fri, 8 Feb 2019 15:38:28 +0100
Subject: [PATCH] Resolving issue to add countermesure to blocks in ATd and
 FTD. Issue 179

---
 src/main/java/ui/atd/ATDBlock.java          | 8 ++++++++
 src/main/java/ui/atd/ATDCountermeasure.java | 6 ++++++
 src/main/java/ui/ftd/FTDBlock.java          | 8 ++++++++
 src/main/java/ui/ftd/FTDCountermeasure.java | 6 ++++++
 4 files changed, 28 insertions(+)

diff --git a/src/main/java/ui/atd/ATDBlock.java b/src/main/java/ui/atd/ATDBlock.java
index 349b1408c2..5f0365b3a7 100644
--- a/src/main/java/ui/atd/ATDBlock.java
+++ b/src/main/java/ui/atd/ATDBlock.java
@@ -294,6 +294,14 @@ public class ATDBlock extends TGCScalableWithInternalComponent implements Swallo
             return true;
         }
 
+        if (tgc instanceof ATDCountermeasure) {
+            tgc.setFather(this);
+            tgc.setDrawingZone(true);
+            tgc.resizeWithFather();
+            addInternalComponent(tgc, 0);
+            return true;
+        }
+
         return false;
     }
 
diff --git a/src/main/java/ui/atd/ATDCountermeasure.java b/src/main/java/ui/atd/ATDCountermeasure.java
index 5a55c78baa..42cb90b101 100644
--- a/src/main/java/ui/atd/ATDCountermeasure.java
+++ b/src/main/java/ui/atd/ATDCountermeasure.java
@@ -389,4 +389,10 @@ public class ATDCountermeasure extends TGCScalableWithInternalComponent implemen
         return new String(sb);
     }
 
+    public void wasUnswallowed() {
+        setFather(null);
+        TDiagramPanel tdp = getTDiagramPanel();
+        setCdRectangle(tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY());
+    }
+
 }
diff --git a/src/main/java/ui/ftd/FTDBlock.java b/src/main/java/ui/ftd/FTDBlock.java
index 50a4bb8fff..db749aacee 100644
--- a/src/main/java/ui/ftd/FTDBlock.java
+++ b/src/main/java/ui/ftd/FTDBlock.java
@@ -294,6 +294,14 @@ public class FTDBlock extends TGCScalableWithInternalComponent implements Swallo
             return true;
         }
 
+        if (tgc instanceof FTDCountermeasure) {
+            tgc.setFather(this);
+            tgc.setDrawingZone(true);
+            tgc.resizeWithFather();
+            addInternalComponent(tgc, 0);
+            return true;
+        }
+
         return false;
     }
 
diff --git a/src/main/java/ui/ftd/FTDCountermeasure.java b/src/main/java/ui/ftd/FTDCountermeasure.java
index c97b3b9f2e..8bee69defc 100644
--- a/src/main/java/ui/ftd/FTDCountermeasure.java
+++ b/src/main/java/ui/ftd/FTDCountermeasure.java
@@ -375,6 +375,12 @@ public class FTDCountermeasure extends TGCScalableWithInternalComponent implemen
         makeValue();
     }
 
+    public void wasUnswallowed() {
+        setFather(null);
+        TDiagramPanel tdp = getTDiagramPanel();
+        setCdRectangle(tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY());
+    }
+
     protected String translateExtraParam() {
         StringBuffer sb = new StringBuffer("<extraparam>\n");
 
-- 
GitLab