To: lablgtk at kaba.or.jp Subject: Re: (repost) How to use different modifier in menu? References: <002601c45a45$7f740650$1501a8c0 at hama> From: Michael Welsh Duggan Date: Thu, 24 Jun 2004 22:05:21 -0400 In-Reply-To: <002601c45a45$7f740650$1501a8c0 at hama> (SooHyoung Oh's message of "Fri, 25 Jun 2004 08:46:15 +0900") Message-ID: <87n02sqtni.fsf at cs.cmu.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Michael Welsh Duggan "SooHyoung Oh" writes: > What I want is the following menu > > "File" > ---- > "Open" -> "O" > "Some Job" -> "F10" (no modifier, Function 10) > "The other job" -> "K" (no modifier) > "Quit" -> "Q" > > I'd like to use Shift-O for file opening and > Control-Q for quit. > > Does anyone have LablGtk example code for using different modifier in menu? > The following appears to work: open GMain open GdkKeysyms let main () = let window = GWindow.window ~border_width:10 () in let _ = window#connect#destroy ~callback:Main.quit in let accel_group = GtkData.AccelGroup.create () in let () = window #add_accel_group accel_group in let menu = GMenu.menu_bar ~packing:window#add () in let file_item = GMenu.menu_item ~label:"File" ~packing:menu#append () in let file_menu = GMenu.menu ~packing:file_item#set_submenu () in let open_item = GMenu.menu_item ~label:"Open" ~packing:file_menu#append () in let () = open_item#add_accelerator ~group:accel_group ~modi:[`SHIFT] ~flags:[`VISIBLE] _O in let job1 = GMenu.menu_item ~label:"Some Job" ~packing:file_menu#append () in let () = job1#add_accelerator ~group:accel_group ~flags:[`VISIBLE] _F10 in let job2 = GMenu.menu_item ~label:"The other job" ~packing:file_menu#append () in let () = job2#add_accelerator ~group:accel_group ~flags:[`VISIBLE] _K in let quit = GMenu.menu_item ~label:"Quit" ~packing:file_menu#append () in let () = quit#add_accelerator ~group:accel_group ~modi:[`CONTROL] ~flags:[`VISIBLE] _Q in let () = window#show () in Main.main () let _ = main () -- Michael Welsh Duggan (md5i@cs.cmu.edu)