[Bf-funboard] Suggestions for 2.29 panels

Luke Wenke bf-funboard@blender.org
Fri, 17 Oct 2003 20:56:40 +1000


Hi,
The panels in 2.29 are pretty cool... I've got some suggestions for
modifications to them though....(long)

==================
- Disinct Titlebars or drag using the panel background space
------------------------------------------------------------
In the recently compiled Windows version I've got, the panels don't have
distinct titlebars like in this picture:
http://www.kino3d.com/images/shot-1.png
I think the panels should have titlebars like that picture does because the
only way you can drag the panels is by clicking on the titlebars (assuming
two panels aren't joined together, in that case, you drag using the
top-right corner).
Or if you could click anywhere inside the panel (but not on the buttons) to
drag it then there would be no need for a distinct title bar. I like the
latter possibility better (dragging by clicking anywhere unimportant in the
panel, and no need for distinct titlebars).

==================
-Auto-optimizing of panel sizes and elimination of buttons window "home"
hotkey and icon
----------------------------------------------------------------------------
----------
I think that constantly while certain things are being done, the panels
should change their size using the same method that the homekey/home icon
uses. This would eliminate the need for the home hotkey and icon in the
buttons window. So while the buttons window frame are being resized, or
panels are being separated or combined, or minimized/restored, blender would
constantly do the thing that the home key usually does. Plus it should take
into account when things are minimized (currently it doesn't take into
account all of the minimized panels)

==================
- Combining and separating combined panels
---------------------------------
I found by accident that you can combine panels by dragging one on top of
another.
(See the Texture/Map Input/Map To panel)
http://www.kino3d.com/images/shot-1.png
The title bar is now used to change between the sub-panels, and the circle
on the upper-right is used to drag. It took me quite a while to work out
that you have to use the circle to drag the panel. I think the best solution
would be that users could drag any unused part of the panel to drag the
panel - and get rid of that circle. (The first time I saw it I tried
clicking on it a lot - it didn't seem to do anything [of course])
It should be easier for people to combine panels and to guess that it is
possible to combine panels. I mean when you are dragging a panel across
another panel there could be a way of them seeing that if they drop the
panel there it will combine with the other panel - without having to do it
first. It should be easier to separate combined panels. At the moment you
can click on the right area in the title bar and drag the sub-panel away -
but only if it was already active. You should be able to drag off the
non-active sub-panels as well in a single click (if the drag is small it
should be ignored since it was probably accidental). And when you're
dragging a sub-panel way, it you inititally dragged its name to the left (or
up) the original panel could side to the right (or down) so that the
subpanel you're dragging is to the left (or above) the original panel. And
if the sub-panel name was dragged to the right (or down), then the original
panel should just stay where it is and let you move the subpanel after it
(to the right or below it).

==================
- Auto-arranging of panels
---------------------------
I think the panels should be auto-arranged, similar to the auto-arranging of
icons in windows. For example, if you had 8 panels (or windows icons), it
would decide whether it should be 1x8, 2x4, 3x3 (3,3,2), 4x2, or 8x1,
depending on the dimensions of the available space, or in the case of
blender, the aspect ratio of the buttons window.
Here is how I think it should work in blender, using various aspect ratios
of the buttons window: (the letters are the panels)

e.g. for 5 panels: (with horizontal centering)

5x1
ABCDE

4x2 (???)
ABCD
    E

3x2
ABC
 DE

2x3
AB
CD
 E

2x4 (???)
AB
 C
 D
 E

1x5
A
B
C
D
E

4x2 and 2x4 look a bit odd but I think for certain aspect ratios they're the
best wasy of optimization the panel sizes. I mean I think they allow the
panels to be bigger (and therefore easier to read) than if 4x2 and 2x4
weren't possible. Though maybe the odd layout of 4x2 and 2x4 makes it harder
to read (even though the panels are probably bigger).

I think the menu to align the panels horizontally or vertically or freely
should be removed since I think this automatic way is better - plus it
automatic optimizes the panel arrangement - whether it is horizontal, or
vertical, or inbetween. There could be a similar menu where you choose the
alignment though - e.g. horizontally left, center or right alignment... and
maybe the vertical alignment could be chosen there too.

I know that the "free alignment" option gives you the freedom of being able
to put the panels anywhere, but it wouldn't give you space advantages over
this auto-arrange suggestion - unless you messily had some panels
half-covering other panels. I guess there could still be a free alignment
option though I don't think it would be very useful at all if this idea is
implemented.

There is the problem of differently sized panels though - including the
small minimized panels.... I think it should still basically be arranged
left to right, top to bottom. The panels could be treated as if they're in a
linear list (in the previous example, the order was ABCDE, even if it was
3x2 or 5x1).

About the order of the panel list:
If you had them arranged as 3x2 and swapped D with B, the order would be
"ADCBE" and it would look like:
ADC
 BE   (if centered horizontally)

About different sized objects:
Say it is like this when you have a very long buttons window: (there are
only 5 panels shown)

AABCCCDDDDEEE
AA  CCC
AA

If the window was squashed a bit horizontally, it could either become:
(not very optimized)
AABCCCDDDD
AA  CCCEEE
AA

Or
AABCCC
AA  CCC
AADDDD
EEE

Or
AABDDDD
AACCCEEE
AACCC

etc....
So it's pretty complicated with different-sized panels. But I think the
general rule should be that the list (ABCD) is in order if you read the
panels from left to right, top to bottom. This mightn't be the completely
optimal solution but at least it is consistent.

Here is an example where it isn't optimal:
AABCCD
AA   CC

And if that was squashed a bit horizontally, it would go like this:
AABCC
AA   CC
D

But the user can fix that by moving panel D. The order of the panels would
then become ABDC.
Usually ABDC would look like this though:
AABDCC
AA      CC

Or
AABD
AA
CC
CC

Or maybe
AABD
AACC
     CC

The code should be smart enough to do:
AABCC
AADCC

Or maybe the previous ABDC examples are good enough.

- Luke.