59 lines
1.6 KiB
Elixir
59 lines
1.6 KiB
Elixir
|
|
--------------------------------------------------------------------------
|
|
--# GtkToggleToolButtons
|
|
--------------------------------------------------------------------------
|
|
|
|
include GtkEngine.e
|
|
|
|
constant docs = `<u><b>ToggleToolButtons</b></u>
|
|
Choose none, several, or all options.
|
|
Click buttons above.
|
|
`
|
|
constant names = {"Clown","Dragon","Fish"}
|
|
|
|
constant win = create(GtkWindow,"border=10,size=300x300,position=1,$destroy=Quit")
|
|
|
|
constant panel = create(GtkBox,VERTICAL)
|
|
add(win,panel)
|
|
|
|
constant bar = create(GtkToolbar)
|
|
pack(panel,bar)
|
|
|
|
object tb = repeat(0,3)
|
|
|
|
constant img1 = create(GdkPixbuf,"thumbnails/clown.png",25,25)
|
|
tb[1]= create(GtkToggleToolButton,"1","Show",1)
|
|
set(tb[1],"icon widget",create(GtkImage,img1))
|
|
|
|
constant img2 = create(GdkPixbuf,"thumbnails/dragon.png",25,25)
|
|
tb[2] = create(GtkToggleToolButton,"2","Show",2)
|
|
set(tb[2],"icon widget",create(GtkImage,img2))
|
|
|
|
constant img3 = create(GdkPixbuf,"thumbnails/fish.png",25,25)
|
|
tb[3] = create(GtkToggleToolButton,"3","Show",3)
|
|
set(tb[3],"icon widget",create(GtkImage,img3))
|
|
|
|
add(bar,tb)
|
|
|
|
constant lbl1 = create(GtkLabel)
|
|
set(lbl1,"markup",docs)
|
|
add(panel,lbl1)
|
|
|
|
constant lbl2 = create(GtkLabel,"font=18,color=red")
|
|
add(panel,lbl2)
|
|
|
|
show_all(win)
|
|
main()
|
|
|
|
--------------------------------------------
|
|
global function Show(atom ctl, atom data)
|
|
--------------------------------------------
|
|
object txt = "", char = " "
|
|
for i = 1 to 3 do
|
|
if get(tb[i],"active") then char = "✔" else char = " " end if
|
|
txt &= sprintf("%s %s\n",{names[i],char})
|
|
end for
|
|
set(lbl2,"markup",txt)
|
|
return 1
|
|
end function
|