GUI enabling/disabling of controls: Difference between revisions
Content added Content deleted
(Added BaCon version.) |
|||
Line 268: | Line 268: | ||
ExitApp |
ExitApp |
||
; Ensures the script ends when the GUI is closed.</lang> |
; Ensures the script ends when the GUI is closed.</lang> |
||
=={{header|BaCon}}== |
|||
This code requires BaCon 4.0.1 or higher. |
|||
<lang bacon>OPTION GUI TRUE |
|||
PRAGMA GUI gtk3 |
|||
gui = GUIDEFINE(" \ |
|||
{ type=WINDOW name=window callback=delete-event title=\"Rosetta Code\" width-request=200 } \ |
|||
{ type=BOX name=box parent=window orientation=GTK_ORIENTATION_VERTICAL } \ |
|||
{ type=SPIN_BUTTON name=spin parent=box numeric=TRUE } \ |
|||
{ type=BUTTON_BOX name=bbox parent=box } \ |
|||
{ type=BUTTON name=increment parent=bbox callback=clicked label=\"Increment\" } \ |
|||
{ type=BUTTON name=decrement parent=bbox callback=clicked label=\"Decrement\" } ") |
|||
CALL GUISET(gui, "spin", "adjustment", gtk_adjustment_new(0, 0, 10, 1, 1, 0)) |
|||
CALL GUISET(gui, "decrement", "sensitive", FALSE) |
|||
DECLARE input TYPE FLOATING |
|||
WHILE TRUE |
|||
event$ = GUIEVENT$(gui) |
|||
CALL GUIGET(gui, "spin", "value", &input) |
|||
SELECT event$ |
|||
CASE "increment" |
|||
INCR input |
|||
CASE "decrement" |
|||
DECR input |
|||
CASE "window" |
|||
BREAK |
|||
ENDSELECT |
|||
CALL GUISET(gui, "spin", "value", input) |
|||
CALL GUISET(gui, "decrement", "sensitive", IIF(input <= 0, FALSE, TRUE)) |
|||
CALL GUISET(gui, "increment", "sensitive", IIF(input > 9, FALSE, TRUE)) |
|||
CALL GUISET(gui, "spin", "sensitive", IIF(input = 0, TRUE, FALSE)) |
|||
WEND</lang> |
|||
=={{header|BBC BASIC}}== |
=={{header|BBC BASIC}}== |