From 171337d39901ab386225784ef43bdc4c4dac6f42 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Wed, 18 Sep 2019 08:43:54 +0200 Subject: [PATCH] addColumnSpacer/addRowSpacer added --- src/layouts/QskGridBox.cpp | 19 +++++++++++++++++++ src/layouts/QskGridBox.h | 3 +++ 2 files changed, 22 insertions(+) diff --git a/src/layouts/QskGridBox.cpp b/src/layouts/QskGridBox.cpp index e7403556..ea941c60 100644 --- a/src/layouts/QskGridBox.cpp +++ b/src/layouts/QskGridBox.cpp @@ -6,6 +6,7 @@ #include "QskGridBox.h" #include "QskGridLayoutEngine.h" #include "QskEvent.h" +#include "QskQuick.h" #include 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; diff --git a/src/layouts/QskGridBox.h b/src/layouts/QskGridBox.h index b388999d..35515a99 100644 --- a/src/layouts/QskGridBox.h +++ b/src/layouts/QskGridBox.h @@ -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 );