autoDelete parameter for QskLayout::clear added
This commit is contained in:
parent
d09d08c338
commit
3d80322afe
@ -167,14 +167,26 @@ void QskLayout::removeItem( QQuickItem* item )
|
||||
removeAt( indexOf( item ) );
|
||||
}
|
||||
|
||||
void QskLayout::clear()
|
||||
void QskLayout::clear( bool autoDelete )
|
||||
{
|
||||
const bool isActive = m_data->isActive;
|
||||
setActive( false );
|
||||
|
||||
for ( int i = itemCount() - 1; i >= 0; i-- )
|
||||
{
|
||||
auto item = itemAtIndex( i );
|
||||
|
||||
removeAt( i );
|
||||
|
||||
if( item )
|
||||
{
|
||||
if( autoDelete && ( item->parent() == this ) )
|
||||
delete item;
|
||||
else
|
||||
item->setParentItem( nullptr );
|
||||
}
|
||||
}
|
||||
|
||||
setActive( isActive );
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,8 @@ class QSK_EXPORT QskLayout : public QskControl
|
||||
void removeItem( const QQuickItem* );
|
||||
Q_INVOKABLE void removeItem( QQuickItem* );
|
||||
Q_INVOKABLE void removeAt( int index );
|
||||
Q_INVOKABLE void clear();
|
||||
|
||||
Q_INVOKABLE void clear( bool autoDelete = false );
|
||||
|
||||
Q_INVOKABLE void setActive( bool );
|
||||
Q_INVOKABLE bool isActive() const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user