67 lines
2.0 KiB
Elixir
67 lines
2.0 KiB
Elixir
|
|
--------------------------------------------------------------------------------
|
|
--# GTK Radio Buttons
|
|
--------------------------------------------------------------------------------
|
|
|
|
include GtkEngine.e
|
|
|
|
constant
|
|
docs = `<b><u>RadioButtons</u></b>
|
|
Choose a beverage
|
|
(only 1 to a customer)`,
|
|
fmt = "<span size='x-large' weight='heavy' underline='double' underline_color='red' >%s</span>",
|
|
bob = create(GdkPixbuf,"thumbnails/user_icon.gif")
|
|
|
|
constant win = create(GtkWindow,
|
|
"title=`Bob's Diner`,size=250x-1,border=10,position=1,icon=face-raspberry,$destroy=Quit")
|
|
|
|
constant panel = add(win,create(GtkBox,VERTICAL))
|
|
|
|
constant lbl = add(panel,create(GtkLabel,{
|
|
{"markup",docs},
|
|
{"margin bottom",5}}))
|
|
|
|
sequence rb = repeat(0,4) -- each radio button in a group is parented to the previous button,
|
|
rb[1] = create(GtkRadioButton,0,"#_Coke") -- except for the first, where parent = null;
|
|
rb[2] = create(GtkRadioButton,rb[1],"#_Pepsi")
|
|
rb[3] = create(GtkRadioButton,rb[2],"#_Mountain Dew")
|
|
rb[4] = create(GtkRadioButton,rb[3],"#Iced _Tea")
|
|
add(panel,rb)
|
|
|
|
constant box = add(panel,create(GtkButtonBox)),
|
|
btn1 = create(GtkButton,"gtk-quit","Quit"),
|
|
btn2 = create(GtkButton,"gtk-ok",_("ShowBeverageChoice"))
|
|
|
|
set(btn2,"can default",TRUE) -- set up btn2 to be activated on <enter>
|
|
set(win,"default",btn2)
|
|
|
|
add(box,{btn1,btn2})
|
|
|
|
show_all(win)
|
|
main()
|
|
|
|
--------------------------------------------------------------
|
|
function ShowBeverageChoice()
|
|
--------------------------------------------------------------
|
|
object drink
|
|
for i = 1 to length(rb) do
|
|
if get(rb[i],"active") then --(1)
|
|
drink = remove_all('_',get(rb[i],"label")) --(2)
|
|
exit --(3)
|
|
end if
|
|
end for
|
|
Info(win,"Bob's Diner","Your Beverage Choice",
|
|
sprintf(fmt,{drink}),,bob,"face-raspberry")
|
|
return 1
|
|
end function
|
|
|
|
--[1] check for selected button,
|
|
--[2] remove leading underscore for neat display,
|
|
--[3] since there can only be one active, we're done!
|
|
|
|
|
|
|
|
|
|
|
|
|