Advertisement
PlatinKinggg

Reaktoranzeige Stavros

May 4th, 2015 (edited)
1,663
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 9.70 KB | None | 0 0
  1. -- Tutorial in die Stavros Reaktorprogramme
  2.  
  3. -- Dieses Programm ist ein Autoupdater und Starter
  4. -- fuer das Stavros Reaktoranzeige-Programm.
  5. -- Es zeigt die Werte einen Big Reaktors
  6. -- (aktiv/passiv) auf einem Monitor an.
  7. -- Es aktualisiert sich selbst und startet
  8. -- automatisch mit dem Pc.
  9. -- Damit es arbeitet, schliesse per Modem
  10. -- mindestens einen Monitor von 4x3,
  11. -- einen Reaktor und optional einen
  12. -- Alarm auf den PC an.
  13. -- Fuer Fragen melde dich bitte bei PlatinKinggg
  14. -- Copyright PlatinKinggg
  15. -- Frei zur Verteilung
  16. -- Viel Spass mit dem Programm :D
  17.  
  18. debugLevel = 1
  19.  
  20. require("Funktionen")
  21.  
  22. programInitialize()
  23.  
  24. -- Start der Programmschleife
  25. timerID = os.startTimer(1)
  26. while true do
  27.     event, param1, param2, param3 = os.pullEvent()
  28.  
  29.  
  30. --[[
  31. In diesem Abschnitt des Hauptprogramms werden die Anzeigen verarbeitet. Dies geschieht durch Timer-Events, die sekündlich ausgelöst werden.
  32. ]]
  33.     if event == "timer" then
  34.         if page == -100 then
  35.             monitor.clear()
  36.             display.bootScreen("Starte Programm neu...")
  37.             os.reboot()
  38.  
  39.         elseif page == -99 then
  40.             monitor.clear()
  41.             display.interface("Hauptseite", " Zurück")
  42.             display.aboutAutor()
  43.  
  44.         elseif page == -2 then
  45.             baseTask()
  46.             pageHeader = "Systemsteuerung"
  47.             display.interface("Hauptseite", " Systemsteuerung")
  48.             display.systemControl()
  49.  
  50.         elseif page == -1 then
  51.             baseTask()
  52.             display.interface("Zurück", "Speichern")
  53.             display.optionSettingEntry(currentOptionRow)
  54.  
  55.         elseif page == 0 then
  56.             baseTask()
  57.             if currentOptionPage == 1 then
  58.                 pageHeader = "Optionen - Seite 1"
  59.             elseif currentOptionPage == 2 then
  60.                 pageHeader = "Optionen - Seite 2"
  61.             elseif currentOptionPage == 3 then
  62.                 pageHeader = "Optionen - Seite 3"
  63.             end
  64.             display.interface("Hauptseite", " Systemsteuerung")
  65.             display.optionMain()
  66.  
  67.         elseif page == 1 then
  68.             baseTask()
  69.             pageHeader = "Übersicht"
  70.             display.interface("Hauptseite", " Systemsteuerung")
  71.             display.pageMain()
  72.  
  73.         elseif page == 2 then
  74.             baseTask()
  75.             pageHeader = "Energieproduktion"
  76.             display.interface("Hauptseite", " Systemsteuerung")
  77.             windowCreate.pageRF()
  78.             display.pageRF()
  79.  
  80.         elseif page == 3 then
  81.             baseTask()
  82.             pageHeader = "Brennstoff-Info"
  83.             display.interface("Hauptseite", " Systemsteuerung")
  84.             windowCreate.pageFuel()
  85.             display.pageFuel()
  86.  
  87.         elseif page == 4 then
  88.             baseTask()
  89.             pageHeader = "Brennstoff-Effizienz"
  90.             display.interface("Hauptseite", " Systemsteuerung")
  91.             display.pageEfficiency()
  92.         end
  93.  
  94.  
  95. --[[
  96. Der Bereich event == "monitor_touch" regelt alle Aktionen bei Bedienung des Monitors, wie z.B. die Änderung der Seite oder Auslösung von Aktionen.
  97. ]]
  98.  
  99.     elseif event == "monitor_touch" then
  100.         os.cancelTimer(timerID)
  101.         os.queueEvent("timer", 1)
  102.  
  103.         if touchCheck(param2, param3, optionButtonWindowInfo) == true then
  104.             page = 0
  105.             currentOptionPage = 1
  106.  
  107.         elseif page == -99 then
  108.             if touchCheck(param2, param3, leftCenterButtonWindowInfo, monitorHeight - 5) then
  109.                 page = configTable[5]
  110.  
  111.             elseif touchCheck(param2, param3, rightCenterButtonWindowInfo, monitorHeight - 5) then
  112.                 page = -2
  113.                 currentSettingsPage = 1
  114.                 page = pageOld
  115.             end
  116.  
  117.         elseif page == -2 then
  118.             if touchCheck(param2, param3, leftCenterButtonWindowInfo, monitorHeight - 5) then
  119.                 page = configTable[5]
  120.  
  121.             elseif touchCheck(param2, param3, rightCenterButtonWindowInfo, monitorHeight - 5) then
  122.                 page = -2
  123.                 currentSettingsPage = 1
  124.  
  125.             elseif touchCheck(param2, param3, leftButtonWindowInfo, monitorHeight - 5) then
  126.                 currentSettingsPage = currentSettingsPage - 1
  127.                 if currentSettingsPage < 1 then
  128.                     currentSettingsPage = 2
  129.                 end
  130.  
  131.             elseif touchCheck(param2, param3, rightButtonWindowInfo, monitorHeight - 5) then
  132.                 currentSettingsPage = currentSettingsPage + 1
  133.                 if currentSettingsPage > 2 then
  134.                     currentSettingsPage = 1
  135.                 end
  136.  
  137.             elseif touchCheck(param2, param3, systemControlWindowInfo[1], 5) then
  138.                 if currentSettingsPage == 1 then
  139.                     pageOld = page
  140.                     page = -99
  141.  
  142.                 elseif currentSettingsPage == 2 then
  143.                     if reactorActive == true then
  144.                         setActive(false)
  145.                     else
  146.                         setActive(true)
  147.                     end
  148.                 end
  149.  
  150.             elseif touchCheck(param2, param3, systemControlWindowInfo[2], 5) then
  151.                 if currentSettingsPage == 1 then
  152.  
  153.                 elseif currentSettingsPage == 2 then
  154.                     setAllControlRodLevels(0)
  155.                 end
  156.  
  157.             elseif touchCheck(param2, param3, systemControlWindowInfo[3], 5) then
  158.                 if currentSettingsPage == 1 then
  159.  
  160.                 elseif currentSettingsPage == 2 then
  161.                     ejectWaste()
  162.                 end
  163.  
  164.             elseif touchCheck(param2, param3, systemControlWindowInfo[4], 5) then
  165.                 if currentSettingsPage == 1 then
  166.  
  167.                 elseif currentSettingsPage == 2 then
  168.                     page = -100
  169.                 end
  170.             end
  171.  
  172.         elseif page == -1 then
  173.             if touchCheck(param2, param3, leftButtonWindowInfo, monitorHeight - 5) then
  174.                 configTableManipulator = configTableManipulator - 1
  175.  
  176.             elseif touchCheck(param2, param3, rightButtonWindowInfo, monitorHeight - 5) then
  177.                 configTableManipulator = configTableManipulator + 1
  178.  
  179.             elseif touchCheck(param2, param3, leftCenterButtonWindowInfo, monitorHeight - 5) then
  180.                 page = page + 1
  181.  
  182.             elseif touchCheck(param2, param3, rightCenterButtonWindowInfo, monitorHeight - 5) then
  183.                 configTable[selectedConfig] = (configTable[selectedConfig] + configTableManipulator)
  184.                 config.save()
  185.                 page = 0
  186.             end
  187.  
  188.         elseif page == 0 then
  189.             if touchCheck(param2, param3, leftButtonWindowInfo, monitorHeight - 5) then
  190.                 currentOptionPage = currentOptionPage - 1
  191.                 if currentOptionPage < 1 then
  192.                     currentOptionPage = 3
  193.                 end
  194.             elseif touchCheck(param2, param3, rightButtonWindowInfo, monitorHeight - 5) then
  195.                 currentOptionPage = currentOptionPage + 1
  196.                 if currentOptionPage > 3 then
  197.                     currentOptionPage = 1
  198.                 end
  199.             elseif touchCheck(param2, param3, leftCenterButtonWindowInfo, monitorHeight - 5) then
  200.                 page = configTable[5]
  201.             elseif touchCheck(param2, param3, rightCenterButtonWindowInfo, monitorHeight - 5) then
  202.                 page = -2
  203.                 currentSettingsPage = 1
  204.  
  205.             elseif touchCheck(param2, param3, optionMainWindowInfo[1], 5) then
  206.                 pageOld = page
  207.                 page = -1
  208.                 currentOptionRow = 1
  209.                 configTableManipulator = 0
  210.                 newConfigValue = nil
  211.                 selectedConfig = nil
  212.             elseif touchCheck(param2, param3, optionMainWindowInfo[2], 5) then
  213.                 pageOld = page
  214.                 page = -1
  215.                 currentOptionRow = 2
  216.                 configTableManipulator = 0
  217.                 newConfigValue = nil
  218.                 selectedConfig = nil
  219.             elseif touchCheck(param2, param3, optionMainWindowInfo[3], 5) then
  220.                 pageOld = page
  221.                 page = -1
  222.                 currentOptionRow = 3
  223.                 configTableManipulator = 0
  224.                 newConfigValue = nil
  225.                 selectedConfig = nil
  226.             elseif touchCheck(param2, param3, optionMainWindowInfo[4], 5) then
  227.                 pageOld = page
  228.                 page = -1
  229.                 currentOptionRow = 4
  230.                 configTableManipulator = 0
  231.                 newConfigValue = nil
  232.                 selectedConfig = nil
  233.             end
  234.  
  235.         elseif page == 1 then
  236.             if touchCheck(param2, param3, leftCenterButtonWindowInfo, monitorHeight - 5) then
  237.                 page = configTable[5]
  238.             elseif touchCheck(param2, param3, rightCenterButtonWindowInfo, monitorHeight - 5) then
  239.                 page = -2
  240.                 currentSettingsPage = 1
  241.  
  242.             elseif touchCheck(param2, param3, leftButtonWindowInfo, monitorHeight - 5) then
  243.                 page = page - 1
  244.                 pageCheck()
  245.             elseif touchCheck(param2, param3, rightButtonWindowInfo, monitorHeight - 5) then
  246.                 page = page + 1
  247.                 pageCheck()
  248.             end
  249.  
  250.         elseif page == 2 then
  251.             if touchCheck(param2, param3, leftCenterButtonWindowInfo, monitorHeight - 5) then
  252.                 page = configTable[5]
  253.             elseif touchCheck(param2, param3, rightCenterButtonWindowInfo, monitorHeight - 5) then
  254.                 page = -2
  255.                 currentSettingsPage = 1
  256.  
  257.             elseif touchCheck(param2, param3, leftButtonWindowInfo, monitorHeight - 5) then
  258.                 page = page - 1
  259.                 pageCheck()
  260.             elseif touchCheck(param2, param3, rightButtonWindowInfo, monitorHeight - 5) then
  261.                 page = page + 1
  262.                 pageCheck()
  263.             end
  264.  
  265.         elseif page == 3 then
  266.             if touchCheck(param2, param3, leftCenterButtonWindowInfo, monitorHeight - 5) then
  267.                 page = configTable[5]
  268.             elseif touchCheck(param2, param3, rightCenterButtonWindowInfo, monitorHeight - 5) then
  269.                 page = -2
  270.                 currentSettingsPage = 1
  271.  
  272.             elseif touchCheck(param2, param3, leftButtonWindowInfo, monitorHeight - 5) then
  273.                 page = page - 1
  274.                 pageCheck()
  275.             elseif touchCheck(param2, param3, rightButtonWindowInfo, monitorHeight - 5) then
  276.                 page = page + 1
  277.                 pageCheck()
  278.             end
  279.  
  280.         elseif page == 4 then
  281.             if touchCheck(param2, param3, leftCenterButtonWindowInfo, monitorHeight - 5) then
  282.                 page = configTable[5]
  283.             elseif touchCheck(param2, param3, rightCenterButtonWindowInfo, monitorHeight - 5) then
  284.                 page = -2
  285.                 currentSettingsPage = 1
  286.  
  287.             elseif touchCheck(param2, param3, leftButtonWindowInfo, monitorHeight - 5) then
  288.                 page = page - 1
  289.                 pageCheck()
  290.             elseif touchCheck(param2, param3, rightButtonWindowInfo, monitorHeight - 5) then
  291.                 page = page + 1
  292.                 pageCheck()
  293.             end
  294.         end
  295.  
  296. --[[
  297. In diesem Abschnitt des Hauptprogramms werden Änderungen an der Monitorgröße verarbeitet und die Anzeigen rekalibriert. Dies geschieht durch Monitor_Resize-Events.
  298. ]]
  299.     elseif event == "monitor_resize" then
  300.         sleep(2)
  301.         os.queueEvent("timer", 1)
  302.         monitorCheck()
  303.         windowCreate.foundation()
  304.         windowCreate.interface()
  305.         windowCreate.optionMain()
  306.         windowCreate.pageMain()
  307.         windowCreate.pageRF()
  308.         windowCreate.pageFuel()
  309.         windowCreate.pageEfficiency()
  310.         windowCreate.optionSetting()
  311.         windowCreate.systemControl()
  312.         windowCreate.bootScreen()
  313.  
  314.     elseif type(param1) == "number" then
  315.         if keys.getName(param1) == "delete" then
  316.             display.bootScreen("Starte Programm neu...")
  317.             os.reboot()
  318.         end
  319.     end
  320. end
  321.  
  322.  
  323.  
  324. -- Copyright PlatinKinggg
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement