Message-ID: <43BF9209.5090300 at wanadoo.fr> Date: Sat, 07 Jan 2006 11:03:53 +0100 From: Arnold MIME-Version: 1.0 To: David MENTRE Cc: lablgtk at math.nagoya-u.ac.jp Subject: Re: How to set a tooltip on a view_column? References: <87fyo55f9i.fsf at linux-france.org> <43BAED64.8060109 at wanadoo.fr> <87bqypf4zd.fsf at linux-france.org> In-Reply-To: <87bqypf4zd.fsf at linux-france.org> Content-Type: multipart/mixed; boundary="------------040201090808020404090209" This is a multi-part message in MIME format. --------------040201090808020404090209 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit David MENTRE wrote: >Hello Arnold, > >Thank you for your reply, but unfortunatly none of your two methods >work. > > > Hi David, here attached the file tree.ml (from lablgtk-2.6.0/examples) modified. It works for me. The tooltip is displayed when above the header of the column "Title". regards --------------040201090808020404090209 Content-Type: text/plain; name="tree.ml" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="tree.ml" (* $Id: tree.ml,v 1.9 2003/06/19 16:07:48 garrigue Exp $ *) open StdLabels open Gobject.Data let cols = new GTree.column_list let title = cols#add string let author = cols#add string let checked = cols#add boolean let create_model () = let store = GTree.tree_store cols in let row = store#append () in store#set ~row ~column:title "The Art of Computer Programming"; store#set ~row ~column:author "Donald E. Knuth"; store#set ~row ~column:checked false; store#set ~row:(store#append ~parent:row ()) ~column:title "Volume 1: Fundamental Algorithms"; store#set ~row:(store#append ~parent:row ()) ~column:title "Volume 2: Seminumerical Algorithms"; store#set ~row:(store#append ~parent:row ()) ~column:title "Volume 3: Sorting and Searching Algorithms"; store let main () = let model = create_model () in let window = GWindow.window () in window#connect#destroy ~callback:GMain.quit; let view = GTree.view ~model ~packing:window#add () in let col = GTree.view_column () ~renderer:(GTree.cell_renderer_text[], ["text",title]) in let label = GMisc.label ~text:"Title" () in col#set_widget (Some label#coerce); view#append_column col; let button = let rec get_button w = match w with None -> None | Some p -> begin let name = Gobject.Type.name (Gobject.get_type p#as_widget) in if name = "GtkButton" (* try to cast our GObj.widget to a GButton.button *) then try Some (new GButton.button (Gobject.try_cast p#as_widget name)) with _ -> get_button p#misc#parent (* check the parent of our GObj.widget *) else get_button p#misc#parent end in get_button col#widget in let _ = match button with None -> () | Some b -> begin let tooltips = GData.tooltips () in tooltips#set_tip b#coerce ~text:"This is column \"Title\"" ~privat:""; end in let col = GTree.view_column ~title:"Author" () ~renderer:(GTree.cell_renderer_text[], ["text",author]) in view#append_column col; let col = GTree.view_column ~title:"Checked-out" () ~renderer:(GTree.cell_renderer_text[], ["text",checked]) in view#append_column col; view#selection#connect#after#changed ~callback: begin fun () -> prerr_endline "selection changed"; List.iter view#selection#get_selected_rows ~f: (fun p -> prerr_endline (GtkTree.TreePath.to_string p)); end; view#connect#after#row_activated ~callback: (fun path vcol -> prerr_endline "Row activated"; let it = model#get_iter path in assert (model#iter_is_valid it); model#clear (); ); window#show (); GMain.main () let () = main () --------------040201090808020404090209--