Advertisement
Paragorn

ButtonCreator (Creator)

Oct 18th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.38 KB | None | 0 0
  1. -- APIs
  2.  
  3.  
  4. os.loadAPI("functionsAPI");
  5.  
  6.  
  7. -- Variablen
  8.  
  9. setNewButton    = false;
  10. fXPos = 0;
  11. sXPos = 0;
  12. fYPos = 0;
  13. sYPos = 0;
  14.  
  15. dateiOpen       = false;            -- Ist Datei geöffnet?
  16. bearbeitenOpen  = false;            -- Ist Bearbeiten geöffnet?
  17. progName        = "newButtonProg";  -- Programmname
  18. tColor          = colors.white;     -- Text Color
  19. hColor          = colors.gray;      -- Header (Kopfzeile) Color
  20. bColor          = colors.white;     -- Background Color
  21.  
  22. buttonsTable            = {};
  23.  
  24. -- local Knöpfe Koords
  25.    
  26.    
  27. dateiX = {1, 5};
  28. dateiY = {1, 1};
  29. bearbeitenX = {7, 16};
  30. bearbeitenY = {1, 1};
  31. neuX = {1, 9};
  32. neuY = {2, 2};
  33. speichernX = {1, 9};
  34. speichernY = {3, 3};
  35.  
  36. -- Grafischer Teil
  37.  
  38.  
  39. term.clear();
  40.  
  41. mainWindow = paintutils.loadImage(".mainWindow");
  42. paintutils.drawImage(mainWindow, 1, 1);
  43.  
  44. progName = functionsAPI.prog_setProgName();
  45. functionsAPI.design_fillMon("X", bColor);
  46.  
  47. term.setCursorPos(1,1);
  48. term.setBackgroundColor(hColor);
  49. term.setTextColor(tColor)
  50. term.write("                                                   ");
  51.  
  52. term.setCursorPos(1,1);
  53. term.write("Datei Bearbeiten                                  ?");
  54.  
  55. -- Programmtechnischer Teil
  56.  
  57. while true do
  58.  
  59.     event, side, x, y = os.pullEvent("mouse_click");
  60.    
  61.     if (functionsAPI.object_checkIfClicked(dateiX, dateiY, x, y)) then
  62.  
  63.         if (not bearbeitenOpen) then
  64.             dateiOpen = functionsAPI.design_dateiMenu(dateiOpen, tColor, hColor, bColor);
  65.         end
  66.        
  67.         setNewButton = false;
  68.  
  69.     elseif (functionsAPI.object_checkIfClicked(bearbeitenX, bearbeitenY, x, y)) then
  70.        
  71.         setNewButton = false;
  72.  
  73.     elseif (functionsAPI.object_checkIfClicked(neuX, neuY, x, y) and dateiOpen) then
  74.    
  75.         setNewButton    = false;
  76.         fXPos           = 0;
  77.         sXPos           = 0;
  78.         fYPos           = 0;
  79.         sYPos           = 0;
  80.  
  81.         dateiOpen       = false;
  82.         bearbeitenOpen  = false;
  83.         progName        = "";
  84.         progCode        = "";
  85.    
  86.         buttonsTable    = {};
  87.        
  88.         progName = functionsAPI.prog_setProgName();
  89.         functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor);
  90.        
  91.     elseif (functionsAPI.object_checkIfClicked(speichernX, speichernY, x, y) and dateiOpen) then
  92.    
  93.         functionsAPI.prog_compileObjects(buttonsTable, progName);
  94.         term.setCursorPos(38,1)
  95.         term.write("Gespeichert");
  96.         dateiOpen,bearbeitenOpen = functionsAPI.prog_closeMenus(buttonsTable, bColor);
  97.    
  98.     else
  99.    
  100.         if (setNewButton == false) then
  101.        
  102.             dateiOpen,bearbeitenOpen = functionsAPI.prog_closeMenus(buttonsTable, bColor);
  103.        
  104.             fXPos = x;
  105.             fYPos = y;
  106.            
  107.             setNewButton = true;
  108.        
  109.         elseif (setNewButton == true) then
  110.        
  111.             sXPos           = x;
  112.             sYPos           = y;
  113.             tempButtonTable = {};
  114.             buttonText      = "";
  115.             buttonColor     = "";
  116.            
  117.             if (fXPos > sXPos) then
  118.            
  119.                 local newFXPos  = sXPos;
  120.                 sXPos           = fXPos;
  121.                 fXPos           = newFXPos;
  122.                
  123.             end
  124.            
  125.             if (fYPos > sYPos) then
  126.            
  127.                 local newFYPos  = sYPos;
  128.                 sYPos           = fYPos;
  129.                 fYPos           = newFYPos;
  130.                
  131.             end
  132.            
  133.             table.insert(tempButtonTable, 4, fXPos);
  134.             table.insert(tempButtonTable, 5, fYPos);
  135.             table.insert(tempButtonTable, 6, sXPos);
  136.             table.insert(tempButtonTable, 7, sYPos);
  137.            
  138.             buttonText = functionsAPI.prog_setButtonName(fXPos, sXPos);
  139.             table.insert(tempButtonTable, 1, buttonText);
  140.             functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor);
  141.             buttonColor = functionsAPI.prog_setButtonBColor();
  142.             table.insert(tempButtonTable, 2, buttonColor);
  143.             functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor);
  144.             buttonTextColor = functionsAPI.prog_setButtonTColor();
  145.             table.insert(tempButtonTable, 3, buttonTextColor);
  146.             functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor);
  147.             shell.run("edit temp");
  148.            
  149.             file = fs.open("temp","r");
  150.             tempCode = file.readAll();
  151.             file.close()
  152.            
  153.             fs.delete("temp");
  154.            
  155.             table.insert(tempButtonTable, 8, tempCode);
  156.             functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor);
  157.            
  158.             table.insert(buttonsTable, tempButtonTable[1]);
  159.             table.insert(buttonsTable, tempButtonTable[2]);
  160.             table.insert(buttonsTable, tempButtonTable[3]);
  161.             table.insert(buttonsTable, tempButtonTable[4]);
  162.             table.insert(buttonsTable, tempButtonTable[5]);
  163.             table.insert(buttonsTable, tempButtonTable[6]);
  164.             table.insert(buttonsTable, tempButtonTable[7]);
  165.             table.insert(buttonsTable, tempButtonTable[8]);
  166.            
  167.             functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor);
  168.            
  169.             setNewButton = false;
  170.        
  171.         end
  172.        
  173.     end
  174.    
  175. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement