Re: [gtkmm] Re: Need your advice for glademm code
- From: Christof Petig <christof petig-baender de>
 
- To: murrayc usa net
 
- Cc: gtkmm-list <gtkmm-list gnome org>
 
- Subject: Re: [gtkmm] Re: Need your advice for glademm code
 
- Date: Wed, 23 Oct 2002 14:46:01 +0200
 
Murray Cumming wrote:
On Wed, 2002-10-23 at 13:00, Christof Petig wrote:
[snip]
So far it works very well. But once you connect to a signal of a custom 
widget, glade-- can not guess the signature of the virtual function to 
create.
You mean that in the past you expected the user to write the signature
for you? 
I provided a void Foo() signature, but the user was free to change it 
according to the signal characteristics. He could even mark it as const 
without any problems.
E.g. my tree widget provides a 'row_selected' signal which gives the 
data handle as an argument. Glade-- cannot know in advance about the 
signature to create.
Technically you can guess some of the signature based on introspection -
see gtkmm/tools/generate_extra_defs. Luckily, in 80% of cases a void
something() signature will probably be correct.
This is not an issue for gtkmm widgets' signals since their arguments 
are known. Glade provides the right signature in 98% of the cases. The 
2% never proved a problem in the past since the user was free to edit 
the signature in his own file.
What does Glade do for the C equivalent?
Glade (and gtk) is not type safe. It simply assumes that you know which 
arguments to accept in a callback. You already know, don't you?
Solutions which come to my mind:
- let the user specify callback arguments for custom widgets in an XML file.
- let the user specify the arguments for the custom widget's signal. 
This would force me to modify glade (I hate to go back to C's 
restrictions). [perhaps an option for the future, I still have plans to 
modify glade for dynamic C++ options/arguments]
   Christof
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]