104 lines
2.4 KiB
Plaintext
104 lines
2.4 KiB
Plaintext
int buttonCount = 8;
|
|
int i_buttonId;
|
|
boolean menuOpen = true;
|
|
int[] menuButtons = {2, 3, 4, 5, 6};
|
|
|
|
void menu() {
|
|
menuOpen = !menuOpen;
|
|
for (int i = 0; i < menuButtons.length; i++) {
|
|
buttons[menuButtons[i]].active = menuOpen;
|
|
}
|
|
}
|
|
|
|
void initButtons() {
|
|
buttons[0] = new Button(72, 10, "Add Node");
|
|
buttons[1] = new Button(164, 10, "Delete Node");
|
|
buttons[2] = new Button(10, 50, "Dark/Bright Mode");
|
|
buttons[3] = new Button(10, 90, "Save");
|
|
buttons[4] = new Button(10, 130, "Open");
|
|
buttons[5] = new Button(10, 170, "Export Image");
|
|
buttons[6] = new Button(10, 210, "Empty Workspace");
|
|
buttons[7] = new Button(10, 10, "Menu");
|
|
menu();
|
|
/* buttons[0] = new Button(10, 10, "Node Hinzufügen");
|
|
buttons[1] = new Button(155, 10, "Löschen");
|
|
buttons[2] = new Button(10, 50, "Farben umkehren");
|
|
buttons[3] = new Button(10, 90, "Speichern");
|
|
buttons[4] = new Button(10, 130, "Öffnen");
|
|
buttons[5] = new Button(10, 170, "Bild Exportieren");
|
|
buttons[6] = new Button(10, 210, "Arbeitsfläche leeren");
|
|
buttons[7] = new Button(10, 210, "Menü");*/
|
|
}
|
|
|
|
void buttonFunctions(int functionID) {
|
|
switch (functionID) {
|
|
case(0):
|
|
addNode(int(random(50, width-50)), int(random(30, height-150)), "");
|
|
i_selectedNode = nodeCount-1;
|
|
break;
|
|
case(1):
|
|
deleteSelectedNode();
|
|
break;
|
|
case(2):
|
|
darkMode = !darkMode;
|
|
break;
|
|
case(3):
|
|
saveCSV(dataPath("save.csv"));
|
|
selectOutput("Where to save .csv file to?", "saveCSVFile");
|
|
break;
|
|
case(4):
|
|
selectInput("Select csv File", "loadCSVFile");
|
|
break;
|
|
case(5):
|
|
selectOutput("Where to export .png image file to?", "savePNGFile");
|
|
break;
|
|
case(6):
|
|
deleteAll();
|
|
break;
|
|
case(7):
|
|
menu();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
Button buttons[] = new Button[buttonCount];
|
|
|
|
class Button {
|
|
int id, x, y, w, h;
|
|
String label;
|
|
boolean active;
|
|
|
|
boolean hover() {
|
|
return (active) ? ((mouseX > x && mouseX < x+w && mouseY > y && mouseY < y+h) ? true : false) : false;
|
|
}
|
|
|
|
void click() {
|
|
buttonFunctions(id);
|
|
}
|
|
|
|
Button(int x_, int y_, String label_) {
|
|
id = i_buttonId;
|
|
i_buttonId++;
|
|
x = x_;
|
|
y = y_ ;
|
|
label = label_;
|
|
w = int(textWidth(label))+18;
|
|
h = 32;
|
|
active = true;
|
|
}
|
|
|
|
void display() {
|
|
if (active) {
|
|
stroke(0);
|
|
strokeWeight(1);
|
|
fill(255, 127);
|
|
rect(x, y, w, h, 4);
|
|
fill(0);
|
|
text(label, x+9, y+h/2+5);
|
|
}
|
|
}
|
|
}
|