/******************************************************************************
 * QSkinny - Copyright (C) 2016 Uwe Rathmann
 * This file may be used under the terms of the QSkinny License, Version 1.0
 *****************************************************************************/
#include "QskBox.h"
#include "QskMargins.h"
QSK_SUBCONTROL( QskBox, Panel )
QskBox::QskBox( QQuickItem* parent )
    : QskBox( true, parent )
{
}
QskBox::QskBox( bool hasPanel, QQuickItem* parent )
    : Inherited( parent )
    , m_hasPanel( hasPanel )
{
}
QskBox::~QskBox()
{
}
void QskBox::setPanel( bool on )
{
    if ( on != m_hasPanel )
    {
        m_hasPanel = on;
        resetImplicitSize();
        polish();
        update();
    }
}
bool QskBox::hasPanel() const
{
    return m_hasPanel;
}
void QskBox::setPadding( qreal padding )
{
    setPadding( QskMargins( padding ) );
}
void QskBox::setPadding( const QMarginsF& padding )
{
    const auto pd = QskMargins().expandedTo( padding );
    if ( setPaddingHint( Panel, pd ) )
        Q_EMIT paddingChanged( pd );
}
void QskBox::resetPadding()
{
    if ( resetPaddingHint( Panel ) )
        Q_EMIT paddingChanged( paddingHint( Panel ) );
}
QMarginsF QskBox::padding() const
{
    return paddingHint( Panel );
}
QRectF QskBox::layoutRectForSize( const QSizeF& size ) const
{
    if ( m_hasPanel )
        return subControlContentsRect( size, Panel );
    return Inherited::layoutRectForSize( size );
}
#include "moc_QskBox.cpp"
Updated on 28 July 2023 at 14:02:29 CEST