# HG changeset patch
# User Edouard Tisserant
# Date 1663753288 -7200
# Node ID 98ce26040117ebaf98b1a0279d1c0b2901dd3811
# Parent  da020d88db0c01c2fcf5911c8b949036d048f4b5
SVGHMI: do not discard out-of-page elements inside widgets that are ovelapping pages.

diff -r da020d88db0c -r 98ce26040117 svghmi/detachable_pages.ysl2
--- a/svghmi/detachable_pages.ysl2	Fri Sep 16 09:03:59 2022 +0200
+++ b/svghmi/detachable_pages.ysl2	Wed Sep 21 11:41:28 2022 +0200
@@ -68,7 +68,11 @@
     param "page";
     const "page_overlapping_geometry", "$overlapping_geometry/elt[@id = $page/@id]/*";
     const "page_overlapping_elements", "//svg:*[@id = $page_overlapping_geometry/@Id]";
-    const "page_sub_elements", "func:refered_elements($page | $page_overlapping_elements)";
+    const "page_widgets_elements", """
+        $hmi_elements[not(@id=$page/@id)
+                      and descendant-or-self::svg:*/@id = $page_overlapping_elements/@id]
+        /descendant-or-self::svg:*""";
+    const "page_sub_elements", "func:refered_elements($page | $page_overlapping_elements | $page_widgets_elements)";
     result "$page_sub_elements";
 }
 
@@ -214,6 +218,10 @@
     foreach "$detachable_elements"{
         |  «@id»
     }
+    | DISCARDABLES:
+    foreach "$discardable_elements"{
+        |  «@id»
+    }
     | In Foreach:
     foreach "$in_forEach_widget_ids"{
         |  «.»