sizeHints renamed to explicitSizeHints, widthForHeight/heightForWidth
moved to QskControl
This commit is contained in:
parent
e859075f6a
commit
c46b105879
@ -206,7 +206,7 @@ public:
|
|||||||
inline void implicitSizeChanged()
|
inline void implicitSizeChanged()
|
||||||
{
|
{
|
||||||
Q_Q( QskControl );
|
Q_Q( QskControl );
|
||||||
if ( !q->QskResizable::sizeHint( Qt::PreferredSize ).isValid() )
|
if ( !q->explicitSizeHint( Qt::PreferredSize ).isValid() )
|
||||||
{
|
{
|
||||||
// when we have no PreferredSize we fall back
|
// when we have no PreferredSize we fall back
|
||||||
// to the implicit size
|
// to the implicit size
|
||||||
@ -924,15 +924,16 @@ void qskResolveLocale( QskControl* control )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QSizeF QskControl::effectiveConstraint( Qt::SizeHint whichHint ) const
|
QSizeF QskControl::effectiveSizeHint( Qt::SizeHint whichHint ) const
|
||||||
{
|
{
|
||||||
if ( whichHint < Qt::MinimumSize || whichHint > Qt::MaximumSize )
|
if ( whichHint < Qt::MinimumSize || whichHint > Qt::MaximumSize )
|
||||||
return QSizeF( 0, 0 );
|
return QSizeF( 0, 0 );
|
||||||
|
|
||||||
QSizeF constraint = QskResizable::sizeHint( whichHint );
|
QSizeF size = explicitSizeHint( whichHint );
|
||||||
if ( whichHint == Qt::PreferredSize && !constraint.isValid() )
|
|
||||||
|
if ( whichHint == Qt::PreferredSize && !size.isValid() )
|
||||||
{
|
{
|
||||||
// in most cases we don't have a preferred width or height
|
// in most cases we don't have a preferred width/height
|
||||||
// and fall back to the implicit size.
|
// and fall back to the implicit size.
|
||||||
|
|
||||||
if ( d_func()->blockedImplicitSize )
|
if ( d_func()->blockedImplicitSize )
|
||||||
@ -941,14 +942,14 @@ QSizeF QskControl::effectiveConstraint( Qt::SizeHint whichHint ) const
|
|||||||
that->updateImplicitSize();
|
that->updateImplicitSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( constraint.width() < 0 )
|
if ( size.width() < 0 )
|
||||||
constraint.setWidth( implicitWidth() );
|
size.setWidth( implicitWidth() );
|
||||||
|
|
||||||
if ( constraint.height() < 0 )
|
if ( size.height() < 0 )
|
||||||
constraint.setHeight( implicitHeight() );
|
size.setHeight( implicitHeight() );
|
||||||
}
|
}
|
||||||
|
|
||||||
return constraint;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskControl::resetImplicitSize()
|
void QskControl::resetImplicitSize()
|
||||||
@ -974,6 +975,18 @@ void QskControl::resetImplicitSize()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qreal QskControl::heightForWidth( qreal width ) const
|
||||||
|
{
|
||||||
|
Q_UNUSED( width )
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
qreal QskControl::widthForHeight( qreal height ) const
|
||||||
|
{
|
||||||
|
Q_UNUSED( height )
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
bool QskControl::event( QEvent* event )
|
bool QskControl::event( QEvent* event )
|
||||||
{
|
{
|
||||||
const int eventType = event->type();
|
const int eventType = event->type();
|
||||||
|
@ -143,7 +143,10 @@ public:
|
|||||||
Q_INVOKABLE bool testControlFlag( Flag ) const;
|
Q_INVOKABLE bool testControlFlag( Flag ) const;
|
||||||
|
|
||||||
QSizeF sizeHint() const;
|
QSizeF sizeHint() const;
|
||||||
QSizeF effectiveConstraint( Qt::SizeHint ) const;
|
QSizeF effectiveSizeHint( Qt::SizeHint ) const;
|
||||||
|
|
||||||
|
virtual qreal heightForWidth( qreal width ) const;
|
||||||
|
virtual qreal widthForHeight( qreal height ) const;
|
||||||
|
|
||||||
virtual QSizeF contentsSizeHint() const;
|
virtual QSizeF contentsSizeHint() const;
|
||||||
|
|
||||||
@ -246,7 +249,7 @@ inline QSizeF QskControl::implicitSize() const
|
|||||||
|
|
||||||
inline QSizeF QskControl::sizeHint() const
|
inline QSizeF QskControl::sizeHint() const
|
||||||
{
|
{
|
||||||
return effectiveConstraint( Qt::PreferredSize );
|
return effectiveSizeHint( Qt::PreferredSize );
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_DECLARE_OPERATORS_FOR_FLAGS( QskControl::Flags )
|
Q_DECLARE_OPERATORS_FOR_FLAGS( QskControl::Flags )
|
||||||
|
@ -71,12 +71,12 @@ QskSizePolicy::Policy QskResizable::sizePolicy( Qt::Orientation orientation ) co
|
|||||||
|
|
||||||
QSizeF QskResizable::preferredSize() const
|
QSizeF QskResizable::preferredSize() const
|
||||||
{
|
{
|
||||||
return sizeHint( Qt::PreferredSize );
|
return explicitSizeHint( Qt::PreferredSize );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::setPreferredSize( const QSizeF& size )
|
void QskResizable::setPreferredSize( const QSizeF& size )
|
||||||
{
|
{
|
||||||
setSizeHint( Qt::PreferredSize, size );
|
setExplicitSizeHint( Qt::PreferredSize, size );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::setPreferredSize( qreal width, qreal height )
|
void QskResizable::setPreferredSize( qreal width, qreal height )
|
||||||
@ -96,12 +96,12 @@ void QskResizable::setPreferredHeight( qreal height )
|
|||||||
|
|
||||||
QSizeF QskResizable::minimumSize() const
|
QSizeF QskResizable::minimumSize() const
|
||||||
{
|
{
|
||||||
return sizeHint( Qt::MinimumSize );
|
return explicitSizeHint( Qt::MinimumSize );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::setMinimumSize( const QSizeF& size )
|
void QskResizable::setMinimumSize( const QSizeF& size )
|
||||||
{
|
{
|
||||||
setSizeHint( Qt::MinimumSize, size );
|
setExplicitSizeHint( Qt::MinimumSize, size );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::setMinimumSize( qreal width, qreal height )
|
void QskResizable::setMinimumSize( qreal width, qreal height )
|
||||||
@ -121,12 +121,12 @@ void QskResizable::setMinimumHeight( qreal height )
|
|||||||
|
|
||||||
QSizeF QskResizable::maximumSize() const
|
QSizeF QskResizable::maximumSize() const
|
||||||
{
|
{
|
||||||
return sizeHint( Qt::MaximumSize );
|
return explicitSizeHint( Qt::MaximumSize );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::setMaximumSize( const QSizeF& size )
|
void QskResizable::setMaximumSize( const QSizeF& size )
|
||||||
{
|
{
|
||||||
setSizeHint( Qt::MaximumSize, size );
|
setExplicitSizeHint( Qt::MaximumSize, size );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::setMaximumSize( qreal width, qreal height )
|
void QskResizable::setMaximumSize( qreal width, qreal height )
|
||||||
@ -194,7 +194,7 @@ void QskResizable::setFixedHeight( qreal height )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::resetSizeHint( Qt::SizeHint whichHint )
|
void QskResizable::resetExplicitSizeHint( Qt::SizeHint whichHint )
|
||||||
{
|
{
|
||||||
QSizeF hint;
|
QSizeF hint;
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ void QskResizable::resetSizeHint( Qt::SizeHint whichHint )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::setSizeHint( Qt::SizeHint whichHint, const QSizeF& size )
|
void QskResizable::setExplicitSizeHint( Qt::SizeHint whichHint, const QSizeF& size )
|
||||||
{
|
{
|
||||||
if ( whichHint >= Qt::MinimumSize && whichHint <= Qt::MaximumSize )
|
if ( whichHint >= Qt::MinimumSize && whichHint <= Qt::MaximumSize )
|
||||||
{
|
{
|
||||||
@ -241,12 +241,12 @@ void QskResizable::setSizeHint( Qt::SizeHint whichHint, const QSizeF& size )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskResizable::setSizeHint( Qt::SizeHint whichHint, qreal width, qreal height )
|
void QskResizable::setExplicitSizeHint( Qt::SizeHint whichHint, qreal width, qreal height )
|
||||||
{
|
{
|
||||||
setSizeHint( whichHint, QSizeF( width, height ) );
|
setExplicitSizeHint( whichHint, QSizeF( width, height ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
QSizeF QskResizable::sizeHint( Qt::SizeHint whichHint ) const
|
QSizeF QskResizable::explicitSizeHint( Qt::SizeHint whichHint ) const
|
||||||
{
|
{
|
||||||
if ( whichHint >= Qt::MinimumSize && whichHint <= Qt::MaximumSize )
|
if ( whichHint >= Qt::MinimumSize && whichHint <= Qt::MaximumSize )
|
||||||
return m_sizeHints[whichHint];
|
return m_sizeHints[whichHint];
|
||||||
@ -255,18 +255,6 @@ QSizeF QskResizable::sizeHint( Qt::SizeHint whichHint ) const
|
|||||||
return QSizeF( -1, -1 );
|
return QSizeF( -1, -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
qreal QskResizable::heightForWidth( qreal width ) const
|
|
||||||
{
|
|
||||||
Q_UNUSED( width )
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
qreal QskResizable::widthForHeight( qreal height ) const
|
|
||||||
{
|
|
||||||
Q_UNUSED( height )
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QskResizable::layoutConstraintChanged()
|
void QskResizable::layoutConstraintChanged()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -43,18 +43,15 @@ public:
|
|||||||
void setFixedWidth( qreal width );
|
void setFixedWidth( qreal width );
|
||||||
void setFixedHeight( qreal height );
|
void setFixedHeight( qreal height );
|
||||||
|
|
||||||
void setSizeHint( Qt::SizeHint, const QSizeF& );
|
void setExplicitSizeHint( Qt::SizeHint, const QSizeF& );
|
||||||
void setSizeHint( Qt::SizeHint, qreal width, qreal height );
|
void setExplicitSizeHint( Qt::SizeHint, qreal width, qreal height );
|
||||||
void resetSizeHint( Qt::SizeHint );
|
void resetExplicitSizeHint( Qt::SizeHint );
|
||||||
|
|
||||||
QSizeF minimumSize() const;
|
QSizeF minimumSize() const;
|
||||||
QSizeF maximumSize() const;
|
QSizeF maximumSize() const;
|
||||||
QSizeF preferredSize() const;
|
QSizeF preferredSize() const;
|
||||||
|
|
||||||
QSizeF sizeHint( Qt::SizeHint ) const;
|
QSizeF explicitSizeHint( Qt::SizeHint ) const;
|
||||||
|
|
||||||
virtual qreal heightForWidth( qreal width ) const;
|
|
||||||
virtual qreal widthForHeight( qreal height ) const;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void initSizePolicy( QskSizePolicy::Policy, QskSizePolicy::Policy );
|
void initSizePolicy( QskSizePolicy::Policy, QskSizePolicy::Policy );
|
||||||
|
@ -183,8 +183,8 @@ QSizeF QskTabView::contentsSizeHint() const
|
|||||||
if ( m_data->tabBar == nullptr || m_data->tabBar->count() == 0 )
|
if ( m_data->tabBar == nullptr || m_data->tabBar->count() == 0 )
|
||||||
return Inherited::contentsSizeHint();
|
return Inherited::contentsSizeHint();
|
||||||
|
|
||||||
const QSizeF barHint = m_data->tabBar->effectiveConstraint( Qt::PreferredSize );
|
const QSizeF barHint = m_data->tabBar->sizeHint();
|
||||||
const QSizeF itemHint = m_data->stackBox->effectiveConstraint( Qt::PreferredSize );
|
const QSizeF itemHint = m_data->stackBox->sizeHint();
|
||||||
|
|
||||||
const qreal w = qMax( barHint.width(), itemHint.width() );
|
const qreal w = qMax( barHint.width(), itemHint.width() );
|
||||||
const qreal h = barHint.height() + itemHint.height();
|
const qreal h = barHint.height() + itemHint.height();
|
||||||
|
@ -395,7 +395,7 @@ QSize QskWindow::effectivePreferredSize() const
|
|||||||
{
|
{
|
||||||
if ( QskControl* control = qobject_cast< QskControl* >( child ) )
|
if ( QskControl* control = qobject_cast< QskControl* >( child ) )
|
||||||
{
|
{
|
||||||
const QSizeF itemConstraint = control->effectiveConstraint( Qt::PreferredSize );
|
const QSizeF itemConstraint = control->sizeHint();
|
||||||
if ( doWidth )
|
if ( doWidth )
|
||||||
constraint.setWidth( qMax( constraint.width(), itemConstraint.width() ) );
|
constraint.setWidth( qMax( constraint.width(), itemConstraint.width() ) );
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ QSizeF QskLayoutConstraint::effectiveConstraint(
|
|||||||
const QQuickItem* item, Qt::SizeHint whichHint )
|
const QQuickItem* item, Qt::SizeHint whichHint )
|
||||||
{
|
{
|
||||||
if ( const QskControl* control = qobject_cast< const QskControl* >( item ) )
|
if ( const QskControl* control = qobject_cast< const QskControl* >( item ) )
|
||||||
return control->effectiveConstraint( whichHint );
|
return control->effectiveSizeHint( whichHint );
|
||||||
|
|
||||||
QSizeF constraint( -1.0, -1.0 ); // no hint
|
QSizeF constraint( -1.0, -1.0 ); // no hint
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user