2022-04-04 12:14:07 +00:00
|
|
|
/******************************************************************************
|
|
|
|
* QSkinny - Copyright (C) 2016 Uwe Rathmann
|
|
|
|
* This file may be used under the terms of the QSkinny License, Version 1.0
|
|
|
|
*****************************************************************************/
|
2022-04-04 06:53:20 +00:00
|
|
|
|
2022-04-04 12:14:07 +00:00
|
|
|
#include "QskCheckBox.h"
|
2022-04-04 06:53:20 +00:00
|
|
|
|
2022-04-05 06:48:16 +00:00
|
|
|
QSK_SUBCONTROL( QskCheckBox, Panel )
|
2022-07-01 09:10:59 +00:00
|
|
|
QSK_SUBCONTROL( QskCheckBox, Box )
|
2022-04-05 06:48:16 +00:00
|
|
|
QSK_SUBCONTROL( QskCheckBox, Indicator )
|
2022-07-01 09:10:59 +00:00
|
|
|
QSK_SUBCONTROL( QskCheckBox, Text )
|
2023-01-06 15:25:40 +00:00
|
|
|
QSK_SUBCONTROL( QskCheckBox, Ripple )
|
2022-04-04 06:53:20 +00:00
|
|
|
|
2023-01-08 17:22:33 +00:00
|
|
|
QSK_SYSTEM_STATE( QskCheckBox, Error, QskAspect::FirstSystemState << 1 )
|
|
|
|
|
2022-04-04 12:14:07 +00:00
|
|
|
class QskCheckBox::PrivateData
|
2022-04-04 06:53:20 +00:00
|
|
|
{
|
2022-04-04 12:14:07 +00:00
|
|
|
public:
|
2022-07-01 09:10:59 +00:00
|
|
|
PrivateData( const QString& text )
|
|
|
|
: text( text )
|
2022-04-04 12:14:07 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2022-07-01 09:10:59 +00:00
|
|
|
QString text;
|
2022-04-04 06:53:20 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
QskCheckBox::QskCheckBox( QQuickItem* parent )
|
2022-07-01 09:10:59 +00:00
|
|
|
: QskCheckBox( QString(), parent )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
QskCheckBox::QskCheckBox( const QString& text, QQuickItem* parent )
|
2022-04-04 06:53:20 +00:00
|
|
|
: Inherited( parent )
|
2022-07-01 09:10:59 +00:00
|
|
|
, m_data( new PrivateData( text ) )
|
2022-04-04 12:14:07 +00:00
|
|
|
{
|
2022-04-04 06:53:20 +00:00
|
|
|
initSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Fixed );
|
|
|
|
}
|
|
|
|
|
|
|
|
QskCheckBox::~QskCheckBox()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
bool QskCheckBox::isCheckable() const
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2022-07-01 09:10:59 +00:00
|
|
|
void QskCheckBox::setText( const QString& text )
|
2022-04-04 06:53:20 +00:00
|
|
|
{
|
2022-07-01 09:10:59 +00:00
|
|
|
if ( text != m_data->text )
|
2022-04-04 06:53:20 +00:00
|
|
|
{
|
2022-07-01 09:10:59 +00:00
|
|
|
m_data->text = text;
|
2022-04-04 06:53:20 +00:00
|
|
|
|
2022-07-01 09:10:59 +00:00
|
|
|
resetImplicitSize();
|
|
|
|
update();
|
2022-04-04 06:53:20 +00:00
|
|
|
|
2022-07-01 09:10:59 +00:00
|
|
|
Q_EMIT textChanged();
|
2022-04-04 06:53:20 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-07-01 09:10:59 +00:00
|
|
|
QString QskCheckBox::text() const
|
2022-04-04 06:53:20 +00:00
|
|
|
{
|
2022-07-01 09:10:59 +00:00
|
|
|
return m_data->text;
|
2022-04-04 06:53:20 +00:00
|
|
|
}
|
|
|
|
|
2022-07-01 09:10:59 +00:00
|
|
|
void QskCheckBox::changeEvent( QEvent* event )
|
2022-04-04 12:14:07 +00:00
|
|
|
{
|
2022-07-01 09:10:59 +00:00
|
|
|
if ( event->type() == QEvent::LayoutDirectionChange )
|
2022-04-04 06:53:20 +00:00
|
|
|
{
|
2022-07-01 09:10:59 +00:00
|
|
|
if ( !m_data->text.isEmpty() )
|
|
|
|
update();
|
|
|
|
}
|
2022-04-04 06:53:20 +00:00
|
|
|
|
2022-07-01 09:10:59 +00:00
|
|
|
Inherited::changeEvent( event );
|
2022-04-04 06:53:20 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#include "moc_QskCheckBox.cpp"
|