Re: RFC: new features



On Wed, 2012-01-11 at 20:38 -0800, Christian Hergert wrote:

> VALIDATION
> Many developers in the web world have become accustom to "validating"
> the contents of forms before submitting them. While we would often argue
> against allowing invalid input in the first place, that can often
> confuse users. In this case, allowing the input and providing an
> accurate reason why the input is invalid yields better results. I'm not
> sure what a good API here would look like, but it needs to be flexible
> enough to work with built-in and custom widgets.

There is some level of validation in the gtk+ printing dialog. The
printer configuration files (PPD files) can specify certain combination
of enabled features as "incompatible" (i.e. can't do full duplex while
stapling or whatnot). Whenever something is invalid we show a label
somewhere explaining the problem and then each problematic settings
widget gets a warning icon. 

This is imho a pretty nice way to handle validation. You're not unable
to input invalid input (which can be confusing), but you get instant
feedback on when and what is invalid.

> MENU BUTTON
> A GtkButton that shows a menu when clicked (and handles positioning,
> etc). Some would just use a combobox, but I find them pretty different.
> You'll find this sort of "menu button" in various VMware products on
> Linux. (I know the fullscreen toolbar used to have it at least).

Gnome-contacts has one of these (at least in Gnome 3.2). Its not hard to
do but would be nice to have in a single place. Also, it needs some help
from the theme to look good, like adwaita does here:
http://git.gnome.org/browse/gnome-themes-standard/commit/?id=90c4f48cf7720fb9b31e8388843a5fa6b8f3f705

> WIDGET STACK
> Like a notebook with no tabs or decoration. You "push" and "pop" widgets
> on and off the stack. This is the navigational structure often found on
> iOS. The reason I think abstracting it might make sense is more about
> animating between widgets once Gtk starts landing animation (post
> clutter integration obviously). It would be great if this nicely
> integrated with a "navigation bar" type widget. Here[3] is a video of
> some crappy animation code I wrote to do this.

Not only does it help with animation, but its also nice in terms of size
allocation. Often you want a set of widgets that can temporarily change
into another set (for instance during editing) without causing a UI
reflow. Having a widget stack like this helps with this size allocation
handling.




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