diff --git a/src/data/examples/en/16_Dom/13_DOM_Form_Elements.js b/src/data/examples/en/16_Dom/13_DOM_Form_Elements.js new file mode 100644 index 0000000000..0fc4a17c4a --- /dev/null +++ b/src/data/examples/en/16_Dom/13_DOM_Form_Elements.js @@ -0,0 +1,152 @@ +/* + * @name DOM Form Elements + * @frame 600,400 + * @description contributed by + Prof WM Harris, How to use p5 DOM form elements to create a slider, +button, checkbox, radio group, select menu, and entry field.
+Functions are created that include: the canvas +setup, checkbox creation with text, text box with text that projects +typed text onto canvas, slider with button, three selections which +project a rectangle in different areas on the canvas depending on +selection, and a drop down menu with font change. +*/ + +/* global variables */ +//p5 DOM form elements +let slider1; +let button1; +let checkbox1; +let radio1; +let select1; +let entry1; + +function setup() { + createCanvas(200, 200); + background("beige"); + + checkbox1 = createCheckbox("Check me"); + + createP(); //spacer with

tag + + createSpan("What's your name? "); //label for entry1 + // createInput([value], [type]) + // type: "text" (default), "number", + // "date", "password", "email", etc. + entry1 = createInput(); + //If text in the entry field changes, call + //the entryCallback function. + entry1.changed(entryCallback); + + createP(); //spacer with

tag + + //createSlider(min, max, [value], [step]) + slider1 = createSlider(10, 200); + + button1 = createButton("Press me"); //, "pressed"); + //Assign callback fcn for button1 + //when user clicks mouse on it + button1.mouseClicked(button1Clicked); + + createP(); //spacer with

tag + + radio1 = createRadio(); + + //.option([value], [contentLabel]) + //If 1 param, it's both content AND + //value. Values treated as strings. + radio1.option(1, "cranberries"); + radio1.option(2, "almonds"); + radio1.option(3, "gouda"); + + radio1.value("1"); //set init value + + createP(); //spacer with

tag + + select1 = createSelect(); + //.option([contentValue],[value]) + //If 1 param, it's both content AND + //value. Values treated as strings. + select1.option("Sans-serif"); + select1.option("Serif"); + select1.option("Fantasy"); + //If changed, call select1Changed + select1.changed(select1Changed); +} + +function draw() { + //get value from slider 1 + let gray = slider1.value(); + fill(gray); + + //If mouse in corner, turn on checkbox1 + if ((mouseX < width / 3) && + (mouseY < height / 3)) { + checkbox1.checked(true); + } + //Is checkbox1 checked? Say so. + if (checkbox1.checked()) { + text("CHECKED", 20, 40); + } + + switch (radio1.value()) { + //radio value is always a string + case "1": + rect(0, 0, width, 50); + break; + case "2": + rect(0, 70, width, 50); + break; + case "3": + rect(0, 140, width, 50); + break; + } +} + +//callback fcn for button1 +function button1Clicked() { + //reset slider value to 200 + slider1.value(200); +} + + +//callback fcn for select1 +function select1Changed() { + switch (select1.value()) { + case "Sans-serif": + textFont("sans-serif"); + break; + case "Serif": + textFont("serif"); + break; + case "Fantasy": + textFont("fantasy"); + break; + } +} + +//callback function for entry1 +function entryCallback() { + for (let i = 0; i < 25; i++) { + text(entry1.value(), random(width), + random(height)); + } + +} + +function mouseClicked() { + console.log("button1?", button1.value()); + console.log("checkbox1?", checkbox1.value()); + //Update .value of either? No visible change + //to a button or checkbox + checkbox1.value("Check again"); + button1.value("clicked?"); +} + +function keyTyped() { + switch (key) { + case "r": + //move slider1 value to 100 + slider1.value(100); + break; + } +} \ No newline at end of file diff --git a/src/data/examples/es/16_Dom/13_DOM_Form_Elements.js b/src/data/examples/es/16_Dom/13_DOM_Form_Elements.js new file mode 100644 index 0000000000..d83dfdc13e --- /dev/null +++ b/src/data/examples/es/16_Dom/13_DOM_Form_Elements.js @@ -0,0 +1,152 @@ +/* + * @name DOM Form Elements + * @frame 600,400 + * @description contributed by + Prof WM Harris, How to use p5 DOM form elements to create a slider, +button, checkbox, radio group, select menu, and entry field.
+Functions are created that include: the canvas +setup, checkbox creation with text, text box with text that projects +typed text onto canvas, slider with button, three selections which +project a rectangle in different areas on the canvas depending on +selection, and a drop down menu with font change. +*/ + +/* global variables */ +//p5 DOM form elements +let slider1; +let button1; +let checkbox1; +let radio1; +let select1; +let entry1; + +function setup() { + createCanvas(200, 200); + background("beige"); + + checkbox1 = createCheckbox("Check me"); + + createP(); //spacer with

tag + + createSpan("What's your name? "); //label for entry1 + // createInput([value], [type]) + // type: "text" (default), "number", + // "date", "password", "email", etc. + entry1 = createInput(); + //If text in the entry field changes, call + //the entryCallback function. + entry1.changed(entryCallback); + + createP(); //spacer with

tag + + //createSlider(min, max, [value], [step]) + slider1 = createSlider(10, 200); + + button1 = createButton("Press me"); //, "pressed"); + //Assign callback fcn for button1 + //when user clicks mouse on it + button1.mouseClicked(button1Clicked); + + createP(); //spacer with

tag + + radio1 = createRadio(); + + //.option([value], [contentLabel]) + //If 1 param, it's both content AND + //value. Values treated as strings. + radio1.option(1, "cranberries"); + radio1.option(2, "almonds"); + radio1.option(3, "gouda"); + + radio1.value("1"); //set init value + + createP(); //spacer with

tag + + select1 = createSelect(); + //.option([contentValue],[value]) + //If 1 param, it's both content AND + //value. Values treated as strings. + select1.option("Sans-serif"); + select1.option("Serif"); + select1.option("Fantasy"); + //If changed, call select1Changed + select1.changed(select1Changed); +} + +function draw() { + //get value from slider 1 + let gray = slider1.value(); + fill(gray); + + //If mouse in corner, turn on checkbox1 + if ((mouseX < width / 3) && + (mouseY < height / 3)) { + checkbox1.checked(true); + } + //Is checkbox1 checked? Say so. + if (checkbox1.checked()) { + text("CHECKED", 20, 40); + } + + switch (radio1.value()) { + //radio value is always a string + case "1": + rect(0, 0, width, 50); + break; + case "2": + rect(0, 70, width, 50); + break; + case "3": + rect(0, 140, width, 50); + break; + } +} + +//callback fcn for button1 +function button1Clicked() { + //reset slider value to 200 + slider1.value(200); +} + + +//callback fcn for select1 +function select1Changed() { + switch (select1.value()) { + case "Sans-serif": + textFont("sans-serif"); + break; + case "Serif": + textFont("serif"); + break; + case "Fantasy": + textFont("fantasy"); + break; + } +} + +//callback function for entry1 +function entryCallback() { + for (let i = 0; i < 25; i++) { + text(entry1.value(), random(width), + random(height)); + } + +} + +function mouseClicked() { + console.log("button1?", button1.value()); + console.log("checkbox1?", checkbox1.value()); + //Update .value of either? No visible change + //to a button or checkbox + checkbox1.value("Check again"); + button1.value("clicked?"); +} + +function keyTyped() { + switch (key) { + case "r": + //move slider1 value to 100 + slider1.value(100); + break; + } +} diff --git a/src/data/examples/ko/16_Dom/13_DOM_Form_Elements.js b/src/data/examples/ko/16_Dom/13_DOM_Form_Elements.js new file mode 100644 index 0000000000..d83dfdc13e --- /dev/null +++ b/src/data/examples/ko/16_Dom/13_DOM_Form_Elements.js @@ -0,0 +1,152 @@ +/* + * @name DOM Form Elements + * @frame 600,400 + * @description contributed by + Prof WM Harris, How to use p5 DOM form elements to create a slider, +button, checkbox, radio group, select menu, and entry field.
+Functions are created that include: the canvas +setup, checkbox creation with text, text box with text that projects +typed text onto canvas, slider with button, three selections which +project a rectangle in different areas on the canvas depending on +selection, and a drop down menu with font change. +*/ + +/* global variables */ +//p5 DOM form elements +let slider1; +let button1; +let checkbox1; +let radio1; +let select1; +let entry1; + +function setup() { + createCanvas(200, 200); + background("beige"); + + checkbox1 = createCheckbox("Check me"); + + createP(); //spacer with

tag + + createSpan("What's your name? "); //label for entry1 + // createInput([value], [type]) + // type: "text" (default), "number", + // "date", "password", "email", etc. + entry1 = createInput(); + //If text in the entry field changes, call + //the entryCallback function. + entry1.changed(entryCallback); + + createP(); //spacer with

tag + + //createSlider(min, max, [value], [step]) + slider1 = createSlider(10, 200); + + button1 = createButton("Press me"); //, "pressed"); + //Assign callback fcn for button1 + //when user clicks mouse on it + button1.mouseClicked(button1Clicked); + + createP(); //spacer with

tag + + radio1 = createRadio(); + + //.option([value], [contentLabel]) + //If 1 param, it's both content AND + //value. Values treated as strings. + radio1.option(1, "cranberries"); + radio1.option(2, "almonds"); + radio1.option(3, "gouda"); + + radio1.value("1"); //set init value + + createP(); //spacer with

tag + + select1 = createSelect(); + //.option([contentValue],[value]) + //If 1 param, it's both content AND + //value. Values treated as strings. + select1.option("Sans-serif"); + select1.option("Serif"); + select1.option("Fantasy"); + //If changed, call select1Changed + select1.changed(select1Changed); +} + +function draw() { + //get value from slider 1 + let gray = slider1.value(); + fill(gray); + + //If mouse in corner, turn on checkbox1 + if ((mouseX < width / 3) && + (mouseY < height / 3)) { + checkbox1.checked(true); + } + //Is checkbox1 checked? Say so. + if (checkbox1.checked()) { + text("CHECKED", 20, 40); + } + + switch (radio1.value()) { + //radio value is always a string + case "1": + rect(0, 0, width, 50); + break; + case "2": + rect(0, 70, width, 50); + break; + case "3": + rect(0, 140, width, 50); + break; + } +} + +//callback fcn for button1 +function button1Clicked() { + //reset slider value to 200 + slider1.value(200); +} + + +//callback fcn for select1 +function select1Changed() { + switch (select1.value()) { + case "Sans-serif": + textFont("sans-serif"); + break; + case "Serif": + textFont("serif"); + break; + case "Fantasy": + textFont("fantasy"); + break; + } +} + +//callback function for entry1 +function entryCallback() { + for (let i = 0; i < 25; i++) { + text(entry1.value(), random(width), + random(height)); + } + +} + +function mouseClicked() { + console.log("button1?", button1.value()); + console.log("checkbox1?", checkbox1.value()); + //Update .value of either? No visible change + //to a button or checkbox + checkbox1.value("Check again"); + button1.value("clicked?"); +} + +function keyTyped() { + switch (key) { + case "r": + //move slider1 value to 100 + slider1.value(100); + break; + } +} diff --git a/src/data/examples/zh-Hans/16_Dom/13_DOM_Form_Elements.js b/src/data/examples/zh-Hans/16_Dom/13_DOM_Form_Elements.js new file mode 100644 index 0000000000..d83dfdc13e --- /dev/null +++ b/src/data/examples/zh-Hans/16_Dom/13_DOM_Form_Elements.js @@ -0,0 +1,152 @@ +/* + * @name DOM Form Elements + * @frame 600,400 + * @description contributed by + Prof WM Harris, How to use p5 DOM form elements to create a slider, +button, checkbox, radio group, select menu, and entry field.
+Functions are created that include: the canvas +setup, checkbox creation with text, text box with text that projects +typed text onto canvas, slider with button, three selections which +project a rectangle in different areas on the canvas depending on +selection, and a drop down menu with font change. +*/ + +/* global variables */ +//p5 DOM form elements +let slider1; +let button1; +let checkbox1; +let radio1; +let select1; +let entry1; + +function setup() { + createCanvas(200, 200); + background("beige"); + + checkbox1 = createCheckbox("Check me"); + + createP(); //spacer with

tag + + createSpan("What's your name? "); //label for entry1 + // createInput([value], [type]) + // type: "text" (default), "number", + // "date", "password", "email", etc. + entry1 = createInput(); + //If text in the entry field changes, call + //the entryCallback function. + entry1.changed(entryCallback); + + createP(); //spacer with

tag + + //createSlider(min, max, [value], [step]) + slider1 = createSlider(10, 200); + + button1 = createButton("Press me"); //, "pressed"); + //Assign callback fcn for button1 + //when user clicks mouse on it + button1.mouseClicked(button1Clicked); + + createP(); //spacer with

tag + + radio1 = createRadio(); + + //.option([value], [contentLabel]) + //If 1 param, it's both content AND + //value. Values treated as strings. + radio1.option(1, "cranberries"); + radio1.option(2, "almonds"); + radio1.option(3, "gouda"); + + radio1.value("1"); //set init value + + createP(); //spacer with

tag + + select1 = createSelect(); + //.option([contentValue],[value]) + //If 1 param, it's both content AND + //value. Values treated as strings. + select1.option("Sans-serif"); + select1.option("Serif"); + select1.option("Fantasy"); + //If changed, call select1Changed + select1.changed(select1Changed); +} + +function draw() { + //get value from slider 1 + let gray = slider1.value(); + fill(gray); + + //If mouse in corner, turn on checkbox1 + if ((mouseX < width / 3) && + (mouseY < height / 3)) { + checkbox1.checked(true); + } + //Is checkbox1 checked? Say so. + if (checkbox1.checked()) { + text("CHECKED", 20, 40); + } + + switch (radio1.value()) { + //radio value is always a string + case "1": + rect(0, 0, width, 50); + break; + case "2": + rect(0, 70, width, 50); + break; + case "3": + rect(0, 140, width, 50); + break; + } +} + +//callback fcn for button1 +function button1Clicked() { + //reset slider value to 200 + slider1.value(200); +} + + +//callback fcn for select1 +function select1Changed() { + switch (select1.value()) { + case "Sans-serif": + textFont("sans-serif"); + break; + case "Serif": + textFont("serif"); + break; + case "Fantasy": + textFont("fantasy"); + break; + } +} + +//callback function for entry1 +function entryCallback() { + for (let i = 0; i < 25; i++) { + text(entry1.value(), random(width), + random(height)); + } + +} + +function mouseClicked() { + console.log("button1?", button1.value()); + console.log("checkbox1?", checkbox1.value()); + //Update .value of either? No visible change + //to a button or checkbox + checkbox1.value("Check again"); + button1.value("clicked?"); +} + +function keyTyped() { + switch (key) { + case "r": + //move slider1 value to 100 + slider1.value(100); + break; + } +}