suing initSizePolicy in constructors to avoid potential problems from
layout requests coming before the parent has been constructed completely.
This commit is contained in:
parent
cf58650c05
commit
d2d37852a2
@ -44,7 +44,7 @@ QskGraphicLabel::QskGraphicLabel( const QUrl& source, QQuickItem* parent ):
|
|||||||
Inherited( parent ),
|
Inherited( parent ),
|
||||||
m_data( new PrivateData( source ) )
|
m_data( new PrivateData( source ) )
|
||||||
{
|
{
|
||||||
setSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding );
|
initSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding );
|
||||||
|
|
||||||
if ( !m_data->source.isEmpty() )
|
if ( !m_data->source.isEmpty() )
|
||||||
polish();
|
polish();
|
||||||
|
@ -226,9 +226,11 @@ QskInputPanel::QskInputPanel( QQuickItem* parent ):
|
|||||||
QskControl( parent ),
|
QskControl( parent ),
|
||||||
m_data( new PrivateData )
|
m_data( new PrivateData )
|
||||||
{
|
{
|
||||||
setSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding );
|
|
||||||
setFlag( ItemHasContents );
|
setFlag( ItemHasContents );
|
||||||
setAcceptedMouseButtons( Qt::MouseButtonMask );
|
setAcceptedMouseButtons( Qt::MouseButtonMask );
|
||||||
|
|
||||||
|
initSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding );
|
||||||
|
|
||||||
updateLocale( locale() );
|
updateLocale( locale() );
|
||||||
|
|
||||||
QObject::connect( this, &QskControl::localeChanged,
|
QObject::connect( this, &QskControl::localeChanged,
|
||||||
|
@ -31,7 +31,7 @@ QskPageIndicator::QskPageIndicator( int count, QQuickItem* parent ):
|
|||||||
m_data( new PrivateData( count ) )
|
m_data( new PrivateData( count ) )
|
||||||
{
|
{
|
||||||
// as we don't stretch the bullets
|
// as we don't stretch the bullets
|
||||||
setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Fixed );
|
initSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Fixed );
|
||||||
}
|
}
|
||||||
|
|
||||||
QskPageIndicator::QskPageIndicator( QQuickItem* parent ):
|
QskPageIndicator::QskPageIndicator( QQuickItem* parent ):
|
||||||
|
@ -46,7 +46,7 @@ QskPushButton::QskPushButton( const QString& text, QQuickItem* parent ):
|
|||||||
Inherited( parent ),
|
Inherited( parent ),
|
||||||
m_data( new PrivateData( text ) )
|
m_data( new PrivateData( text ) )
|
||||||
{
|
{
|
||||||
setSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
initSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
||||||
}
|
}
|
||||||
|
|
||||||
QskPushButton::~QskPushButton()
|
QskPushButton::~QskPushButton()
|
||||||
|
@ -17,6 +17,21 @@ QskResizable::~QskResizable()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QskResizable::initSizePolicy(
|
||||||
|
QskSizePolicy::Policy horizontalPolicy,
|
||||||
|
QskSizePolicy::Policy verticalPolicy )
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
In constructors of derived classes you don't need
|
||||||
|
to propagate changes by layoutConstraintChanged.
|
||||||
|
Sometimes it is even worse as the parent might not be
|
||||||
|
even prepared to handle the LayouRequest event.
|
||||||
|
*/
|
||||||
|
|
||||||
|
m_sizePolicy.setHorizontalPolicy( horizontalPolicy );
|
||||||
|
m_sizePolicy.setVerticalPolicy( verticalPolicy );
|
||||||
|
}
|
||||||
|
|
||||||
void QskResizable::setSizePolicy( const QskSizePolicy& policy )
|
void QskResizable::setSizePolicy( const QskSizePolicy& policy )
|
||||||
{
|
{
|
||||||
if ( policy != m_sizePolicy )
|
if ( policy != m_sizePolicy )
|
||||||
|
@ -63,6 +63,9 @@ public:
|
|||||||
virtual qreal heightForWidth( qreal width ) const;
|
virtual qreal heightForWidth( qreal width ) const;
|
||||||
virtual qreal widthForHeight( qreal height ) const;
|
virtual qreal widthForHeight( qreal height ) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void initSizePolicy( QskSizePolicy::Policy, QskSizePolicy::Policy );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void layoutConstraintChanged();
|
virtual void layoutConstraintChanged();
|
||||||
|
|
||||||
|
@ -18,9 +18,9 @@ QskSeparator::QskSeparator( Qt::Orientation orientation, QQuickItem* parent ):
|
|||||||
m_orientation( orientation )
|
m_orientation( orientation )
|
||||||
{
|
{
|
||||||
if ( orientation == Qt::Horizontal )
|
if ( orientation == Qt::Horizontal )
|
||||||
setSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
initSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
||||||
else
|
else
|
||||||
setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Minimum );
|
initSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Minimum );
|
||||||
}
|
}
|
||||||
|
|
||||||
QskSeparator::~QskSeparator()
|
QskSeparator::~QskSeparator()
|
||||||
|
@ -47,9 +47,9 @@ QskSlider::QskSlider( Qt::Orientation orientation, QQuickItem* parent ):
|
|||||||
setActiveFocusOnTab( true );
|
setActiveFocusOnTab( true );
|
||||||
|
|
||||||
if ( orientation == Qt::Horizontal )
|
if ( orientation == Qt::Horizontal )
|
||||||
setSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
initSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
||||||
else
|
else
|
||||||
setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Minimum );
|
initSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Minimum );
|
||||||
|
|
||||||
setMetric( QskSlider::Handle | QskAspect::Position, position() );
|
setMetric( QskSlider::Handle | QskAspect::Position, position() );
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ QskStatusIndicator::QskStatusIndicator( QQuickItem* parent ):
|
|||||||
Inherited( parent ),
|
Inherited( parent ),
|
||||||
m_data( new PrivateData() )
|
m_data( new PrivateData() )
|
||||||
{
|
{
|
||||||
setSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding );
|
initSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding );
|
||||||
}
|
}
|
||||||
|
|
||||||
QskStatusIndicator::~QskStatusIndicator()
|
QskStatusIndicator::~QskStatusIndicator()
|
||||||
|
@ -34,7 +34,7 @@ QskSubWindow::QskSubWindow( QQuickItem* parent ):
|
|||||||
m_data( new PrivateData() )
|
m_data( new PrivateData() )
|
||||||
{
|
{
|
||||||
setMargins( 0 );
|
setMargins( 0 );
|
||||||
setSizePolicy( QskSizePolicy::MinimumExpanding, QskSizePolicy::MinimumExpanding );
|
initSizePolicy( QskSizePolicy::MinimumExpanding, QskSizePolicy::MinimumExpanding );
|
||||||
|
|
||||||
setAutoLayoutChildren( true );
|
setAutoLayoutChildren( true );
|
||||||
}
|
}
|
||||||
|
@ -46,9 +46,9 @@ QskTabBar::QskTabBar( Qt::Orientation orientation, QQuickItem* parent ):
|
|||||||
m_data->layoutBox->setExtraSpacingAt( Qt::RightEdge | Qt::BottomEdge );
|
m_data->layoutBox->setExtraSpacingAt( Qt::RightEdge | Qt::BottomEdge );
|
||||||
|
|
||||||
if ( orientation == Qt::Horizontal )
|
if ( orientation == Qt::Horizontal )
|
||||||
setSizePolicy( QskSizePolicy::Preferred, QskSizePolicy::Fixed );
|
initSizePolicy( QskSizePolicy::Preferred, QskSizePolicy::Fixed );
|
||||||
else
|
else
|
||||||
setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Preferred );
|
initSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Preferred );
|
||||||
|
|
||||||
setAutoLayoutChildren( true );
|
setAutoLayoutChildren( true );
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ QskTabButton::QskTabButton( const QString& text, QQuickItem* parent ):
|
|||||||
{
|
{
|
||||||
resolveTabBar();
|
resolveTabBar();
|
||||||
|
|
||||||
setSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
initSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
||||||
|
|
||||||
setCheckable( true );
|
setCheckable( true );
|
||||||
setExclusive( true );
|
setExclusive( true );
|
||||||
|
@ -37,7 +37,7 @@ QskTextLabel::QskTextLabel( const QString& text, QQuickItem* parent ):
|
|||||||
Inherited( parent ),
|
Inherited( parent ),
|
||||||
m_data( new PrivateData( text ) )
|
m_data( new PrivateData( text ) )
|
||||||
{
|
{
|
||||||
setSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
initSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
||||||
}
|
}
|
||||||
|
|
||||||
QskTextLabel::~QskTextLabel()
|
QskTextLabel::~QskTextLabel()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user