svghmi/widgets_common.ysl2
branchsvghmi
changeset 3162 fbe1ffaa56cf
parent 3152 c80a5a7198ea
child 3232 7bdb766c2a4d
equal deleted inserted replaced
3161:edd558965f58 3162:fbe1ffaa56cf
   345 }
   345 }
   346 ||
   346 ||
   347 
   347 
   348 const "included_ids","$parsed_widgets/widget[not(@type = $excluded_types) and not(@id = $discardable_elements/@id)]/@id";
   348 const "included_ids","$parsed_widgets/widget[not(@type = $excluded_types) and not(@id = $discardable_elements/@id)]/@id";
   349 const "hmi_widgets","$hmi_elements[@id = $included_ids]";
   349 const "hmi_widgets","$hmi_elements[@id = $included_ids]";
       
   350 const "result_widgets","$result_svg_ns//*[@id = $hmi_widgets/@id]";
   350 
   351 
   351 emit "declarations:hmi-elements" {
   352 emit "declarations:hmi-elements" {
   352     | var hmi_widgets = {
   353     | var hmi_widgets = {
   353     apply "$hmi_widgets", mode="hmi_widgets";
   354     apply "$hmi_widgets", mode="hmi_widgets";
   354     | }
   355     | }
   360     param "subelements","/..";
   361     param "subelements","/..";
   361     param "hmi_element";
   362     param "hmi_element";
   362     const "widget_type","@type";
   363     const "widget_type","@type";
   363     foreach "str:split($labels)" {
   364     foreach "str:split($labels)" {
   364         const "name",".";
   365         const "name",".";
   365         const "elt","$result_svg_ns//*[@id = $hmi_element/@id]//*[@inkscape:label=$name][1]";
   366         const "elt","$result_widgets[@id = $hmi_element/@id]//*[@inkscape:label=$name][1]";
   366         choose {
   367         choose {
   367             when "not($elt/@id)" {
   368             when "not($elt/@id)" {
   368                 if "$mandatory='yes'" {
   369                 if "$mandatory='yes'" {
   369                     error > «$widget_type» widget must have a «$name» element
   370                     error > «$widget_type» widget must have a «$name» element
   370                 }
   371                 }