[Glade-devel] I'd like to know an architectural decision
Pavel Kostyuchenko
shprotx at gmail.com
Sat May 3 06:40:10 EDT 2008
I know such problems as:
- there is an ugly mechanism to reflect widgets state on realization.
The most problem code is "glade_widget_show_idle (...) { ...
glade_widget_show ... } glade_widget_show (...) { ... g_idle_add
(glade_widget_show_idle ... }". It grabs the idle event. Of course,
you can just replace g_idle_add with g_timeout_add, but it would be
just a workaround. IMHO, glade_widget_show shouldn't do any actions
with GUI, but other functions should do that instead (like
gtk_widget_realize, gtk_widget_map do in GtkWidget);
- there are too many actions in glade_app_project_add e.g
glade_widget_show calling and setting current project;
- "glade_design_layout_add (...) { ... gdk_window_lower
(layout->priv->event_window); }" as an example of gdk usage where it's
unwanted.
On Sat, May 3, 2008 at 5:06 AM, Tristan Van Berkom
<tristan.van.berkom at gmail.com> wrote:
> Ok Im not familliar with any well known hangs at anjuta startup, but I'll
> try to clarify something for you.
>
> Object properties are an interface to the object, a realized widget should
> not be a prerequisite of setting an object property, if there are bugs in
> some objects that is an issue. A widget object needs to use the proper
> flags (i.e. GTK_WIDGET_REALIZED(), GTK_WIDGET_MAPPED()) to
> operate correctly and at times deffer execution until realize time.
>
> Bottom line, objects should react well to property settings, and with
> widgets it can get tricky, Im not aware of any serious bugs in widgets
> in gtk+ in this regard, if you know any such bugs, please share them
> with us ;-)
--
Regards,
Pavel
More information about the Glade-devel
mailing list