-- APIs os.loadAPI("functionsAPI"); -- Variablen setNewButton = false; fXPos = 0; sXPos = 0; fYPos = 0; sYPos = 0; dateiOpen = false; -- Ist Datei geöffnet? bearbeitenOpen = false; -- Ist Bearbeiten geöffnet? progName = "newButtonProg"; -- Programmname tColor = colors.white; -- Text Color hColor = colors.gray; -- Header (Kopfzeile) Color bColor = colors.white; -- Background Color buttonsTable = {}; -- local Knöpfe Koords dateiX = {1, 5}; dateiY = {1, 1}; bearbeitenX = {7, 16}; bearbeitenY = {1, 1}; neuX = {1, 9}; neuY = {2, 2}; speichernX = {1, 9}; speichernY = {3, 3}; -- Grafischer Teil term.clear(); mainWindow = paintutils.loadImage(".mainWindow"); paintutils.drawImage(mainWindow, 1, 1); progName = functionsAPI.prog_setProgName(); functionsAPI.design_fillMon("X", bColor); term.setCursorPos(1,1); term.setBackgroundColor(hColor); term.setTextColor(tColor) term.write(" "); term.setCursorPos(1,1); term.write("Datei Bearbeiten ?"); -- Programmtechnischer Teil while true do event, side, x, y = os.pullEvent("mouse_click"); if (functionsAPI.object_checkIfClicked(dateiX, dateiY, x, y)) then if (not bearbeitenOpen) then dateiOpen = functionsAPI.design_dateiMenu(dateiOpen, tColor, hColor, bColor); end setNewButton = false; elseif (functionsAPI.object_checkIfClicked(bearbeitenX, bearbeitenY, x, y)) then setNewButton = false; elseif (functionsAPI.object_checkIfClicked(neuX, neuY, x, y) and dateiOpen) then setNewButton = false; fXPos = 0; sXPos = 0; fYPos = 0; sYPos = 0; dateiOpen = false; bearbeitenOpen = false; progName = ""; progCode = ""; buttonsTable = {}; progName = functionsAPI.prog_setProgName(); functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor); elseif (functionsAPI.object_checkIfClicked(speichernX, speichernY, x, y) and dateiOpen) then functionsAPI.prog_compileObjects(buttonsTable, progName); term.setCursorPos(38,1) term.write("Gespeichert"); dateiOpen,bearbeitenOpen = functionsAPI.prog_closeMenus(buttonsTable, bColor); else if (setNewButton == false) then dateiOpen,bearbeitenOpen = functionsAPI.prog_closeMenus(buttonsTable, bColor); fXPos = x; fYPos = y; setNewButton = true; elseif (setNewButton == true) then sXPos = x; sYPos = y; tempButtonTable = {}; buttonText = ""; buttonColor = ""; if (fXPos > sXPos) then local newFXPos = sXPos; sXPos = fXPos; fXPos = newFXPos; end if (fYPos > sYPos) then local newFYPos = sYPos; sYPos = fYPos; fYPos = newFYPos; end table.insert(tempButtonTable, 4, fXPos); table.insert(tempButtonTable, 5, fYPos); table.insert(tempButtonTable, 6, sXPos); table.insert(tempButtonTable, 7, sYPos); buttonText = functionsAPI.prog_setButtonName(fXPos, sXPos); table.insert(tempButtonTable, 1, buttonText); functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor); buttonColor = functionsAPI.prog_setButtonBColor(); table.insert(tempButtonTable, 2, buttonColor); functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor); buttonTextColor = functionsAPI.prog_setButtonTColor(); table.insert(tempButtonTable, 3, buttonTextColor); functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor); shell.run("edit temp"); file = fs.open("temp","r"); tempCode = file.readAll(); file.close() fs.delete("temp"); table.insert(tempButtonTable, 8, tempCode); functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor); table.insert(buttonsTable, tempButtonTable[1]); table.insert(buttonsTable, tempButtonTable[2]); table.insert(buttonsTable, tempButtonTable[3]); table.insert(buttonsTable, tempButtonTable[4]); table.insert(buttonsTable, tempButtonTable[5]); table.insert(buttonsTable, tempButtonTable[6]); table.insert(buttonsTable, tempButtonTable[7]); table.insert(buttonsTable, tempButtonTable[8]); functionsAPI.design_redrawMonitor(buttonsTable, bColor, hColor, tColor); setNewButton = false; end end end