diff options
Diffstat (limited to 'otherlibs/labltk/browser/jg_menu.ml')
-rw-r--r-- | otherlibs/labltk/browser/jg_menu.ml | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/otherlibs/labltk/browser/jg_menu.ml b/otherlibs/labltk/browser/jg_menu.ml index 62712f36d..b399d10d8 100644 --- a/otherlibs/labltk/browser/jg_menu.ml +++ b/otherlibs/labltk/browser/jg_menu.ml @@ -16,15 +16,12 @@ open Tk -class c ~parent ?underline:(n=0) text = object (self) - val pair = - let button = - Menubutton.create parent ~text ~underline:n in - let menu = Menu.create button in - Menubutton.configure button ~menu; - button, menu - method button = fst pair - method menu = snd pair +class c ~parent ?(underline=0) label = object (self) + val menu = + let menu = Menu.create parent in + Menu.add_cascade parent ~menu ~label ~underline; + menu + method menu = menu method virtual add_command : ?underline:int -> ?accelerator:string -> ?activebackground:color -> @@ -33,10 +30,15 @@ class c ~parent ?underline:(n=0) text = object (self) ?font:string -> ?foreground:color -> ?image:image -> ?state:state -> string -> unit - method add_command ?underline:(n=0) ?accelerator ?activebackground + method add_command ?(underline=0) ?accelerator ?activebackground ?activeforeground ?background ?bitmap ?command ?font ?foreground ?image ?state label = - Menu.add_command (self#menu) ~label ~underline:n ?accelerator + Menu.add_command menu ~label ~underline ?accelerator ?activebackground ?activeforeground ?background ?bitmap ?command ?font ?foreground ?image ?state end + +let menubar tl = + let menu = Menu.create tl ~name:"menubar" ~typ:`Menubar in + Toplevel.configure tl ~menu; + menu |