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