svghmi/detachable_pages.ysl2
branchsvghmi
changeset 3117 f058542d0caa
parent 3107 ee0704cc6dc8
child 3121 8094494113b6
equal deleted inserted replaced
3116:6da94ec04325 3117:f058542d0caa
    10 const "default_page" choose {
    10 const "default_page" choose {
    11     when "count($hmi_pages) > 1" {
    11     when "count($hmi_pages) > 1" {
    12         choose {
    12         choose {
    13             when "$hmi_pages_descs/arg[1]/@value = 'Home'" > Home
    13             when "$hmi_pages_descs/arg[1]/@value = 'Home'" > Home
    14             otherwise {
    14             otherwise {
    15                 error "No Home page defined!";
    15                 error > No Home page defined!
    16             }
    16             }
    17         }
    17         }
    18     }
    18     }
    19     when "count($hmi_pages) = 0" {
    19     when "count($hmi_pages) = 0" {
    20         error "No page defined!";
    20         error > No page defined!
    21     }
    21     }
    22     otherwise > «func:widget($hmi_pages/@id)/arg[1]/@value»
    22     otherwise > «func:widget($hmi_pages/@id)/arg[1]/@value»
    23 }
    23 }
    24 
    24 
    25 emit "preamble:default-page" {
    25 emit "preamble:default-page" {
   111 const "forEach_widgets_ids", "$parsed_widgets/widget[@type = 'ForEach']/@id";
   111 const "forEach_widgets_ids", "$parsed_widgets/widget[@type = 'ForEach']/@id";
   112 const "forEach_widgets", "$hmi_elements[@id = $forEach_widgets_ids]";
   112 const "forEach_widgets", "$hmi_elements[@id = $forEach_widgets_ids]";
   113 const "in_forEach_widget_ids", "func:refered_elements($forEach_widgets)[not(@id = $forEach_widgets_ids)]/@id";
   113 const "in_forEach_widget_ids", "func:refered_elements($forEach_widgets)[not(@id = $forEach_widgets_ids)]/@id";
   114 
   114 
   115 template "svg:*", mode="page_desc" {
   115 template "svg:*", mode="page_desc" {
       
   116     if "ancestor::*[@id = $hmi_pages/@id]" error > HMI:Page «@id» is nested in another HMI:Page
       
   117 
   116     const "desc", "func:widget(@id)";
   118     const "desc", "func:widget(@id)";
   117     const "page", ".";
   119     const "page", ".";
   118     const "p", "$geometry[@Id = $page/@id]";
   120     const "p", "$geometry[@Id = $page/@id]";
   119 
   121 
   120     const "page_all_elements", "func:all_related_elements($page)";
   122     const "page_all_elements", "func:all_related_elements($page)";