<?xml version='1.0' encoding='UTF-8'?>
<macro name="boelgefront" version="1.0">
  <resume language="lua">
    out = ''
    if ( getValue('boelgefront.mangler.odxt') == '' or getValue('boelgefront.mangler.osin') == '' )
    then

    if ( getValue('boelgefront.mangler.odxt') == '' )
    then
      out = out .. 'Bølgefront o.dxt: ' .. getValue('boelgefront.odxt') .. '\n'
      if ( getValue('boelgefront.odxt') == 'Udført' )
      then
        out = out .. 'Aberration: ' .. getValue('boelgefront.aberration.odxt') .. ' my HOA\n'
        out = out .. 'Pupilstørrelse: ' .. getValue('boelgefront.pupilstoerrelse.odxt') .. ' mm\n'
      end
      if ( getValue('boelgefront.mangler.osin') == '' )
      then
        out = out .. '\n'
      end
    end

    if ( getValue('boelgefront.mangler.osin') == '' )
    then
      out = out .. 'Bølgefront o.sin: ' .. getValue('boelgefront.osin') .. '\n'
      if ( getValue('boelgefront.osin') == 'Udført' )
      then
        out = out .. 'Aberration: ' .. getValue('boelgefront.aberration.osin') .. ' my HOA\n'
        out = out .. 'Pupilstørrelse: ' .. getValue('boelgefront.pupilstoerrelse.osin') .. ' mm\n'
      end
    end

    end
    return out
  </resume>
  <queries>
  </queries>
  <maps>
  </maps>
  <scripts>
    <script language="lua" name="extras_check.odxt">
      if ( getValue('boelgefront.odxt') == 'Udført' )
      then
        enable('extras.odxt')
      else
        disable('extras.odxt')
      end
      return true
    </script>
    <script language="lua" name="extras_check.osin">
      if ( getValue('boelgefront.osin') == 'Udført' )
      then
        enable('extras.osin')
      else
        disable('extras.osin')
      end
      return true
    </script>
    <script language="lua" name="gt0.1lt0.5">
      if(value == '')
      then
        return false
      end
      
      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 0.1 and tonumber(value) &lt;= 0.5)
      then
        return true
      else
        return false
      end
    </script>
    <script language="lua" name="gt2lt9">
      if(value == '')
      then
        return false
      end

      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 2 and tonumber(value) &lt;= 9)
      then
        return true
      else
        return false
      end
    </script>
    <script language="lua" name="right_eye">
      if ( value == 'mangler' )
      then
        disable('right_eye_frame')
      else
        enable('right_eye_frame')
      end
      return true
    </script>
    <script language="lua" name="left_eye">
      if ( value == 'mangler' )
      then
        disable('left_eye_frame')
      else
        enable('left_eye_frame')
      end
      return true
    </script>
  </scripts>
  <widgets caption="Bølgefront" layout="vbox">
    <frame layout="hbox">

      <!-- o.dxt -->
      <frame layout="vbox">
	<checkbox caption="Der er ikke målt på o.dxt"
		  name="boelgefront.mangler.odxt" script="left_eye"
		  map="missing_eye_odxt_map"
		  truevalue="mangler" falsevalue="" value=""/>
	<frame name="left_eye_frame" caption="o.dxt" layout="vbox">
	  <altcombobox name="boelgefront.odxt" value="Ikke udført" layout="vbox" script="extras_check.odxt">
	    <item caption="Udført" value="Udført"/>
	    <item caption="Ikke udført" value="Ikke udført"/>
	    <altitem caption="Andet" value="andet" innerwidget="boelgefront.andet.odxt">
	      <frame layout="hbox">
		<label caption="Andet:"/>
		<lineedit name="boelgefront.andet.odxt"/>
	      </frame>
	    </altitem>
	  </altcombobox>
	  <frame name="extras.odxt" layout="hbox">
	    <frame layout="vbox">
	      <label caption="Aberration:"/>
	      <label caption="Pupilstørrelse:"/>
	    </frame>
	    <frame layout="vbox">
	      <lineedit name="boelgefront.aberration.odxt" script="gt0.1lt0.5" regexp="\d{1,2},\d{2}"/>
	      <lineedit name="boelgefront.pupilstoerrelse.odxt" script="gt2lt9" regexp="\d{1,2},\d{1}"/>
	    </frame>
	    <frame layout="vbox">
	      <label caption="my HOA"/>
	      <label caption="mm"/>
	    </frame>
	    <spacer/>
	  </frame>
	</frame>
      </frame>

      <!-- o.sin -->
      <frame layout="vbox">
	<checkbox caption="Der er ikke målt på o.sin"
		  name="boelgefront.mangler.osin" script="right_eye"
		  map="missing_eye_odxt_map"
		  truevalue="mangler" falsevalue="" value=""/>
	<frame name="right_eye_frame" caption="o.sin" layout="vbox">
	  <altcombobox name="boelgefront.osin" value="Ikke udført" layout="vbox" script="extras_check.osin">
	    <item caption="Udført" value="Udført"/>
	    <item caption="Ikke udført" value="Ikke udført"/>
	    <altitem caption="Andet" value="andet" innerwidget="boelgefront.andet.osin">
	      <frame layout="hbox">
		<label caption="Andet:"/>
		<lineedit name="boelgefront.andet.osin"/>
	      </frame>
	    </altitem>
	  </altcombobox>
	  <frame name="extras.osin" layout="hbox">
	    <frame layout="vbox">
	      <label caption="Aberration:"/>
	      <label caption="Pupilstørrelse:"/>
	    </frame>
	    <frame layout="vbox">
	      <lineedit name="boelgefront.aberration.osin" script="gt0.1lt0.5" regexp="\d{1,2},\d{2}"/>
	      <lineedit name="boelgefront.pupilstoerrelse.osin" script="gt2lt9" regexp="\d{1,2},\d{1}"/>
	    </frame>
	    <frame layout="vbox">
	      <label caption="my HOA"/>
	      <label caption="mm"/>
	    </frame>
	    <spacer/>
	  </frame>
	</frame>
      </frame>
    </frame>

    <frame layout="hbox">
      <spacer/>
      <button caption="Gem" action="commit"/>
    </frame>

  </widgets>
</macro>