let create_gui () =
  let window = GWindow.window ~title:"ViewGraph" 
                 ~allow_shrink:true  ~allow_grow:true ()  in
  let vbox = GPack.vbox ~border_width:4 ~spacing:4 ~packing:window#add () in

  let ui_m = create_menu () in
    window#add_accel_group ui_m#get_accel_group ;
    vbox#pack ~expand:false (ui_m#get_widget "/MenuBar") ;

  let frame = GBin.frame ~label:"How to use this :" ~packing:vbox#pack () in
  let _ = GMisc.label ~text:"\n Open the Help window to know more...\n"
            ~packing:frame#add () in

  let pack = vbox#pack ~expand:true ~fill:true in
  let canvas = ViewGraph_utils.create_scrolled_canvas pack in

  let hbox = GPack.hbox ~spacing:4 ~packing:vbox#pack () in
  let select_init_env = 
    ViewGraph_select.init ViewGraph_select.default_options
      canvas (hbox#pack ~expand:true ~fill:truein

  let actions = match ui_m#get_action_groups with
    | a::[] -> a | _ -> assert false
  in
   let open_action = actions#get_action "Open" in 
  let _ = open_action#connect#activate ~callback:(open_cb select_init_env) in
  
  let _ = window#connect#destroy ~callback:quit_cb in
  let _ = window#show () in
    (canvas, select_init_env)