[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.platform.swt] Re: Layout

First idea : If C1 and C2 are same height or same width, and can be resized 
on user interaction

Use a SashForm instead of composite for C. (take a look at setWeights for 
objects ratios)
To maximize C2, use SashForm method setMaximizedControl(C2)
To return to initial state, use setMaximized(null)

Second idea : C is managed by a GridLayout (=L)
Use setLayoutData on C1 with GridData and exclude top set to true or false 
depending on C1 visibility.
When C1 visiblity is changed, set exclude top to the right value dans call 
layout() on C.
C1 will be excluded from the layout processing.

By the way, which layout is currently under L ?

Evelyne.

"frank Buloup" <buloup@xxxxxxxxxxxxxxxx> a écrit dans le message de news: 
ekoqqr$9ia$1@xxxxxxxxxxxxxxxxxxxx
> Hi,
>
> Imagine you have two composite C1 and C2 in a parent composite C
> with a layout L.
>
> C2 has a button with a mouse up listener. This listener is here to toggle 
> visibility
> of C1 and to ask L to redraw.
>
> But :
> this redraw must force C2 to occupy the all client area of C if C1 
> visibility
> is false or to get previous state if C1 visibility is true.
>
> I have not been able to do that ! It seems to be easy but...
>
> any ideas ?
>
> thanks a lot,
> regards
> frank
>
>
>