Re: Signals & Callbacks - Help!! Part 2



I realize that I am very new at using GTK+, but what is the point of
having a function that accepts some parameters if I cannot pass any
variables to that function.

> I did as you suggested and this is the result of the modifications:
> ----snip-----
> gboolean MessageInfo(GtkButton* btn, char* msg){...}
>
> g_signal_connect(GTK_OBJECT(btnCreateAccount),"clicked", /*This line
> causes the error*/
>                     GTK_SIGNAL_FUNC(MessageInfo(btnCreateAccount,
> strMsg.c_str()) ), NULL);
> ----eos----
>
> But for some reason I get an error message that reads:
> 50: error: cannot convert `GtkWidget*' to `GtkButton*' for argument `1' to
> `gboolean
> =======
>
> I am really lost here, can anybody give me a hand on this?
>
> TIA
>
>
>> On Wed, Jul 06, 2005 at 10:58:59PM +0200, Jean Bréfort wrote:
>>> That is, the first parameter of your callback is the button which was
>>> clicked, unless you use g_signal_connect_swapped.
>>> SQo you have two solutions, either, you change the signayure of
>>> MessageInfo:
>>> gboolean MessageInfo(GtkButoon* btn, std::string& msg){...}
>>> or you use g_signal_connect_swapped:
>>> g_signal_connect_swapped(GTK_OBJECT(btnCreateAccount), "clicked",
>>>                       GTK_SIGNAL_FUNC(MessageInfo), NULL);
>>
>> Note however, GObject callbacks don't mix very logically
>> with C++ pass-by-reference argument style.
>>
>> You can't pass a std::string variable as the last argument of
>> g_signal_connect() as you would in direct function call, you
>> have to pass a pointer, and once you do that, it doesn't
>> make sense to declare
>>
>>   MessageInfo(std::string &msg)
>>
>> instead of
>>
>>   MessageInfo(std::string *msg)
>>
>> Yeti
>>
>>
>> --
>> A: Because it messes up the order in which people normally read text.
>> Q: Why is top-posting such a bad thing?
>> A: Top-posting.
>> Q: What is the most annoying thing on usenet and in e-mail?
>>
>
> _______________________________________________
> gtk-list mailing list
> gtk-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-list
>




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