added eugtk examples
This commit is contained in:
96
eugtk/examples/test54.ex
Normal file
96
eugtk/examples/test54.ex
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--# Menus
|
||||
----------------------------------------------------------------------
|
||||
|
||||
include GtkEngine.e
|
||||
|
||||
constant docs = `<u><b>Menus</b></u>
|
||||
Please run this from an x-term
|
||||
so that you can see the results
|
||||
when you activate a menu item!
|
||||
`
|
||||
constant win = create(GtkWindow,"size=300x-1,position=1,$destroy=Quit")
|
||||
|
||||
constant panel = create(GtkBox,"orientation=VERTICAL")
|
||||
add(win,panel)
|
||||
|
||||
constant menubar = create(GtkMenuBar)
|
||||
pack(panel,menubar)
|
||||
|
||||
constant sep = create(GtkSeparator)
|
||||
pack(panel,sep)
|
||||
|
||||
constant filemenu = create(GtkMenuItem,"_File")
|
||||
set(menubar,"append",filemenu)
|
||||
|
||||
constant sub1 = create(GtkMenu)
|
||||
set(filemenu,"submenu",sub1)
|
||||
|
||||
enum OPEN,CLOSE,DIRTY=4
|
||||
|
||||
sequence f = repeat(0,9)
|
||||
f[1] = create(GtkMenuItem,"_Open","fOpen")
|
||||
f[2] = create(GtkMenuItem,"_Close","fClose")
|
||||
f[3] = create(GtkSeparatorMenuItem)
|
||||
f[4] = create(GtkCheckMenuItem,"_Dirty","fDirty")
|
||||
f[5] = create(GtkSeparatorMenuItem)
|
||||
f[6] = create(GtkRadioMenuItem,NULL,"One","BtnID",1)
|
||||
f[7] = create(GtkRadioMenuItem,f[6],"Two","BtnID",2)
|
||||
f[8] = create(GtkRadioMenuItem,f[7],"Three","BtnID",3)
|
||||
f[9] = create(GtkMenuItem,"_Quit","Bail")
|
||||
|
||||
set(f[2],"sensitive",FALSE)
|
||||
set(sub1,"append",f)
|
||||
|
||||
constant lbl = create(GtkLabel)
|
||||
set(lbl,"markup",docs)
|
||||
add(panel,lbl)
|
||||
|
||||
show_all(win)
|
||||
main()
|
||||
|
||||
-----------------------
|
||||
global function fOpen()
|
||||
-----------------------
|
||||
puts(1,"Open menu item clicked\n")
|
||||
set(f[2],"sensitive",TRUE)
|
||||
set(f[1],"sensitive",FALSE)
|
||||
return 1
|
||||
end function
|
||||
|
||||
------------------------
|
||||
global function fClose()
|
||||
------------------------
|
||||
puts(1,"Close menu item clicked\n")
|
||||
set(f[2],"sensitive",FALSE)
|
||||
set(f[1],"sensitive",TRUE)
|
||||
return 1
|
||||
end function
|
||||
|
||||
--------------------------------
|
||||
global function fDirty(atom ctl)
|
||||
--------------------------------
|
||||
printf(1,"Dirty = %d\n",get(ctl,"active"))
|
||||
return 1
|
||||
end function
|
||||
|
||||
------------------------------------------
|
||||
global function BtnID(atom ctl, atom id)
|
||||
------------------------------------------
|
||||
if get(ctl,"active") then
|
||||
printf(1,"Radio %d active\n",id)
|
||||
end if
|
||||
return 1
|
||||
end function
|
||||
|
||||
----------------------
|
||||
global function Bail()
|
||||
----------------------
|
||||
if get(f[4],"active") then
|
||||
Warn(win,"Sorry","The file is dirty","clean it up first!")
|
||||
else
|
||||
Quit()
|
||||
end if
|
||||
return 1
|
||||
end function
|
||||
Reference in New Issue
Block a user