segmented bar: Add states for when cursor is at beginning and end

... so we can style the cursor accordingly
This commit is contained in:
Peter Hartmann 2022-06-16 09:53:12 +02:00
parent 8a22a2f7bb
commit ed26bd3ab4
2 changed files with 7 additions and 2 deletions

View File

@ -22,7 +22,9 @@ QSK_SUBCONTROL( QskSegmentedBar, Cursor )
QSK_SUBCONTROL( QskSegmentedBar, Text ) QSK_SUBCONTROL( QskSegmentedBar, Text )
QSK_SUBCONTROL( QskSegmentedBar, Graphic ) QSK_SUBCONTROL( QskSegmentedBar, Graphic )
QSK_SYSTEM_STATE( QskSegmentedBar, Selected, QskAspect::FirstSystemState << 2 ) QSK_SYSTEM_STATE( QskSegmentedBar, Selected, QskAspect::FirstSystemState << 1 )
QSK_SYSTEM_STATE( QskSegmentedBar, Minimum, QskAspect::FirstSystemState << 2 )
QSK_SYSTEM_STATE( QskSegmentedBar, Maximum, QskAspect::FirstSystemState << 3 )
namespace namespace
{ {
@ -381,6 +383,9 @@ void QskSegmentedBar::setSelectedIndex( int index )
update(); update();
Q_EMIT selectedIndexChanged( index ); Q_EMIT selectedIndexChanged( index );
setSkinStateFlag( Minimum, ( m_data->selectedIndex == 0 ) );
setSkinStateFlag( Maximum, ( m_data->selectedIndex == count() - 1 ) );
} }
} }

View File

@ -33,7 +33,7 @@ class QSK_EXPORT QskSegmentedBar : public QskControl
public: public:
QSK_SUBCONTROLS( Panel, Segment, Cursor, Text, Graphic ) QSK_SUBCONTROLS( Panel, Segment, Cursor, Text, Graphic )
QSK_STATES( Selected ) QSK_STATES( Selected, Minimum, Maximum )
QskSegmentedBar( QQuickItem* parent = nullptr ); QskSegmentedBar( QQuickItem* parent = nullptr );
QskSegmentedBar( Qt::Orientation, QQuickItem* parent = nullptr ); QskSegmentedBar( Qt::Orientation, QQuickItem* parent = nullptr );