panelSet reflow event ?

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>

Please help !!

This seems to be a problem

This 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.

<e:handler event="reflow" type="application/javascript">
        bb.ui.reflow( this.getProperty('parentNode') );
</e:handler>

workaround

in 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

What 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:panelSet rows="150px *" columns="300px *" splitter="true">
    <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???

Hello @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

I 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" />