overlapping states fixed ( where possible )
This commit is contained in:
parent
1a3058fad8
commit
f3dd88c11c
@ -588,6 +588,11 @@ QSK_EXPORT void qskDebugAspect( QDebug, const QMetaObject*, QskAspect );
|
||||
QskAspect::registerState( &type::staticMetaObject, value, #type "::" #name );
|
||||
|
||||
#define QSK_SYSTEM_STATE( type, name, value ) \
|
||||
static_assert( \
|
||||
( value >= QskAspect::FirstSystemState && value < QskAspect::FirstUserState ) || \
|
||||
( value > QskAspect::LastUserState && value <= QskAspect::LastSystemState ), \
|
||||
"Invalid system state" \
|
||||
); \
|
||||
const QskAspect::State type::name = \
|
||||
QskAspect::registerState( &type::staticMetaObject, value, #type "::" #name );
|
||||
|
||||
|
@ -10,24 +10,25 @@
|
||||
|
||||
#include <qbasictimer.h>
|
||||
|
||||
// Flat/Checkable are no states - we need to get rid of them. TODO ...
|
||||
QSK_SYSTEM_STATE( QskAbstractButton, Flat, QskAspect::FirstSystemState << 1 )
|
||||
#if 1
|
||||
// Wrong: we are overlapping with the user states, TODO ...
|
||||
QSK_SYSTEM_STATE( QskAbstractButton, Checked, QskAspect::LastSystemState >> 4 )
|
||||
QSK_STATE( QskAbstractButton, Checked, QskAspect::LastUserState )
|
||||
#endif
|
||||
QSK_SYSTEM_STATE( QskAbstractButton, Pressed, QskAspect::LastSystemState >> 3 )
|
||||
QSK_SYSTEM_STATE( QskAbstractButton, Checkable, QskAspect::LastSystemState >> 2 )
|
||||
|
||||
static QskAbstractButton* qskCheckedSibling( const QskAbstractButton* button )
|
||||
{
|
||||
QQuickItem* parentItem = button->parentItem();
|
||||
const auto parentItem = button->parentItem();
|
||||
if ( parentItem == nullptr )
|
||||
return nullptr;
|
||||
|
||||
const auto siblings = parentItem->childItems();
|
||||
for ( QQuickItem* sibling : siblings )
|
||||
for ( auto sibling : siblings )
|
||||
{
|
||||
if ( QskAbstractButton* btn = qobject_cast< QskAbstractButton* >( sibling ) )
|
||||
if ( auto btn = qobject_cast< QskAbstractButton* >( sibling ) )
|
||||
{
|
||||
if ( btn != button && btn->exclusive() && btn->isChecked() )
|
||||
return btn;
|
||||
|
@ -16,8 +16,8 @@ QSK_SUBCONTROL( QskSlider, Scale )
|
||||
QSK_SUBCONTROL( QskSlider, Handle )
|
||||
|
||||
QSK_SYSTEM_STATE( QskSlider, Pressed, QskAspect::FirstSystemState << 2 )
|
||||
QSK_SYSTEM_STATE( QskSlider, Minimum, QskAspect::FirstSystemState << 3 )
|
||||
QSK_SYSTEM_STATE( QskSlider, Maximum, QskAspect::FirstSystemState << 4 )
|
||||
QSK_SYSTEM_STATE( QskSlider, Minimum, QskAspect::LastUserState << 1 )
|
||||
QSK_SYSTEM_STATE( QskSlider, Maximum, QskAspect::LastUserState << 2 )
|
||||
|
||||
class QskSlider::PrivateData
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user