Re: [glade--]TreeView and button_press_event



On Mon, 2004-05-10 at 11:55 +0200, Christof Petig wrote:
> Fabrice Colin schrieb:
> > Fabrice Colin wrote:
> >  > Christof Petig wrote:
> >  >> Besides that I never heard of connect_notify() - can you explain the
> >  >> difference?
> >  >>
> >  > The only thing I know about it is from the explanation given by Murray
> >  > Cummings in the bug report I mentioned.
> >  > With connect(), it is first passed to the treeview/renderer (where,
> >  > unfortunately, "the standard handler stops the further handling of the
> >  > signal", ie it is not delivered in turn to the user's handler),
> >  > whereas with connect_notify(), the event is passed to the users's
> >  > handler first and then to tthe treeview.
> >  > Using connect_notify() ensures the application gets the
> >  > button_press_event message.
> >  >
> > 
> > I found another page that mentions connect_notify(), this time a tutorial :
> > 
> > http://www.gtkmm.org/gtkmm2/docs/tutorial/html/ch08s07.html
> 
> Hmmm. Now that I get a small understanding of what this is all about 
> (the handler only get's invoced if you use this largely undocumented 
> hack):

There is a bug about it in bugzilla, but we didn't have time to deal
with it for gtkmm 2.4 - there was lots of other stuff to do. The problem
has existed since gtkmm 2.0.

>  How would you like me to solve the problem?

My theory is that you should use connect_notify() or connect(false) with
all _event() signals (all signals with
return-type-stops-signal-handling).

> - use connect_notify _whenever_ you connect to a button_press signal on 
> a treeview (special hardcoded if within glademm)
> - tell anybody to connect him/herself in the ctor (which looks like the 
> most clean solution to me)
> - wait for custom signal flags within glade 3.x (to request 
> connect_notify on a per signal basis)

-- 
Murray Cumming
murrayc murrayc com
www.murrayc.com





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]