Re: button event release



Hi,

There's been some talk about threads in the last couple of weeks on this
list, you should be able to lift them from the archive if you
just subscribed.

An easy alternative to threads in this case would
be to connect the socket to a GIOChannel, and have the gtk
main loop deal with the data asynchronously: the button
will release immediately and the data will get processed when it gets back.


A friend and I did this in a program we developped recently, using the gnet
library (a glib based library for portable network communication), but you
might not need that.

_very_ crudely:
 gnet_tcp_socket_connect_async(adress, port,
&(_socketConnectAsyncCallback),this);
// on the button clic

void _socketConnectAsyncCallback(GTcpSocket
*socket,GTcpSocketConnectAsyncStatus
status, gpointer data) is called when the connection is established
(or fails to)
then get the channel: _channel = gnet_tcp_socket_get_io_channel(socket);
register data arrival handler: g_io_add_watch(_channel, G_IO_IN,
&(_imageDataReadyForReading), this);
send your request: gnet_io_channel_write_%something
gboolean _imageDataReadyForReading(GIOChannel *, GIOCondition, gpointer
data) is called when some data arrives

Voilà

Hope it helps,
Jonathan


On 5/23/07, Bluezapper <enigma_enu yahoo com> wrote:

Hello all,

I have a question about button release event. I have a GTK_PANE window.

When I press the button I open a socket connection and get back some data
from it. Since the opening of socket and getting the data back takes some
time I want to display some status messages to the user in a text_view which
is added to the lower Pane.

My problem is until the button releases my whole application freezes
and  text_view gets updated after release.

How do I start two threads in Gtk so that one thread opens the socket and
other thread updates the text_view.

Thanks for having the patience to read my long complete email,

regards,

Bluezapper.


---------------------------------
Don't pick lemons.
See all the new 2007 cars at Yahoo! Autos.
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list



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