static assertion added
This commit is contained in:
parent
250cce0d76
commit
9a3b175798
@ -540,9 +540,17 @@ QSK_EXPORT void qskDebugAspect( QDebug, const QMetaObject*, QskAspect::Aspect );
|
|||||||
QskAspect::nextSubcontrol( &type::staticMetaObject, #type "::" #name );
|
QskAspect::nextSubcontrol( &type::staticMetaObject, #type "::" #name );
|
||||||
|
|
||||||
#define QSK_STATE( type, name, value ) \
|
#define QSK_STATE( type, name, value ) \
|
||||||
|
static_assert( \
|
||||||
|
( value >= QskAspect::FirstUserState ) && ( value <= QskAspect::LastUserState ), \
|
||||||
|
"Invalid state" \
|
||||||
|
); \
|
||||||
const QskAspect::State type::name = \
|
const QskAspect::State type::name = \
|
||||||
QskAspect::registerState( &type::staticMetaObject, value, #type "::" #name );
|
QskAspect::registerState( &type::staticMetaObject, value, #type "::" #name );
|
||||||
|
|
||||||
|
#define QSK_SYSTEM_STATE( type, name, value ) \
|
||||||
|
const QskAspect::State type::name = \
|
||||||
|
QskAspect::registerState( &type::staticMetaObject, value, #type "::" #name );
|
||||||
|
|
||||||
#if !defined( _MSC_VER )
|
#if !defined( _MSC_VER )
|
||||||
|
|
||||||
#define QSK_SUBCONTROLS( ... ) static const QskAspect::Subcontrol __VA_ARGS__;
|
#define QSK_SUBCONTROLS( ... ) static const QskAspect::Subcontrol __VA_ARGS__;
|
||||||
|
@ -10,10 +10,13 @@
|
|||||||
|
|
||||||
#include <qbasictimer.h>
|
#include <qbasictimer.h>
|
||||||
|
|
||||||
QSK_STATE( QskAbstractButton, Flat, QskAspect::FirstSystemState << 1 )
|
QSK_SYSTEM_STATE( QskAbstractButton, Flat, QskAspect::FirstSystemState << 1 )
|
||||||
QSK_STATE( QskAbstractButton, Checked, QskAspect::LastSystemState >> 4 )
|
#if 1
|
||||||
QSK_STATE( QskAbstractButton, Pressed, QskAspect::LastSystemState >> 3 )
|
// Wrong: we are overlapping with the user states, TODO ...
|
||||||
QSK_STATE( QskAbstractButton, Checkable, QskAspect::LastSystemState >> 2 )
|
QSK_SYSTEM_STATE( QskAbstractButton, Checked, QskAspect::LastSystemState >> 4 )
|
||||||
|
#endif
|
||||||
|
QSK_SYSTEM_STATE( QskAbstractButton, Pressed, QskAspect::LastSystemState >> 3 )
|
||||||
|
QSK_SYSTEM_STATE( QskAbstractButton, Checkable, QskAspect::LastSystemState >> 2 )
|
||||||
|
|
||||||
static QskAbstractButton* qskCheckedSibling( const QskAbstractButton* button )
|
static QskAbstractButton* qskCheckedSibling( const QskAbstractButton* button )
|
||||||
{
|
{
|
||||||
|
@ -26,9 +26,9 @@ QSK_QT_PRIVATE_END
|
|||||||
#include <limits>
|
#include <limits>
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
|
|
||||||
QSK_STATE( QskControl, Disabled, QskAspect::FirstSystemState )
|
QSK_SYSTEM_STATE( QskControl, Disabled, QskAspect::FirstSystemState )
|
||||||
QSK_STATE( QskControl, Hovered, QskAspect::LastSystemState >> 1 )
|
QSK_SYSTEM_STATE( QskControl, Hovered, QskAspect::LastSystemState >> 1 )
|
||||||
QSK_STATE( QskControl, Focused, QskAspect::LastSystemState )
|
QSK_SYSTEM_STATE( QskControl, Focused, QskAspect::LastSystemState )
|
||||||
|
|
||||||
// QGridLayoutEngine internally uses FLT_MAX
|
// QGridLayoutEngine internally uses FLT_MAX
|
||||||
static constexpr qreal qskSizeHintMax = std::numeric_limits< float >::max();
|
static constexpr qreal qskSizeHintMax = std::numeric_limits< float >::max();
|
||||||
|
@ -16,7 +16,7 @@ QSK_QT_PRIVATE_BEGIN
|
|||||||
QSK_QT_PRIVATE_END
|
QSK_QT_PRIVATE_END
|
||||||
|
|
||||||
QSK_SUBCONTROL( QskPopup, Overlay )
|
QSK_SUBCONTROL( QskPopup, Overlay )
|
||||||
QSK_STATE( QskPopup, Closed, QskAspect::FirstSystemState << 1 )
|
QSK_SYSTEM_STATE( QskPopup, Closed, QskAspect::FirstSystemState << 1 )
|
||||||
|
|
||||||
static void qskSetFocus( QQuickItem* item, bool on )
|
static void qskSetFocus( QQuickItem* item, bool on )
|
||||||
{
|
{
|
||||||
|
@ -19,8 +19,8 @@ QSK_SUBCONTROL( QskScrollView, HorizontalScrollHandle )
|
|||||||
QSK_SUBCONTROL( QskScrollView, VerticalScrollBar )
|
QSK_SUBCONTROL( QskScrollView, VerticalScrollBar )
|
||||||
QSK_SUBCONTROL( QskScrollView, VerticalScrollHandle )
|
QSK_SUBCONTROL( QskScrollView, VerticalScrollHandle )
|
||||||
|
|
||||||
QSK_STATE( QskScrollView, VerticalHandlePressed, QskAspect::FirstSystemState << 1 )
|
QSK_SYSTEM_STATE( QskScrollView, VerticalHandlePressed, QskAspect::FirstSystemState << 1 )
|
||||||
QSK_STATE( QskScrollView, HorizontalHandlePressed, QskAspect::FirstSystemState << 2 )
|
QSK_SYSTEM_STATE( QskScrollView, HorizontalHandlePressed, QskAspect::FirstSystemState << 2 )
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
@ -13,9 +13,9 @@ QSK_SUBCONTROL( QskSlider, Fill )
|
|||||||
QSK_SUBCONTROL( QskSlider, Scale )
|
QSK_SUBCONTROL( QskSlider, Scale )
|
||||||
QSK_SUBCONTROL( QskSlider, Handle )
|
QSK_SUBCONTROL( QskSlider, Handle )
|
||||||
|
|
||||||
QSK_STATE( QskSlider, Pressed, QskAspect::FirstSystemState << 1 )
|
QSK_SYSTEM_STATE( QskSlider, Pressed, QskAspect::FirstSystemState << 1 )
|
||||||
QSK_STATE( QskSlider, Minimum, QskAspect::FirstSystemState << 2 )
|
QSK_SYSTEM_STATE( QskSlider, Minimum, QskAspect::FirstSystemState << 2 )
|
||||||
QSK_STATE( QskSlider, Maximum, QskAspect::FirstSystemState << 3 )
|
QSK_SYSTEM_STATE( QskSlider, Maximum, QskAspect::FirstSystemState << 3 )
|
||||||
|
|
||||||
class QskSlider::PrivateData
|
class QskSlider::PrivateData
|
||||||
{
|
{
|
||||||
|
@ -16,8 +16,8 @@ QSK_SUBCONTROL( QskTextInput, Text )
|
|||||||
QSK_SUBCONTROL( QskTextInput, PanelSelected )
|
QSK_SUBCONTROL( QskTextInput, PanelSelected )
|
||||||
QSK_SUBCONTROL( QskTextInput, TextSelected )
|
QSK_SUBCONTROL( QskTextInput, TextSelected )
|
||||||
|
|
||||||
QSK_STATE( QskTextInput, ReadOnly, QskAspect::FirstSystemState << 1 )
|
QSK_SYSTEM_STATE( QskTextInput, ReadOnly, QskAspect::FirstSystemState << 1 )
|
||||||
QSK_STATE( QskTextInput, Editing, QskAspect::FirstSystemState << 2 )
|
QSK_SYSTEM_STATE( QskTextInput, Editing, QskAspect::FirstSystemState << 2 )
|
||||||
|
|
||||||
static inline void qskBindSignals(
|
static inline void qskBindSignals(
|
||||||
const QQuickTextInput* wrappedInput, QskTextInput* input )
|
const QQuickTextInput* wrappedInput, QskTextInput* input )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user