123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- 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);
- }
- }
- }
|