43 lines
1.0 KiB
Elixir
43 lines
1.0 KiB
Elixir
|
|
--# Custom animated buttons
|
|
|
|
include GtkEngine.e
|
|
|
|
constant docs = `<b><u>Custom Buttons</u></b>
|
|
You can create your own,
|
|
including animation!
|
|
`
|
|
|
|
constant ani_large = "thumbnails/dino_slo.gif"
|
|
constant ani_small = "thumbnails/dino_mite.gif"
|
|
|
|
constant win = create(GtkWindow,"border_width=10,position=1,icon=ani_small,$destroy=Quit")
|
|
|
|
constant panel = create(GtkBox,"orientation=VERTICAL")
|
|
add(win,panel)
|
|
|
|
constant lbl1 = create(GtkLabel)
|
|
set(lbl1,"markup",docs)
|
|
add(panel,lbl1)
|
|
|
|
constant box = create(GtkButtonBox)
|
|
pack(panel,-box)
|
|
|
|
constant btn = create(GtkButton)
|
|
set(btn,"label","Click Me!")
|
|
set(btn,"image",create(GtkImage,ani_small))
|
|
set(btn,"always show image",TRUE)
|
|
connect(btn,"clicked",_("Foo"))
|
|
add(box,btn)
|
|
|
|
show_all(win)
|
|
main()
|
|
|
|
----------------------------------------------------------------
|
|
function Foo()
|
|
----------------------------------------------------------------
|
|
Info(win,"OK","Thank you",
|
|
"<small>please click again sometime</small>",,ani_large,ani_small)
|
|
return 1
|
|
end function
|