Re: [glade--]TreeView and button_press_event

Christof Petig <[email protected]> Mon, 10 May 2004 13:55:31 +0200
Newsgroups gmane.comp.gnome.glademm
Organization Adolf Petig GmbH & Co. KG
Message-ID <[email protected]>
Murray Cumming schrieb:
> 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).

Oh, I forgot that you made "after" the default (IIRC glademm's 
"after=false" just uses the default, fixed right now in CVS). So !after 
never worked with glademm and gtkmm2.2+ (IIRC gtkmm2.0 had after=false 
as a default)

Do you consider a warning when connecting an *_event signal with after 
appropriate?

    Christof