i'm having a problem catching a reflow event on a panelset. Only one panel of the panelset gets a reflow event when resizing. why ? I have some custom widgets in these panels that needs to catch this event when the user uses the splitters to resize the panels...
here is the code :
<b:panelSet rows="150px *" columns="300px *" splitter="true">
<b:panel overflow="auto" padding="5px">
......
</b:panel>
<b:panel overflow="auto" padding="5px">
......
</b:panel>
<b:panel overflow="auto" padding="5px">
......
</b:panel>
<b:panel overflow="auto" padding="5px">
......
// Only this panel recieves the reflow event !!!
</b:panel>
</b:panelSet>
<b:panel overflow="auto" padding="5px">
......
</b:panel>
<b:panel overflow="auto" padding="5px">
......
</b:panel>
<b:panel overflow="auto" padding="5px">
......
</b:panel>
<b:panel overflow="auto" padding="5px">
......
// Only this panel recieves the reflow event !!!
</b:panel>
</b:panelSet>
Please help !!

This seems to be a problem
6 February, 2008 - 11:10 — SjoerdThis seems to be a problem in the panelSet. Thanks for reporting!
As workaround you can fire the reflow manually for the panelSet, put the following code in the last panel which receives the reflow.
bb.ui.reflow( this.getProperty('parentNode') );
</e:handler>
workaround
6 February, 2008 - 19:32 — nbourdeauin the end, my workaround was to add the command
"bb.ui.reflow(oPanelSet)"
at the end of the "btl.panelSet.repaint(oPanelSet)" method (in the bindings)
Hope this will be fixed in a next release...
No Reflow
28 April, 2008 - 19:31 — casadWhat am I missing here ... I need to be able to access when the user resizes a panel and I tried your example and but receive no reflow at all:
<b:panel overflow="auto" padding="5px">
......
<e:handler event="reflow" type="application/javascript">
bb.ui.reflow( this.getProperty('parentNode') );
</e:handler>
</b:panel>
<b:panel overflow="auto" padding="5px">
......
<e:handler event="reflow" type="application/javascript">
bb.ui.reflow( this.getProperty('parentNode') );
</e:handler>
</b:panel>
<b:panel overflow="auto" padding="5px">
......
<e:handler event="reflow" type="application/javascript">
bb.ui.reflow( this.getProperty('parentNode') );
</e:handler>
</b:panel>
<b:panel overflow="auto" padding="5px">
......
<e:handler event="reflow" type="application/javascript">
bb.ui.reflow( this.getProperty('parentNode') );
</e:handler>
</b:panel>
<e:handler event="reflow" type="application/javascript">
alert('This should appear when you resize a panel');
</e:handler>
</b:panelSet>
Am I not using it correctly?
--Chris
That wont work???
29 August, 2008 - 10:39 — MaxikHello @all,
i have the same issue and it wont work. I change the attributes "rows" and "columns" from a panelSet with the method "setAttribute()". And it wont display the panelSet with those new row and column attributes.
No one of the following methods helps to solve this issue:
- "bb.ui.reflow()"
- "bb.ui.reflow.add()"
- "reset()" (method of panelSet)
- "repaint()" (method of panelSet)
Thats strange.
Do anyone know how it can be solved, that all panels in a panelSet would be accept the size (changed by method "setAttribute") and the panelSet will be rebuild (redrawn/repaint) to the new size?
Thanks in advance!
Using application logic to change panelSet sizes
16 September, 2008 - 18:21 — mwrI have the same problem as Maxik. I want to programatically change the size of one of two panels in a panelset. How can I do the equivalent of BB 3.3.2 <s:task b:action="setpanelset" />