On Sun, Sep 20, 2015 at 9:30 AM, richard boaz <ivor.b...@gmail.com> wrote:
> Hi Stefan,
>
> this question also came up a few years ago, where i detailed the solution i
> have employed for this problem here:
> https://mail.gnome.org/archives/gtk-list/2010-September/msg00047.html
>
> i subsequently formalized this into a self-contained library, with a
> complete description of it here:
> http://www.binpress.com/app/gtk-widget-state-manager/1008
>
> and, feel free to find the complete source code for free download here:
> https://gitlab.com/ivor/GTK-WSM


just a note: doing this "properly" should involve Actions, not widgets.

it is unfortunate that neither GTK's own documentation, along with
most stuff I've read on GUI programming, doesn't emphasize the concept
of Actions as a more basic element of GUI programs.

why is this important? Because in any good GUI program, many of the
possible things a user can do should be drivable by both mouse/touch
based interaction with a widget, but also by other mechanism (such as
the keyboard, or external network control). By coding around widgets
as the basic concept, the design misses out on this basic truth.

if you use Actions, then you can make actions insensitive. This will
propagate to their on-screen proxies (widgets) but also to the
action's activability via other mechanisms (i.e. Action::activate()
will not do anything no matter who or what invokes it).
_______________________________________________
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to