<?xml version='1.0' encoding='UTF-8'?>
<!--
    20081203: Bent Bisballe Nyeng
    Feltnavnene ændret så de giver mening.
  -->
<!--
    20090108: Bent Bisballe Nyeng
    Højre/venstre byttet om.
  -->
<!--
    20090402: Bent Bisballe Nyeng
    'missing eye' tilføjet.
  -->
<macro name="oejentryk" version="1.0">
  <resume language="lua">
    out = ''

    if ( getValue('tonometer.right.missing') == '' or getValue('tonometer.left.missing') == '' )
    then
      out = out .. 'Øjentryk:\n'
    end

    if ( getValue('tonometer.right.missing') == '' )
    then
      out = out .. 'Højre øje: ' .. getValue('tonometer.pressure.right') .. ' mmHg\n'
    end

    if ( getValue('tonometer.left.missing') == '' )
    then
      out = out .. 'Venstre øje: ' .. getValue('tonometer.pressure.right') .. ' mmHg\n'
    end

    if ( getValue('tonometer.right.missing') == '' or getValue('tonometer.left.missing') == '' )
    then
      out = out .. getValue('tonometer.device') .. '.\n'
    end

    return out
  </resume>
  <queries>
    <query service="pracro" class="missing_eye_right" ttl="1000000"/>
    <query service="pracro" class="missing_eye_left" ttl="1000000"/>
  </queries>
  <maps>
    <map name="missing_eye_right_map">
      value = 0
      timestamp = 0
      source = ''

      if( missing_eye_right )
      then
        if( missing_eye_right.value and missing_eye_right.value == '' )
        then
          value = ''
          timestamp = missing_eye_right.timestamp
          source = missing_eye_right.source
        else
          value = 'mangler'
          timestamp = missing_eye_right.timestamp
          source = missing_eye_right.source
        end
      end
      return value, timestamp, source
    </map>
    <map name="missing_eye_left_map">
      value = 0
      timestamp = 0
      source = ''
      
      if( missing_eye_left )
      then
        if( missing_eye_left.value and missing_eye_left.value == '' )
        then
          value = ''
          timestamp = missing_eye_left.timestamp
          source = missing_eye_left.source
        else
          value = 'mangler'
          timestamp = missing_eye_left.timestamp
          source = missing_eye_left.source
        end
      end
      return value, timestamp, source
    </map>
  </maps>
  <scripts>
    <script language="lua" name="lt80gt0">
      if(value == '')
      then
        return false
      end

      value = string.gsub(value, ',', '.')
      if(tonumber(value) &gt;= 0 and tonumber(value) &lt;= 80)
      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

      if( getValue('tonometer.right.missing') == 'mangler' and getValue('tonometer.left.missing') == 'mangler' )
      then
        disable('device_frame')
      else
        enable('device_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

      if( getValue('tonometer.right.missing') == 'mangler' and getValue('tonometer.left.missing') == 'mangler' )
      then
        disable('device_frame')
      else
        enable('device_frame')
      end

      return true
    </script>
  </scripts>
  <widgets caption="Øjentryk (B.2.2.5)"
          layout="vbox">

    <frame layout="hbox">
    
      <!-- Højre øje -->
      <frame layout="vbox">
	<checkbox caption="Der er ikke målt på højre øje"
		  name="tonometer.right.missing" script="right_eye"
		  map="missing_eye_right_map"
		  truevalue="mangler" falsevalue="" value=""/>
	<frame name="right_eye_frame" caption="Højre øje" layout="hbox">
	  <label caption="Tryk:"/>
	  <spacer/>
	  <lineedit name="tonometer.pressure.right" regexp="\d{1,2}" script="lt80gt0" value=""/>
	  <label caption="mmHg"/>
	  <spacer/>
	</frame>
      </frame>

      <!-- Venstre øje -->
      <frame layout="vbox">
	<checkbox caption="Der er ikke målt på venstre øje"
		  name="tonometer.left.missing" script="left_eye"
		  map="missing_eye_left_map"
		  truevalue="mangler" falsevalue="" value=""/>
	<frame name="left_eye_frame" caption="Venstre øje" layout="hbox">
	  <label caption="Tryk:"/>
	  <spacer/>
	  <lineedit name="tonometer.pressure.left" regexp="\d{1,2}" script="lt80gt0" value=""/>
	  <label caption="mmHg"/>
	  <spacer/>
	</frame>
      </frame>

    </frame>

    <frame name="device_frame" layout="vbox">
      <label caption="Tonometer måling foretaget med:"/>
      <combobox name="tonometer.device" value="">
	<item caption="Applanationstonometer" value="Appl"/>
	<item caption="Lufttonometer" value="Luft"/>
      </combobox>
    </frame>
    
    <!-- Knapper -->
    <frame layout="hbox">
      <spacer />
      <button caption="Gem" action="commit"/>
    </frame>
  </widgets>
</macro>