------------------------------------------
-- Menu Oct 20
-- Demonstrates Menus & FileChooserDialog
------------------------------------------
include GtkEngine.e
include GtkRoutines.e
include GtkEnums.e
include dll.e
constant win = create(GtkWindow)
connect(win,"destroy",quit)
set(win,"default size",300,200)
set(win,"position",GTK_WIN_POS_CENTER)
------------------------------------------
function ShowAbout()
------------------------------------------
junk = Info(win,"About","About this program...")
return 1
end function
constant show_about = call_back(routine_id("ShowAbout"))
-----------------------------------------------------------
function OpenFile()
-----------------------------------------------------------
object filename
object dlg = create(GtkFileChooserDialog,GTK_FILE_CHOOSER_ACTION_OPEN)
set(dlg,"add button","gtk-cancel",GTK_BUTTONS_CANCEL)
set(dlg,"add button","gtk-ok",GTK_BUTTONS_OK)
if run(dlg) = GTK_BUTTONS_OK then
filename = get(dlg,"get_filename")
junk = Info(win,"Info","You chose: " & filename)
end if
return 1
end function
constant open_file = call_back(routine_id("OpenFile"))
---------------------------------------------------------
function QuitCheck()
---------------------------------------------------------
if Question(win,"Question","Do you really want to quit?") = YES then
call(quit)
end if
return 1
end function
constant quit_check = call_back(routine_id("QuitCheck"))
constant panel = create(GtkVBox)
add(win,panel)
constant menu = create(GtkMenuBar)
pack(panel,menu)
constant menuitem1 = create(GtkMenuItem,"_File"),
filemenu = create(GtkMenu),
fileopen = create(GtkImageMenuItem,"gtk-open"),
fileclose = create(GtkImageMenuItem,"gtk-close"),
filesep = create(GtkSeparatorMenuItem),
fileexit = create(GtkImageMenuItem,"gtk-quit")
connect(fileopen,"activate",open_file)
connect(fileexit,"activate",quit_check)
set(filemenu,"append",fileopen)
set(filemenu,"append",fileclose)
set(filemenu,"append",filesep)
set(filemenu,"append",fileexit)
set(menuitem1,"submenu",filemenu)
set(menu,"append",menuitem1)
constant menuitem2 = create(GtkMenuItem,"_Edit"),
editmenu = create(GtkMenu),
editstuff = create(GtkTearoffMenuItem),
editcopy = create(GtkImageMenuItem,"gtk-copy"),
editpaste = create(GtkImageMenuItem,"gtk-paste")
set(editmenu,"append",editstuff)
set(editmenu,"append",editcopy)
set(editmenu,"append",editpaste)
set(menuitem2,"submenu",editmenu)
set(menu,"append",menuitem2)
constant menuitem3 = create(GtkImageMenuItem,"gtk-help"),
helpmenu = create(GtkMenu),
helpabout = create(GtkImageMenuItem,"gtk-about")
connect(helpabout,"activate",show_about)
set(helpmenu,"append",helpabout)
set(menuitem3,"submenu",helpmenu)
set(menu,"append",menuitem3)
show_all(win)
main()
----------------------------------------------------------------
-- copyright 2008 by Irv Mullins - code released under the LGPL
----------------------------------------------------------------