QskSkin::skinlet using the metaObject
This commit is contained in:
parent
73b5934839
commit
e176f474a8
@ -525,10 +525,9 @@ QskAspect::State QskSkin::stateMask() const
|
||||
return m_data->stateMask;
|
||||
}
|
||||
|
||||
QskSkinlet* QskSkin::skinlet( const QskSkinnable* skinnable )
|
||||
QskSkinlet* QskSkin::skinlet( const QMetaObject* metaObject )
|
||||
{
|
||||
for ( auto metaObject = skinnable->metaObject();
|
||||
metaObject != nullptr; metaObject = metaObject->superClass() )
|
||||
while ( metaObject )
|
||||
{
|
||||
auto it = m_data->skinletMap.find( metaObject );
|
||||
if ( it != m_data->skinletMap.cend() )
|
||||
@ -540,6 +539,8 @@ QskSkinlet* QskSkin::skinlet( const QskSkinnable* skinnable )
|
||||
|
||||
return entry.skinlet;
|
||||
}
|
||||
|
||||
metaObject = metaObject->superClass();
|
||||
}
|
||||
|
||||
static QskSkinlet defaultSkinlet;
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include <unordered_map>
|
||||
|
||||
class QskControl;
|
||||
class QskSkinnable;
|
||||
class QskSkinlet;
|
||||
|
||||
class QskColorFilter;
|
||||
@ -143,7 +142,7 @@ class QSK_EXPORT QskSkin : public QObject
|
||||
void setStateMask( QskAspect::State );
|
||||
QskAspect::State stateMask() const;
|
||||
|
||||
QskSkinlet* skinlet( const QskSkinnable* );
|
||||
QskSkinlet* skinlet( const QMetaObject* );
|
||||
|
||||
const QskSkinHintTable& hintTable() const;
|
||||
|
||||
|
@ -231,7 +231,7 @@ const QskSkinlet* QskSkinnable::effectiveSkinlet() const
|
||||
{
|
||||
if ( m_data->skinlet == nullptr )
|
||||
{
|
||||
m_data->skinlet = qskSetup->skin()->skinlet( this );
|
||||
m_data->skinlet = qskSetup->skin()->skinlet( metaObject() );
|
||||
m_data->hasLocalSkinlet = false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user