addColumnSpacer/addRowSpacer added

This commit is contained in:
Uwe Rathmann 2019-09-18 08:43:54 +02:00
parent 86f9415211
commit 171337d399
2 changed files with 22 additions and 0 deletions

View File

@ -6,6 +6,7 @@
#include "QskGridBox.h"
#include "QskGridLayoutEngine.h"
#include "QskEvent.h"
#include "QskQuick.h"
#include <algorithm>
static void qskSetItemActive( QObject* receiver, const QQuickItem* item, bool on )
@ -118,6 +119,14 @@ int QskGridBox::addItem( QQuickItem* item,
if ( item == nullptr || row < 0 || column < 0 )
return -1;
if ( qskIsTransparentForPositioner( item ) )
{
qWarning() << "Inserting an item that is marked as transparent for layouting:"
<< item->metaObject()->className();
qskSetTransparentForPositioner( item, false );
}
rowSpan = qMax( rowSpan, -1 );
columnSpan = qMax( columnSpan, -1 );
@ -169,6 +178,16 @@ int QskGridBox::addSpacer( const QSizeF& spacing,
return index;
}
int QskGridBox::addColumnSpacer( qreal spacing, int column )
{
return addSpacer( QSizeF( spacing, 0.0 ), 0, column );
}
int QskGridBox::addRowSpacer( qreal spacing, int row )
{
return addSpacer( QSizeF( 0.0, spacing ), row, 0 );
}
void QskGridBox::removeAt( int index )
{
auto& engine = m_data->engine;

View File

@ -37,6 +37,9 @@ class QSK_EXPORT QskGridBox : public QskBox
Q_INVOKABLE int addSpacer( const QSizeF&,
int row, int column, int columnSpan = 1, int rowSpan = 1 );
int addColumnSpacer( qreal spacing, int column );
int addRowSpacer( qreal spacing, int row );
void removeItem( const QQuickItem* );
void removeAt( int index );