diff --git a/qmlexport/QskQml.cpp b/qmlexport/QskQml.cpp index 75a05823..eefde44e 100644 --- a/qmlexport/QskQml.cpp +++ b/qmlexport/QskQml.cpp @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include @@ -201,7 +201,7 @@ void QskQml::registerTypes() QSK_REGISTER_GADGET( QskGradient, "Gradient" ); QSK_REGISTER_GADGET( QskGradientStop, "GradientStop" ); QSK_REGISTER_GADGET( QskIntervalF, "IntervalF" ); - QSK_REGISTER_GADGET( QskLayoutHint, "LayoutHint" ); + QSK_REGISTER_GADGET( QskLayoutMetrics, "LayoutMetrics" ); QSK_REGISTER_GADGET( QskSizePolicy, "SizePolicy" ); QSK_REGISTER_GADGET( QskTextOptions, "TextOptions" ); QSK_REGISTER_GADGET( QskMargins, "Margins" ); diff --git a/src/controls/QskControlPrivate.cpp b/src/controls/QskControlPrivate.cpp index 290e698d..7863fdfd 100644 --- a/src/controls/QskControlPrivate.cpp +++ b/src/controls/QskControlPrivate.cpp @@ -5,7 +5,7 @@ #include "QskControlPrivate.h" #include "QskSetup.h" -#include "QskLayoutHint.h" +#include "QskLayoutMetrics.h" static inline void qskSendEventTo( QObject* object, QEvent::Type type ) { @@ -173,10 +173,10 @@ QSizeF QskControlPrivate::implicitSizeHint( qreal h = constraint.height(); if ( w < 0.0 ) - w = QskLayoutHint::combined( which, contentsHint.width(), layoutHint.width() ); + w = QskLayoutMetrics::combined( which, contentsHint.width(), layoutHint.width() ); if ( h < 0.0 ) - h = QskLayoutHint::combined( which, contentsHint.height(), layoutHint.height() ); + h = QskLayoutMetrics::combined( which, contentsHint.height(), layoutHint.height() ); return QSizeF( w, h ); } diff --git a/src/layouts/QskGridLayoutEngine.cpp b/src/layouts/QskGridLayoutEngine.cpp index 0cc0d2d9..c092ddd0 100644 --- a/src/layouts/QskGridLayoutEngine.cpp +++ b/src/layouts/QskGridLayoutEngine.cpp @@ -4,7 +4,7 @@ *****************************************************************************/ #include "QskGridLayoutEngine.h" -#include "QskLayoutHint.h" +#include "QskLayoutMetrics.h" #include "QskLayoutChain.h" #include "QskSizePolicy.h" #include "QskQuick.h" @@ -30,7 +30,7 @@ namespace public: inline bool isDefault() const { - return m_stretch < 0 && m_hint.isDefault(); + return m_stretch < 0 && m_metrics.isDefault(); } bool setStretch( int stretch ) @@ -43,11 +43,11 @@ namespace return false; } - bool setHint( Qt::SizeHint which, qreal size ) + bool setMetric( Qt::SizeHint which, qreal metric ) { - if ( size != m_hint.size( which ) ) + if ( metric != m_metrics.metric( which ) ) { - m_hint.setSize( which, size ); + m_metrics.setMetric( which, metric ); return true; } return false; @@ -56,7 +56,7 @@ namespace QskLayoutChain::CellData cell() const { QskLayoutChain::CellData cell; - cell.hint = m_hint.normalized(); + cell.metrics = m_metrics.normalized(); cell.stretch = m_stretch; cell.canGrow = m_stretch != 0; cell.isValid = true; @@ -65,13 +65,13 @@ namespace } inline int stretch() const { return m_stretch; } - inline QskLayoutHint hint() const { return m_hint; } + inline QskLayoutMetrics metrics() const { return m_metrics; } int position = -1; private: int m_stretch = -1; - QskLayoutHint m_hint; + QskLayoutMetrics m_metrics; }; int maxPosition() const @@ -95,12 +95,12 @@ namespace return setValueAt( index, setStretch ); } - bool setHintAt( int index, Qt::SizeHint which, qreal size ) + bool setMetricAt( int index, Qt::SizeHint which, qreal size ) { - auto setHint = [which, size]( Setting& s ) - { return s.setHint( which, size ); }; + auto setMetric = [which, size]( Setting& s ) + { return s.setMetric( which, size ); }; - return setValueAt( index, setHint ); + return setValueAt( index, setMetric ); } Setting settingAt( int index ) const @@ -276,9 +276,9 @@ QskLayoutChain::CellData Element::cell( Qt::Orientation orientation ) const const qreal value = ( orientation == Qt::Horizontal ) ? m_spacing.width() : m_spacing.height(); - cell.hint.setMinimum( value ); - cell.hint.setPreferred( value ); - cell.hint.setMaximum( value ); + cell.metrics.setMinimum( value ); + cell.metrics.setPreferred( value ); + cell.metrics.setMaximum( value ); } else { @@ -423,7 +423,7 @@ int QskGridLayoutEngine::stretchFactor( bool QskGridLayoutEngine::setRowSizeHint( int row, Qt::SizeHint which, qreal height ) { - if ( !m_data->rowSettings.setHintAt( row, which, height ) ) + if ( !m_data->rowSettings.setMetricAt( row, which, height ) ) return false; if ( row >= m_data->rowCount ) @@ -436,13 +436,13 @@ bool QskGridLayoutEngine::setRowSizeHint( qreal QskGridLayoutEngine::rowSizeHint( int row, Qt::SizeHint which ) const { const auto& settings = m_data->rowSettings; - return settings.settingAt( row ).hint().size( which ); + return settings.settingAt( row ).metrics().metric( which ); } bool QskGridLayoutEngine::setColumnSizeHint( int column, Qt::SizeHint which, qreal width ) { - if ( !m_data->columnSettings.setHintAt( column, which, width ) ) + if ( !m_data->columnSettings.setMetricAt( column, which, width ) ) return false; if ( column >= m_data->columnCount ) @@ -455,7 +455,7 @@ bool QskGridLayoutEngine::setColumnSizeHint( qreal QskGridLayoutEngine::columnSizeHint( int column, Qt::SizeHint which ) const { const auto& settings = m_data->columnSettings; - return settings.settingAt( column ).hint().size( which ); + return settings.settingAt( column ).metrics().metric( which ); } int QskGridLayoutEngine::insertItem( QQuickItem* item, const QRect& grid ) @@ -645,7 +645,7 @@ void QskGridLayoutEngine::setupChain( Qt::Orientation orientation, auto cell = element.cell( orientation ); if ( element.item() ) - cell.hint = layoutHint( element.item(), orientation, constraint ); + cell.metrics = layoutMetrics( element.item(), orientation, constraint ); chain.expandCell( grid.top(), cell ); } @@ -671,7 +671,7 @@ void QskGridLayoutEngine::setupChain( Qt::Orientation orientation, constraint = qskSegmentLength( constraints, grid.left(), grid.right() ); auto cell = element->cell( orientation ); - cell.hint = layoutHint( element->item(), orientation, constraint ); + cell.metrics = layoutMetrics( element->item(), orientation, constraint ); chain.expandCells( grid.top(), grid.height(), cell ); } diff --git a/src/layouts/QskLayoutChain.cpp b/src/layouts/QskLayoutChain.cpp index 178c851a..0f1b6d42 100644 --- a/src/layouts/QskLayoutChain.cpp +++ b/src/layouts/QskLayoutChain.cpp @@ -52,21 +52,21 @@ void QskLayoutChain::shrinkCell( int index, const CellData& newCell ) if ( newCell.stretch >= 0 ) cell.stretch = qMax( cell.stretch, newCell.stretch ); - if ( !newCell.hint.isDefault() ) + if ( !newCell.metrics.isDefault() ) { - auto& hint = cell.hint; - auto& newHint = newCell.hint; + auto& metrics = cell.metrics; + auto& newMetrics = newCell.metrics; - hint.setMinimum( qMax( hint.minimum(), newHint.minimum() ) ); - hint.setPreferred( qMax( hint.preferred(), newHint.preferred() ) ); + metrics.setMinimum( qMax( metrics.minimum(), newMetrics.minimum() ) ); + metrics.setPreferred( qMax( metrics.preferred(), newMetrics.preferred() ) ); - if ( newHint.maximum() < hint.maximum() ) + if ( newMetrics.maximum() < metrics.maximum() ) { - hint.setMaximum( newHint.maximum() ); + metrics.setMaximum( newMetrics.maximum() ); cell.isShrunk = true; } - cell.hint.normalize(); + cell.metrics.normalize(); } } } @@ -88,10 +88,10 @@ void QskLayoutChain::expandCell( int index, const CellData& newCell ) cell.canGrow |= newCell.canGrow; cell.stretch = qMax( cell.stretch, newCell.stretch ); - cell.hint.setSizes( - qMax( cell.hint.minimum(), newCell.hint.minimum() ), - qMax( cell.hint.preferred(), newCell.hint.preferred() ), - qMax( cell.hint.maximum(), newCell.hint.maximum() ) + cell.metrics.setMetrics( + qMax( cell.metrics.minimum(), newCell.metrics.minimum() ), + qMax( cell.metrics.preferred(), newCell.metrics.preferred() ), + qMax( cell.metrics.maximum(), newCell.metrics.maximum() ) ); } } @@ -121,18 +121,18 @@ void QskLayoutChain::expandCells( QskLayoutChain::Segments preferred; QskLayoutChain::Segments maximum; - const auto chainHint = chain.boundingHint(); + const auto chainMetrics = chain.boundingMetrics(); - if ( multiCell.hint.minimum() > chainHint.minimum() ) - minimum = chain.segments( multiCell.hint.minimum() ); + if ( multiCell.metrics.minimum() > chainMetrics.minimum() ) + minimum = chain.segments( multiCell.metrics.minimum() ); - if ( multiCell.hint.preferred() > chainHint.preferred() ) - preferred = chain.segments( multiCell.hint.preferred() ); + if ( multiCell.metrics.preferred() > chainMetrics.preferred() ) + preferred = chain.segments( multiCell.metrics.preferred() ); - if ( chainHint.maximum() == QskLayoutHint::unlimited ) + if ( chainMetrics.maximum() == QskLayoutMetrics::unlimited ) { - if ( multiCell.hint.maximum() < QskLayoutHint::unlimited ) - maximum = chain.segments( multiCell.hint.maximum() ); + if ( multiCell.metrics.maximum() < QskLayoutMetrics::unlimited ) + maximum = chain.segments( multiCell.metrics.maximum() ); } for ( int i = 0; i < count; i++ ) @@ -143,13 +143,13 @@ void QskLayoutChain::expandCells( cell.stretch = qMax( cell.stretch, multiCell.stretch ); if ( !minimum.isEmpty() ) - cell.hint.expandMinimum( minimum[i].length ); + cell.metrics.expandMinimum( minimum[i].length ); if ( !preferred.isEmpty() ) - cell.hint.expandPreferred( preferred[i].length ); + cell.metrics.expandPreferred( preferred[i].length ); if ( !maximum.isEmpty() && !cell.isValid ) - cell.hint.setMaximum( maximum[i].length ); + cell.metrics.setMaximum( maximum[i].length ); if ( !cell.isValid ) { @@ -170,28 +170,28 @@ void QskLayoutChain::finish() if ( !m_cells.empty() ) { - const auto maxMaximum = QskLayoutHint::unlimited; + const auto maxMaximum = QskLayoutMetrics::unlimited; for ( auto& cell : m_cells ) { if ( !cell.isValid ) continue; - minimum += cell.hint.minimum(); - preferred += cell.hint.preferred(); + minimum += cell.metrics.minimum(); + preferred += cell.metrics.preferred(); if ( maximum < maxMaximum ) { if ( cell.stretch == 0 && !cell.canGrow ) { - maximum += cell.hint.preferred(); + maximum += cell.metrics.preferred(); } else { - if ( cell.hint.maximum() == maxMaximum ) + if ( cell.metrics.maximum() == maxMaximum ) maximum = maxMaximum; else - maximum += cell.hint.maximum(); + maximum += cell.metrics.maximum(); } } @@ -208,9 +208,9 @@ void QskLayoutChain::finish() maximum += spacing; } - m_boundingHint.setMinimum( minimum ); - m_boundingHint.setPreferred( preferred ); - m_boundingHint.setMaximum( maximum ); + m_boundingMetrics.setMinimum( minimum ); + m_boundingMetrics.setPreferred( preferred ); + m_boundingMetrics.setMaximum( maximum ); } bool QskLayoutChain::setSpacing( qreal spacing ) @@ -231,21 +231,21 @@ QskLayoutChain::Segments QskLayoutChain::segments( qreal size ) const Segments segments; - if ( size <= m_boundingHint.minimum() ) + if ( size <= m_boundingMetrics.minimum() ) { segments = distributed( Qt::MinimumSize, 0.0, 0.0 ); } - else if ( size < m_boundingHint.preferred() ) + else if ( size < m_boundingMetrics.preferred() ) { segments = minimumExpanded( size ); } - else if ( size <= m_boundingHint.maximum() ) + else if ( size <= m_boundingMetrics.maximum() ) { segments = preferredStretched( size ); } else { - const qreal padding = size - m_boundingHint.maximum(); + const qreal padding = size - m_boundingMetrics.maximum(); qreal offset = 0.0; qreal extra = 0.0;; @@ -297,10 +297,10 @@ QskLayoutChain::Segments QskLayoutChain::distributed( segment.start = offset; - qreal size = cell.hint.size( which ); + qreal size = cell.metrics.metric( which ); #if 1 - if ( which == Qt::MaximumSize && size == QskLayoutHint::unlimited ) + if ( which == Qt::MaximumSize && size == QskLayoutMetrics::unlimited ) { /* We have some special handling in QskLayoutChain::finish, @@ -308,7 +308,7 @@ QskLayoutChain::Segments QskLayoutChain::distributed( size of a cell to the bounding maximum size. No good way to have this here, TODO ... */ - size = cell.hint.size( Qt::PreferredSize ); + size = cell.metrics.metric( Qt::PreferredSize ); } #endif @@ -356,8 +356,8 @@ QskLayoutChain::Segments QskLayoutChain::minimumExpanded( qreal size ) const qreal sumFactors = 0.0; QVarLengthArray< qreal > factors( m_cells.size() ); - const qreal desired = m_boundingHint.preferred() - m_boundingHint.minimum(); - const qreal available = size - m_boundingHint.minimum(); + const qreal desired = m_boundingMetrics.preferred() - m_boundingMetrics.minimum(); + const qreal available = size - m_boundingMetrics.minimum(); for ( int i = 0; i < m_cells.size(); i++ ) { @@ -398,8 +398,8 @@ QskLayoutChain::Segments QskLayoutChain::minimumExpanded( qreal size ) const } } #else - const qreal factor = ( size - m_boundingHint.minimum() ) / - ( m_boundingHint.preferred() - m_boundingHint.minimum() ); + const qreal factor = ( size - m_boundingMetrics.minimum() ) / + ( m_boundingMetrics.preferred() - m_boundingMetrics.minimum() ); for ( int i = 0; i < m_cells.count(); i++ ) { @@ -417,8 +417,8 @@ QskLayoutChain::Segments QskLayoutChain::minimumExpanded( qreal size ) const fillSpacing = m_spacing; segment.start = offset; - segment.length = cell.hint.minimum() - + factor * ( cell.hint.preferred() - cell.hint.minimum() ); + segment.length = cell.metrics.minimum() + + factor * ( cell.metrics.preferred() - cell.metrics.minimum() ); offset += segment.length; } @@ -448,7 +448,7 @@ QskLayoutChain::Segments QskLayoutChain::preferredStretched( qreal size ) const continue; } - if ( cell.hint.preferred() >= cell.hint.maximum() ) + if ( cell.metrics.preferred() >= cell.metrics.maximum() ) { factors[i] = 0.0; } @@ -477,7 +477,7 @@ QskLayoutChain::Segments QskLayoutChain::preferredStretched( qreal size ) const const auto size = sumSizes * factors[i] / sumFactors; - const auto& hint = m_cells[i].hint; + const auto& hint = m_cells[i].metrics; const auto boundedSize = qBound( hint.preferred(), size, hint.maximum() ); @@ -519,7 +519,7 @@ QskLayoutChain::Segments QskLayoutChain::preferredStretched( qreal size ) const if ( factor > 0.0 ) segment.length = sumSizes * factor / sumFactors; else - segment.length = cell.hint.preferred(); + segment.length = cell.metrics.preferred(); } offset += segment.length; @@ -553,7 +553,7 @@ QDebug operator<<( QDebug debug, const QskLayoutChain::CellData& cell ) } else { - debug << "( " << cell.hint << ", " + debug << "( " << cell.metrics << ", " << cell.stretch << ", " << cell.canGrow << " )"; } diff --git a/src/layouts/QskLayoutChain.h b/src/layouts/QskLayoutChain.h index 1abab8f8..88095cab 100644 --- a/src/layouts/QskLayoutChain.h +++ b/src/layouts/QskLayoutChain.h @@ -6,7 +6,7 @@ #ifndef QSK_LAYOUT_CHAIN_H #define QSK_LAYOUT_CHAIN_H -#include +#include #include #include @@ -29,17 +29,17 @@ class QskLayoutChain class CellData { public: - inline qreal size( int which ) const + inline qreal metric( int which ) const { - return hint.size( which ); + return metrics.metric( which ); } - inline void setSize( int which, qreal size ) + inline void setMetric( int which, qreal size ) { - hint.setSize( which, size ); + metrics.setMetric( which, size ); } - QskLayoutHint hint; + QskLayoutMetrics metrics; int stretch = 0; bool canGrow = false; @@ -73,7 +73,7 @@ class QskLayoutChain int fillMode() const { return m_fillMode; } Segments segments( qreal size ) const; - QskLayoutHint boundingHint() const { return m_boundingHint; } + QskLayoutMetrics boundingMetrics() const { return m_boundingMetrics; } inline qreal constraint() const { return m_constraint; } inline int count() const { return m_cells.size(); } @@ -83,7 +83,7 @@ class QskLayoutChain Segments minimumExpanded( qreal size ) const; Segments preferredStretched( qreal size ) const; - QskLayoutHint m_boundingHint; + QskLayoutMetrics m_boundingMetrics; qreal m_constraint = -2.0; qreal m_spacing = 0; diff --git a/src/layouts/QskLayoutEngine2D.cpp b/src/layouts/QskLayoutEngine2D.cpp index d78c9f1b..d721665c 100644 --- a/src/layouts/QskLayoutEngine2D.cpp +++ b/src/layouts/QskLayoutEngine2D.cpp @@ -5,7 +5,7 @@ #include "QskLayoutEngine2D.h" #include "QskLayoutChain.h" -#include "QskLayoutHint.h" +#include "QskLayoutMetrics.h" #include "QskControl.h" #include "QskQuick.h" @@ -94,7 +94,7 @@ static inline qreal qskEffectiveConstraint( const QQuickItem* item, value = qskEffectiveSizeHint( item, which ).height(); if ( value < 0.0 ) - value = ( which == Qt::MaximumSize ) ? QskLayoutHint::unlimited : 0.0; + value = ( which == Qt::MaximumSize ) ? QskLayoutMetrics::unlimited : 0.0; return value; } @@ -469,19 +469,19 @@ QSizeF QskLayoutEngine2D::sizeHint( QSizeF hint; if ( constraint.width() <= 0.0 ) - hint.rwidth() = columnChain.boundingHint().size( which ); + hint.rwidth() = columnChain.boundingMetrics().metric( which ); if ( constraint.height() <= 0.0 ) - hint.rheight() = rowChain.boundingHint().size( which ); + hint.rheight() = rowChain.boundingMetrics().metric( which ); return hint; } -QskLayoutHint QskLayoutEngine2D::layoutHint( const QQuickItem* item, +QskLayoutMetrics QskLayoutEngine2D::layoutMetrics( const QQuickItem* item, Qt::Orientation orientation, qreal constraint ) const { if ( item == nullptr ) - return QskLayoutHint(); + return QskLayoutMetrics(); const auto policy = qskSizePolicy( item ).policy( orientation ); @@ -522,7 +522,7 @@ QskLayoutHint QskLayoutEngine2D::layoutHint( const QQuickItem* item, preferred = minimum; } - return QskLayoutHint( minimum, preferred, maximum ); + return QskLayoutMetrics( minimum, preferred, maximum ); } void QskLayoutEngine2D::setupChain( Qt::Orientation orientation ) const diff --git a/src/layouts/QskLayoutEngine2D.h b/src/layouts/QskLayoutEngine2D.h index 9231c1a2..7af37eb4 100644 --- a/src/layouts/QskLayoutEngine2D.h +++ b/src/layouts/QskLayoutEngine2D.h @@ -14,7 +14,7 @@ #include class QQuickItem; -class QskLayoutHint; +class QskLayoutMetrics; class QskLayoutEngine2D { @@ -57,7 +57,7 @@ class QskLayoutEngine2D protected: void layoutItem( QQuickItem*, const QRect& grid ) const; - QskLayoutHint layoutHint( const QQuickItem*, + QskLayoutMetrics layoutMetrics( const QQuickItem*, Qt::Orientation, qreal constraint ) const; enum diff --git a/src/layouts/QskLayoutHint.cpp b/src/layouts/QskLayoutMetrics.cpp similarity index 65% rename from src/layouts/QskLayoutHint.cpp rename to src/layouts/QskLayoutMetrics.cpp index 03c0aadb..086c29a3 100644 --- a/src/layouts/QskLayoutHint.cpp +++ b/src/layouts/QskLayoutMetrics.cpp @@ -3,25 +3,25 @@ * This file may be used under the terms of the QSkinny License, Version 1.0 *****************************************************************************/ -#include "QskLayoutHint.h" +#include "QskLayoutMetrics.h" #include "QskControl.h" #include #include -void QskLayoutHint::setSize( int which, qreal size ) noexcept +void QskLayoutMetrics::setMetric( int which, qreal metric ) noexcept { switch (which) { case Qt::MinimumSize: - m_minimum = size; + m_minimum = metric; break; case Qt::PreferredSize: - m_preferred = size; + m_preferred = metric; break; case Qt::MaximumSize: - m_maximum = size; + m_maximum = metric; break; default: @@ -29,21 +29,21 @@ void QskLayoutHint::setSize( int which, qreal size ) noexcept } } -void QskLayoutHint::expandTo( const QskLayoutHint& other ) noexcept +void QskLayoutMetrics::expandTo( const QskLayoutMetrics& other ) noexcept { m_minimum = std::max( m_minimum, other.m_minimum ); m_preferred = std::max( m_preferred, other.m_preferred ); m_maximum = std::max( m_maximum, other.m_maximum ); } -void QskLayoutHint::normalize() noexcept +void QskLayoutMetrics::normalize() noexcept { m_minimum = std::max( m_minimum, qreal( 0.0 ) ); m_maximum = std::max( m_minimum, m_maximum ); m_preferred = qBound( m_minimum, m_preferred, m_maximum ); } -qreal QskLayoutHint::combined( int which, qreal value1, qreal value2 ) noexcept +qreal QskLayoutMetrics::combined( int which, qreal value1, qreal value2 ) noexcept { if ( which == Qt::MaximumSize ) { @@ -65,25 +65,25 @@ qreal QskLayoutHint::combined( int which, qreal value1, qreal value2 ) noexcept static inline QString qskHintValueString( qreal value ) { - if ( value >= QskLayoutHint::unlimited ) + if ( value >= QskLayoutMetrics::unlimited ) return QStringLiteral( "unlimited" ); else return QString::number( value ); } -QDebug operator<<( QDebug debug, const QskLayoutHint& hint ) +QDebug operator<<( QDebug debug, const QskLayoutMetrics& metrics ) { QDebugStateSaver saver( debug ); debug.nospace(); - debug << "LayoutHint" << "( " - << qskHintValueString( hint.minimum() ) << ", " - << qskHintValueString( hint.preferred() ) << ", " - << qskHintValueString( hint.maximum() ) << " )"; + debug << "LayoutMetrics" << "( " + << qskHintValueString( metrics.minimum() ) << ", " + << qskHintValueString( metrics.preferred() ) << ", " + << qskHintValueString( metrics.maximum() ) << " )"; return debug; } #endif -#include "moc_QskLayoutHint.cpp" +#include "moc_QskLayoutMetrics.cpp" diff --git a/src/layouts/QskLayoutHint.h b/src/layouts/QskLayoutMetrics.h similarity index 57% rename from src/layouts/QskLayoutHint.h rename to src/layouts/QskLayoutMetrics.h index f8465d60..f7b882c8 100644 --- a/src/layouts/QskLayoutHint.h +++ b/src/layouts/QskLayoutMetrics.h @@ -3,15 +3,15 @@ * This file may be used under the terms of the QSkinny License, Version 1.0 *****************************************************************************/ -#ifndef QSK_LAYOUT_HINT_H -#define QSK_LAYOUT_HINT_H +#ifndef QSK_LAYOUT_METRICS_H +#define QSK_LAYOUT_METRICS_H #include "QskGlobal.h" #include #include #include -class QSK_EXPORT QskLayoutHint +class QSK_EXPORT QskLayoutMetrics { Q_GADGET @@ -20,19 +20,19 @@ class QSK_EXPORT QskLayoutHint Q_PROPERTY( qreal maximum READ maximum WRITE setMaximum ) public: - constexpr QskLayoutHint() noexcept = default; - constexpr QskLayoutHint( qreal minimum, qreal preferred, qreal maximum ) noexcept; + constexpr QskLayoutMetrics() noexcept = default; + constexpr QskLayoutMetrics( qreal minimum, qreal preferred, qreal maximum ) noexcept; void normalize() noexcept; - QskLayoutHint normalized() const noexcept; + QskLayoutMetrics normalized() const noexcept; constexpr bool isDefault() const noexcept; - qreal size( int which ) const noexcept; - void setSize( int which, qreal size ) noexcept; + qreal metric( int which ) const noexcept; + void setMetric( int which, qreal metric ) noexcept; - constexpr bool operator==( const QskLayoutHint& ) const noexcept; - constexpr bool operator!=( const QskLayoutHint& ) const noexcept; + constexpr bool operator==( const QskLayoutMetrics& ) const noexcept; + constexpr bool operator!=( const QskLayoutMetrics& ) const noexcept; void setMinimum( qreal value ) noexcept; constexpr qreal minimum() const noexcept; @@ -43,8 +43,8 @@ class QSK_EXPORT QskLayoutHint void setMaximum( qreal value ) noexcept; constexpr qreal maximum() const noexcept; - void setSizes( qreal minimum, qreal preferred, qreal maximum ) noexcept; - void expandTo( const QskLayoutHint& ) noexcept; + void setMetrics( qreal minimum, qreal preferred, qreal maximum ) noexcept; + void expandTo( const QskLayoutMetrics& ) noexcept; void expandMinimum( qreal value ) noexcept; void expandPreferred( qreal value ) noexcept; @@ -56,18 +56,18 @@ class QSK_EXPORT QskLayoutHint private: qreal m_minimum = 0.0; qreal m_preferred = 0.0; - qreal m_maximum = QskLayoutHint::unlimited; + qreal m_maximum = QskLayoutMetrics::unlimited; }; -Q_DECLARE_TYPEINFO( QskLayoutHint, Q_MOVABLE_TYPE ); -Q_DECLARE_METATYPE( QskLayoutHint ) +Q_DECLARE_TYPEINFO( QskLayoutMetrics, Q_MOVABLE_TYPE ); +Q_DECLARE_METATYPE( QskLayoutMetrics ) QT_WARNING_PUSH QT_WARNING_DISABLE_CLANG("-Wfloat-equal") QT_WARNING_DISABLE_GCC("-Wfloat-equal") QT_WARNING_DISABLE_INTEL(1572) -inline constexpr QskLayoutHint::QskLayoutHint( +inline constexpr QskLayoutMetrics::QskLayoutMetrics( qreal minimum, qreal preferred, qreal maximum ) noexcept : m_minimum( minimum ) , m_preferred( preferred ) @@ -75,55 +75,55 @@ inline constexpr QskLayoutHint::QskLayoutHint( { } -inline constexpr qreal QskLayoutHint::minimum() const noexcept +inline constexpr qreal QskLayoutMetrics::minimum() const noexcept { return m_minimum; } -inline void QskLayoutHint::setMinimum( qreal value ) noexcept +inline void QskLayoutMetrics::setMinimum( qreal value ) noexcept { m_minimum = value; } -inline constexpr qreal QskLayoutHint::preferred() const noexcept +inline constexpr qreal QskLayoutMetrics::preferred() const noexcept { return m_preferred; } -inline void QskLayoutHint::setPreferred( qreal value ) noexcept +inline void QskLayoutMetrics::setPreferred( qreal value ) noexcept { m_preferred = value; } -inline constexpr qreal QskLayoutHint::maximum() const noexcept +inline constexpr qreal QskLayoutMetrics::maximum() const noexcept { return m_maximum; } -inline void QskLayoutHint::setMaximum( qreal value ) noexcept +inline void QskLayoutMetrics::setMaximum( qreal value ) noexcept { m_maximum = value; } -inline void QskLayoutHint::expandMinimum( qreal value ) noexcept +inline void QskLayoutMetrics::expandMinimum( qreal value ) noexcept { if ( value > m_minimum ) m_minimum = value; } -inline void QskLayoutHint::expandPreferred( qreal value ) noexcept +inline void QskLayoutMetrics::expandPreferred( qreal value ) noexcept { if ( value > m_preferred ) m_preferred = value; } -inline void QskLayoutHint::expandMaximum( qreal value ) noexcept +inline void QskLayoutMetrics::expandMaximum( qreal value ) noexcept { if ( value > m_maximum ) m_maximum = value; } -inline void QskLayoutHint::setSizes( +inline void QskLayoutMetrics::setMetrics( qreal minimum, qreal preferred, qreal maximum ) noexcept { m_minimum = minimum; @@ -131,7 +131,7 @@ inline void QskLayoutHint::setSizes( m_maximum = maximum; } -inline qreal QskLayoutHint::size( int which ) const noexcept +inline qreal QskLayoutMetrics::metric( int which ) const noexcept { switch( which ) { @@ -148,25 +148,27 @@ inline qreal QskLayoutHint::size( int which ) const noexcept return 0.0; } -inline constexpr bool QskLayoutHint::isDefault() const noexcept +inline constexpr bool QskLayoutMetrics::isDefault() const noexcept { return ( m_minimum == 0.0 ) && ( m_preferred == 0.0 ) - && ( m_maximum == QskLayoutHint::unlimited ); + && ( m_maximum == QskLayoutMetrics::unlimited ); } -inline constexpr bool QskLayoutHint::operator==( const QskLayoutHint& other ) const noexcept +inline constexpr bool QskLayoutMetrics::operator==( + const QskLayoutMetrics& other ) const noexcept { return ( m_preferred == other.m_preferred ) && ( m_minimum == other.m_minimum ) && ( m_maximum == other.m_maximum ); } -inline constexpr bool QskLayoutHint::operator!=( const QskLayoutHint& other ) const noexcept +inline constexpr bool QskLayoutMetrics::operator!=( + const QskLayoutMetrics& other ) const noexcept { return !( *this == other ); } -inline QskLayoutHint QskLayoutHint::normalized() const noexcept +inline QskLayoutMetrics QskLayoutMetrics::normalized() const noexcept { auto hint = *this; hint.normalize(); @@ -178,7 +180,7 @@ QT_WARNING_POP #ifndef QT_NO_DEBUG_STREAM class QDebug; -QSK_EXPORT QDebug operator<<( QDebug, const QskLayoutHint& ); +QSK_EXPORT QDebug operator<<( QDebug, const QskLayoutMetrics& ); #endif diff --git a/src/layouts/QskLinearLayoutEngine.cpp b/src/layouts/QskLinearLayoutEngine.cpp index 71acef97..5ff1727e 100644 --- a/src/layouts/QskLinearLayoutEngine.cpp +++ b/src/layouts/QskLinearLayoutEngine.cpp @@ -4,7 +4,7 @@ *****************************************************************************/ #include "QskLinearLayoutEngine.h" -#include "QskLayoutHint.h" +#include "QskLayoutMetrics.h" #include "QskLayoutChain.h" #include "QskSizePolicy.h" #include "QskQuick.h" @@ -138,11 +138,11 @@ QskLayoutChain::CellData Element::cell( { if ( isLayoutOrientation ) { - cell.hint.setMinimum( m_spacing ); - cell.hint.setPreferred( m_spacing ); + cell.metrics.setMinimum( m_spacing ); + cell.metrics.setPreferred( m_spacing ); if ( m_stretch <= 0 ) - cell.hint.setMaximum( m_spacing ); + cell.metrics.setMaximum( m_spacing ); cell.stretch = qMax( m_stretch, 0 ); } @@ -445,7 +445,7 @@ void QskLinearLayoutEngine::setupChain( Qt::Orientation orientation, auto cell = element.cell( orientation, isLayoutOrientation ); if ( element.item() ) - cell.hint = layoutHint( element.item(), orientation, constraint ); + cell.metrics = layoutMetrics( element.item(), orientation, constraint ); chain.expandCell( index2, cell ); diff --git a/src/src.pro b/src/src.pro index 84223fe2..0f1af5ef 100644 --- a/src/src.pro +++ b/src/src.pro @@ -286,7 +286,7 @@ HEADERS += \ layouts/QskIndexedLayoutBox.h \ layouts/QskLayoutChain.h \ layouts/QskLayoutEngine2D.cpp \ - layouts/QskLayoutHint.h \ + layouts/QskLayoutMetrics.h \ layouts/QskLinearBox.h \ layouts/QskLinearLayoutEngine.h \ layouts/QskStackBoxAnimator.h \ @@ -298,7 +298,7 @@ SOURCES += \ layouts/QskIndexedLayoutBox.cpp \ layouts/QskLayoutChain.cpp \ layouts/QskLayoutEngine2D.cpp \ - layouts/QskLayoutHint.cpp \ + layouts/QskLayoutMetrics.cpp \ layouts/QskLinearBox.cpp \ layouts/QskLinearLayoutEngine.cpp \ layouts/QskStackBoxAnimator.cpp \