+
+ /* We changed the nodes, let's fix teh position var */
+ if( bChangedPosition )
+ {
+ VarTree::Iterator it;
+ int i = 0;
+ int iFirst = 0;
+ for( it = m_rTree.begin(); it != m_rTree.end();
+ it = m_rTree.getNextVisibleItem( it ) )
+ {
+ i++;
+ if( it == m_firstPos )
+ {
+ iFirst = i;
+ break;
+ }
+ }
+ iFirst += maxItems();
+ if( iFirst >= m_rTree.visibleItems() ) iFirst = m_rTree.visibleItems();
+ float f_new = (float)iFirst / (float)m_rTree.visibleItems();
+ m_dontMove = true;
+ m_rTree.getPositionVar().set( 1.0 - f_new );
+ m_dontMove = false;
+ }