From: Masao Mutoh Date: 2003-02-23T01:51:32+09:00 Subject: Re: [Q] TreeView in Ruby-Gnome2 Hi, On Sat, 22 Feb 2003 09:48:05 +0900 Daniel Carrera wrote: > A couple of questions: > > 1) When the user clicks on an entry in a TreeView widget, how can I find > out which entry was clicked? > ---------------------- > def callback(widget, event) > # Use 'event' to find which line was clicked? > end > > tree_view.signal_connect("button_press_event") {|w, e| callback(w, e)} 1. Use Gtk::TreeView's "cursor-changed" signal. tree_view.signal_connect("cursor-changed") do ... end 2. Use Gtk::TreeSelection's "changed" signal. tree_view.selection.signal_connect("changed") do ... end > 2) How come TreeView does not have a "clicked" signal like buttons? I couldn't understand this sentence because of my poor english. What's different from your 1st question? BTW, I wrote small sample script. Hope this helps. ---------------- require 'gtk2' Gtk.init model = Gtk::TreeStore.new(String) view = Gtk::TreeView.new(model) view.append_column(Gtk::TreeViewColumn.new("Test", Gtk::CellRendererText.new(), :text => 0)) parent = nil (0..10).each do |i| parent = model.append(parent).set_value(0, "Message#{i}") end Gtk::TreeView.signals.each do |signal| view.signal_connect(signal) do |e| p "#{signal} ----" p e end end Gtk::Window.new.add(view).set_default_size(100,100).show_all Gtk.main -- .:% Masao Mutoh