<?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. --> <!-- 20090202: Bent Bisballe Nyeng 'missing eye' tilføjet. --> <macro name="egen_brille" version="1.0"> <resume language="lua"> out = '' if ( getValue('lensmeter.right.missing') == '' ) then out = out .. 'Egen brille højre øje: ' .. getValue('lensmeter.right.sf') .. ' sf, ' .. getValue('lensmeter.right.cyl') .. ' cyl ' .. getValue('lensmeter.right.grader') .. ' grader.' end if ( getValue('lensmeter.left.missing') == '' ) then out = out .. 'Egen brille venstre øje: ' .. getValue('lensmeter.left.sf') .. ' sf, ' .. getValue('lensmeter.left.cyl') .. ' cyl ' .. getValue('lensmeter.left.grader') .. ' grader.' end return out </resume> <queries> <query class="lensmeter" ttl="100000"/> <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> <map name="lensmeter.left.sf"> -- Returning 0, 0 invalidates the result value = 0 timestamp = 0 source = 0 if(lensmeter and lensmeter.left and lensmeter.left.sf and lensmeter.left.sf.value and lensmeter.left.sf.timestamp) then value = lensmeter.left.sf.value -- convert . to , value = string.gsub(value, '[.]', ',') timestamp = lensmeter.left.sf.timestamp source = lensmeter.left.sf.source end return value, timestamp, source </map> <map name="lensmeter.left.cyl"> -- Returning 0, 0 invalidates the result value = 0 timestamp = 0 source = 0 if(lensmeter and lensmeter.left and lensmeter.left.cyl and lensmeter.left.cyl.value and lensmeter.left.cyl.timestamp) then value = lensmeter.left.cyl.value -- convert . to , value = string.gsub(value, '[.]', ',') timestamp = lensmeter.left.cyl.timestamp source = lensmeter.left.cyl.source end return value, timestamp, source </map> <map name="lensmeter.right.sf"> -- Returning 0, 0 invalidates the result value = 0 timestamp = 0 source = 0 if(lensmeter and lensmeter.right and lensmeter.right.sf and lensmeter.right.sf.value and lensmeter.right.sf.timestamp) then value = lensmeter.right.sf.value -- convert . to , value = string.gsub(value, '[.]', ',') timestamp = lensmeter.right.sf.timestamp source = lensmeter.right.sf.source end return value, timestamp, source </map> <map name="lensmeter.right.cyl"> -- Returning 0, 0 invalidates the result value = 0 timestamp = 0 source = 0 if(lensmeter and lensmeter.right and lensmeter.right.cyl and lensmeter.right.cyl.value and lensmeter.right.cyl.timestamp) then value = lensmeter.right.cyl.value -- convert . to , value = string.gsub(value, '[.]', ',') timestamp = lensmeter.right.cyl.timestamp source = lensmeter.right.cyl.source 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 false 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 false 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="Egen brille (B.2.2.2)" layout="vbox"> <frame layout="hbox"> <!-- Højre øje --> <frame layout="vbox"> <checkbox caption="Der er ikke målt på højre øje" name="lensmeter.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"> <frame layout="vbox"> <label caption="Sf:"/> <lineedit name="lensmeter.right.sf" map="lensmeter.right.sf" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/> </frame> <frame layout="vbox"> <label caption="Cyl:"/> <lineedit name="lensmeter.right.cyl" map="lensmeter.right.cyl" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/> </frame> <frame layout="vbox"> <label caption="Grader:"/> <lineedit name="lensmeter.right.grader" map="lensmeter.right.grader" regexp="[\d]+" script="lt359gt0" value=""/> </frame> </frame> </frame> <!-- Venstre øje --> <frame layout="vbox"> <checkbox caption="Der er ikke målt på venstre øje" name="lensmeter.left.missing" script="left_eye" map="missing_eye_left_map" truevalue="mangler" falsevalue="" value=""/> <frame name="left_eye_frame" caption="Venstre øje" layout="hbox"> <frame layout="vbox"> <label caption="Sf:"/> <lineedit name="lensmeter.left.sf" map="lensmeter.left.sf" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt20gt-25" value=""/> </frame> <frame layout="vbox"> <label caption="Cyl:"/> <lineedit name="lensmeter.left.cyl" map="lensmeter.left.cyl" regexp="[+-]{0,1}\d{1,2},\d{2}" script="lt10gt-15" value=""/> </frame> <frame layout="vbox"> <label caption="Grader:"/> <lineedit name="lensmeter.left.grader" map="lensmeter.left.grader" regexp="[\d]+" script="lt359gt0" value=""/> </frame> </frame> </frame> </frame> <!-- Knapper --> <frame layout="hbox"> <spacer /> <button caption="Gem" action="commit"/> </frame> </widgets> </macro>