Re: Gtk+ Core TODO Item
- From: Tim Janik <timj gtk org>
- To: Eric Lemings <eric b lemings lmco com>
- Cc: Gtk+ Developers <gtk-devel-list gnome org>
- Subject: Re: Gtk+ Core TODO Item
- Date: Sat, 23 Sep 2000 23:44:10 +0200 (CEST)
On Thu, 21 Sep 2000, Eric Lemings wrote:
>
> There's an item in the Gtk+ Core TODO list:
>
> "State change notification Size: Big Status: 0% Target
> Version: 2.0"
>
> How can I help out with this one? I got no response from Tim. Guess
> he's too busy to read mail. ;)
sorry, i'm currently in the US and will go back to germany in a bit,
and due to that am not too regularly checking email currently.
the basic work that has to be done about state change notification
(as far as widgets are concerned) is:
1) export all widget properties through our GParam/GValue interface
2) add extra code for queueing param changed notification in places
where properties are getting changed by bypassing ->set_param()
3) implement the delivery backend for notification, based on GSignal
a bunch of widget properties are currently being exported through
the GtkArg interface, by adding a bit of compatibility code, that
maps the old set_arg/get_arg functions onto set_param/get_param,
we can actually cut down on the work required for 1).
2) will mostly amount to changes similar to:
void
gtk_foo_set_barstring (GtkFoo *foo,
const gchar *string)
{
g_return_if_fail (GTK_IS_FOO (foo));
g_free (foo->barstring);
foo->barstring = g_strdup (string);
+ g_object_queue_param_changed (G_OBJECT (foo));
}
so it's not all that hard, but it might be a bit tirering
to find and alter all necessary places.
note that extra queuing isn't required as long as the normal
parameter/property API is used, so for
void
gtk_foo_set_barstring (GtkFoo *foo,
const gchar *string)
{
g_return_if_fail (GTK_IS_FOO (foo));
g_object_set (G_OBJECT (foo),
"barstring", string,
NULL);
}
no modifications are required, but it's obviously also not as
performant and lacks type safety.
>
> Eric.
>
---
ciaoTJ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]