Re: GtkPaned (was Re: Patch to GtkPaned.)



On Thursday, February 15, 2001 at 14:19, Havoc Pennington wrote:
> >        Clickable  Area
> > ------+---+-------+---+-----
> >       |   |<.....>|   |
> > --------+ |<.....>|   |
> > Button  | |<.....>|   |
> >         | |<.....>|   |
> > --------+ |<.....>|   |
> >       |   |<.....>|   |
> > ------+---+-------+---+-----
> >           VisualBar
> > 
> > As this picture shows, the clickable area surrounds the visual portion
> > of the bar. A button overlaps part of the clickable area.
> > (In this case, the button's clickable area would be considered above
> > the clickable area of the bar.)
> 
> This is easy to implement, though I'm not sure it's right - why not
> just make the bar wider visually, if it's too narrow to hit? Clicking
> on what's visually part of the button shouldn't drag the bar.

You are right - in a way. But consider pluggable windows (toolbars etc),
which is implemented in GTK with GtkHandleBox. The area where you can
drop an unplugged window (in order to have it docked) should be large
enough to make dropping simple. But this area should not really occupy
any visual space. In GTK 1.2.8 this area was something like two pixels
high - way too small to dock easily - but still somewhat too big
visually (two pixel rows are lost).

I consider the Paned widget to be a similar case. The user needs some
extra room - even if the bar is wide enough visually. With my proposed
behavor, some space could also be saved for the bar. A normal bar/gutter
size is 10 (see testgtk 1.2.8). In windows, 4 pixel wide bars aren't
uncommon.

I don't consider it a problem if a button or other widget is too near,
i.e. parly inside the clickable area of the bar (as in the figure above).
The clickable area would just become smaller to accommodate for the
other widget. The other widgets wouldn't change at all. (Clicking a
button is usually much more critical than moving a paned bar.)

Oskar Liljeblad (osk hem passagen se)




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