Fluid layouts and widgets

Cyrille Berger Skott cberger at cberger.net
Sat Dec 11 06:47:22 GMT 2010


Hi,

I have been thinking about a solution to some of our UI question/problem. The 
idea I am going to propose should allow us to use the same (docker) widgets on 
screens and devices of different size, with different configuration.

== Fluid layouts

What I am suggesting is that we have the layout and type of widget that adjust 
to different size and orientation. We currently have two examples of fluid 
layout, the toolbox and kspread cell editor.

The toolbox as you may know organize the icons by groups, and try to minimize 
the space used, in function of the size of the toolbox. I think it is working 
quiet well (at least with the new layout code in 2.3.

The kspread cell editor is simply switching between a vertical and a 
horizontal layout.

I had like to extend those concepts to all other dockers, for instance lets 
take the new paragraph docker (which looks really nice :) ):
http://cyrille.diwi.org/tmp/calligra/words_paragraph_now.png

Except that on a horizontal display it is losing space. It would be better if 
it looks like this:
http://cyrille.diwi.org/tmp/calligra/words_paragraph_ideal.png

But then it would fails when using on the top position. Hence the idea of 
using a fluid layout.

== Fluid widgets
Fluid widgets are widgets that change of form when their size change. For 
instance lets take the styles docker, currently it looks like this:
http://cyrille.diwi.org/tmp/calligra/words_styles_full.png

Which is rather ok if you have a lot of space on the screen, but assuming the 
size you have is smaller, then it would be better to have a combobox to select 
the style, like in the following mockup:
http://cyrille.diwi.org/tmp/calligra/words_styles_small.png
http://cyrille.diwi.org/tmp/calligra/words_styles_small_expanded.png

Simillary I would see Krita's tools slider be reduced to a single button that 
would popup the slider. Or if we look again at the paragraph docker, the 
"allignment" buttons could merge to become a single drop down button when 
there is not enough space.

== Opinion ?
Personnaly, I think it would allow us to use the same widget on different 
configuration, and different form factor. I don't know what you think ?

I won't commit myself to do this task... Especially since I tend to do that 
all too often and not have the time :) However, I would suggest that for 2.4, 
the fluid layout is implemented (I am hoping that the current toolbox layout 
code could be easilly adaptable as a widget layout, or at least for buttons), 
I should be able to take care of that. And then for the other part, either 
someone else wants to help in doing it, or I would be willing to mentor a new 
developer (for instance with gsoc) on the subject.

In any case, if you like the idea, I will go and add it to our wiki.

-- 
Cyrille Berger Skott



More information about the calligra-devel mailing list