Re: Proposal of a Bonobo::Zoomable interface



Maciej Stachowiak <mjs eazel com> writes:

> The reason for having a Zoomable interface is to have a common,
> consisten UI, i.e. the exact opposite of what you advocate. In
> Nautilus, we activate or deactivate the zoom control based on the
> presence of zooming support, rather than having it appear and
> disappear all the time. Even if it were desirable for some components
> to have different custom zoom controls, it would not be desirable for
> the zoom control to temporarily disappear when you switch between two
> different views that use the same one (for instance the Nautilus icon
> and list views). So I think the ability to do this generically makes
> for better UI in some ways, even if in some special circumstances, a
> custom approach could be helpful. Really, there seem to be only two
> basic cases, a fixed set of discrete zoom levels, and continuous
> zooming. 

You should also try to see it from the control programmer's point of
view. Without a generic zooming interface, he needs to provide custom
solutions for every container application in which he wants his control
to be zoomable. But with a general zooming API, he just needs to implement
this general API in his control and it'll work in whatever container
application his control will be embedded.

> In the map example you cite, zooming labels and the map independently
> would be of questionable merit, but it seems clear to me that even if
> it were useful, the map should be controlled by the primary zoom
> control, and the labels by an auxiliary control. (The fact that
> Mapquest doesn't have a method for zooming the labels at all convinces
> me it's of peripheral importance at best).

Well, if we think such zooming labels are useful, we can add them to the
zooming API of cause.

> Well, we are using the interface for the icon and list view in
> nautilus. It seems like it would apply rather sensibly to image, PDF,
> plain text, html, vector graphics, postscript and 3-D model, movie,
> etc views as well (with some tweaking of the UI for the zoom
> control). That seems pretty general-purpose to me. I'm sure there will
> also be special exceptions, but then, there are probably cases where
> GtkButton is not the right pushbutton widget.

And with fixed zoom levels, you can also use the API to set different
font sizes in things like shell, plain text, etc.

-- 
Martin Baulig
martin gnome org (private)
baulig suse de (work)




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