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}}==