[Kst] The problem with auto-sizing labels

Brisset, Nicolas Nicolas.Brisset at eurocopter.com
Tue Jan 30 14:29:13 CET 2007


> Mandatory auto-sizing of labels is a bit of an issue.  Justification  
> (horizontal) is actually useful with the current design, however.   
> Place a label to the right edge of the view and put dynamic 
> content in it (scalar/strings).  Those can cause the label to 
> grow, but it can't grow because it's already right-aligned.  
> Therefore we presently use justify-centre.  My feeling is we 
> should generally justify-left, however there could be 
> sessions where it makes more sense to justify-right.  In fact 
> resizing labels due to content changing is horribly ugly in 
> my opinion.  It can destroy the layout of a session entirely. 
>  Therefore I'm going to revert this change and I think we 
> need to reconsider label sizing once again.
After playing around with labels a bit, there are definitely some
usability poblems. So here is my (user) opinion as to how they should
work:
1) when a user draws a rectangle to create a label, it should be made to
fit inside it as the user knows where the label should go and even went
as far as indicating the bounding box
2) when a user just clicks (without dragging to delimit a rectangle) to
create a label, it should use the default font size and start from where
he clicked
3) when a label is too long and reaches a window border it should stop
expanding and shrink font size
4) at least in layout mode it should be possible to resize a label by
dragging the control points, adjusting font size automatically as
required. Moving and resizing with the mouse is clearly the easiest way,
especially compared to calling the dialog to try a smaller/bigger font
size until finding the appropriate one !
5) for labels spanning multiple lines, it would be convenient to have
justify-left (default), center and justify-right. For labels on one
line, an adjusted box with padding as now is enough 
6) I don't see a problem with resizing labels due to contents changing.
In many cases there should not be major length differences and even if
there are, I think the best hint at how to show the label is the
bounding box delimited by the user at the beginning. If he does not like
the new size, he can enlarge it easily (see 4) above)

I am pretty confident that the above behavior would satisfy users, I
really hope we reach a consensus on it and at least give it a try. The
only thing that needs more consideration IMHO is defaults: how can we
set default attributes for newly created objects. That's a discussion we
have already had in the past
(http://bugs.kde.org/show_bug.cgi?id=130278: I can't believe we left
this aside for so long just because we did not find the right labels, as
everybody seemed to agree on the idea !). Another idea I liked was to
add a "copy formatting" button a la MS Word, where you could select one
object and apply its settings to other objects of the same type with
just one click. I could not find it in bugzilla, maybe I should create
it ?


Nicolas


More information about the Kst mailing list