<?xml version='1.0' encoding='UTF-8'?> <macro name="autorefraktion" version="1.0"> <resume language="lua"> out = '' if ( getValue('autorefraktion.mangler.odxt') == '' ) then out = out .. 'Autorefraktion, o.dxt: ' .. getValue('autorefraktion.sf.odxt') .. ' sf' if ( getValue('autorefraktion.cyl.odxt') ~= '' ) then out = out .. ', ' .. getValue('autorefraktion.cyl.odxt') .. ' cyl' end if ( getValue('autorefraktion.grader.odxt') ~= '' ) then out = out .. ', ' .. getValue('autorefraktion.grader.odxt') .. ' grader\n' else out = out .. '\n' end end if ( getValue('autorefraktion.mangler.osin') == '' ) then out = out .. 'Autorefraktion, o.sin: ' .. getValue('autorefraktion.sf.osin') .. ' sf' if ( getValue('autorefraktion.cyl.osin') ~= '' ) then out = out .. ', ' .. getValue('autorefraktion.cyl.osin') .. ' cyl' end if ( getValue('autorefraktion.grader.osin') ~= '' ) then out = out .. ', ' .. getValue('autorefraktion.grader.osin') .. ' grader\n' else out = out .. '\n' end end return out </resume> <queries> <query service="pracro" class="missing_eye_odxt" ttl="1000000"/> <query service="pracro" class="missing_eye_osin" ttl="1000000"/> </queries> <maps> <map name="missing_eye_odxt_map"> value = 0 timestamp = 0 source = '' if( missing_eye_odxt ) then if( missing_eye_odxt.value and missing_eye_odxt.value == '' ) then value = '' timestamp = missing_eye_odxt.timestamp source = missing_eye_odxt.source else value = 'mangler' timestamp = missing_eye_odxt.timestamp source = missing_eye_odxt.source end end return value, timestamp, source </map> <map name="missing_eye_osin_map"> value = 0 timestamp = 0 source = '' if( missing_eye_osin ) then if( missing_eye_osin.value and missing_eye_osin.value == '' ) then value = '' timestamp = missing_eye_osin.timestamp source = missing_eye_osin.source else value = 'mangler' timestamp = missing_eye_osin.timestamp source = missing_eye_osin.source end end return value, timestamp, source </map> </maps> <scripts> <script language="lua" name="lt20gt-25"> if(value == '') then return false end value = string.gsub(value, ',', '.') if(tonumber(value) >= -25 and tonumber(value) <= 20) then return true else return false end </script> <script language="lua" name="lt10gt-15"> if(value == '') then return true end value = string.gsub(value, ',', '.') if(tonumber(value) >= -15 and tonumber(value) <= 10) then return true else return false end </script> <script language="lua" name="lt359gt0"> if(value == '') then return true end value = string.gsub(value, ',', '.') if(tonumber(value) >= 0 and tonumber(value) <= 359) 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="Autorefraktion (B.2.2.3)" layout="vbox"> <frame layout="hbox"> <!-- o.dxt --> <frame layout="vbox"> <checkbox caption="Der er ikke målt på o.dxt" name="autorefraktion.mangler.odxt" script="right_eye" map="missing_eye_odxt_map" truevalue="mangler" falsevalue="" value=""/> <frame name="right_eye_frame" caption="o.dxt" layout="hbox"> <frame layout="vbox"> <label caption="Sf:"/> <lineedit name="autorefraktion.sf.odxt" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/> </frame> <frame layout="vbox"> <label caption="Cyl:"/> <lineedit name="autorefraktion.cyl.odxt" regexp="|[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/> </frame> <frame layout="vbox"> <label caption="Grader:"/> <lineedit name="autorefraktion.grader.odxt" regexp="|[\d]+" script="lt359gt0" value=""/> </frame> </frame> </frame> <!-- o.sin --> <frame layout="vbox"> <checkbox caption="Der er ikke målt på o.sin" name="autorefraktion.mangler.osin" script="left_eye" map="missing_eye_osin_map" truevalue="mangler" falsevalue="" value=""/> <frame name="left_eye_frame" caption="o.sin" layout="hbox"> <frame layout="vbox"> <label caption="Sf:"/> <lineedit name="autorefraktion.sf.osin" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/> </frame> <frame layout="vbox"> <label caption="Cyl:"/> <lineedit name="autorefraktion.cyl.osin" regexp="|[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/> </frame> <frame layout="vbox"> <label caption="Grader:"/> <lineedit name="autorefraktion.grader.osin" regexp="|[\d]+" script="lt359gt0" value=""/> </frame> </frame> </frame> </frame> <!-- Knapper --> <frame layout="hbox"> <spacer /> <button caption="Gem" action="commit"/> </frame> </widgets> </macro>