QskSkinnable::subcontrolProxy added

This commit is contained in:
Uwe Rathmann 2021-08-04 15:06:44 +02:00
parent d947920abe
commit 3606f61c65
5 changed files with 17 additions and 32 deletions

View File

@ -13,6 +13,8 @@
QSK_SUBCONTROL( ButtonBar, Indicator ) QSK_SUBCONTROL( ButtonBar, Indicator )
namespace
{
class IndicatorLabel final : public QskGraphicLabel class IndicatorLabel final : public QskGraphicLabel
{ {
public: public:
@ -24,6 +26,7 @@ class IndicatorLabel final : public QskGraphicLabel
setSubcontrolProxy( QskGraphicLabel::Graphic, ButtonBar::Indicator ); setSubcontrolProxy( QskGraphicLabel::Graphic, ButtonBar::Indicator );
} }
}; };
}
ButtonBar::ButtonBar( QQuickItem* parentItem ) ButtonBar::ButtonBar( QQuickItem* parentItem )
: QskLinearBox( parentItem ) : QskLinearBox( parentItem )

View File

@ -15,25 +15,13 @@ Box::Box( const QString& title, QQuickItem* parent )
{ {
setAutoAddChildren( true ); setAutoAddChildren( true );
setAutoLayoutChildren( true ); setAutoLayoutChildren( true );
setPanel( true ); setPanel( true );
setSubcontrolProxy( QskBox::Panel, Box::Panel );
auto label = new QskTextLabel( title, this ); auto label = new QskTextLabel( title, this );
label->setFontRole( Skin::TitleFont ); label->setFontRole( Skin::TitleFont );
label->setVisible( !tite.isEmpty() );
if( label->text().isEmpty() )
{
label->setVisible( false );
}
}
QskAspect::Subcontrol Box::substitutedSubcontrol( QskAspect::Subcontrol subControl ) const
{
if( subControl == QskBox::Panel )
{
return Box::Panel;
}
return subControl;
} }
#include "moc_Box.cpp" #include "moc_Box.cpp"

View File

@ -17,9 +17,4 @@ class Box : public QskLinearBox
QSK_SUBCONTROLS( Panel ) QSK_SUBCONTROLS( Panel )
Box( const QString& title, QQuickItem* parent = nullptr ); Box( const QString& title, QQuickItem* parent = nullptr );
protected:
QskAspect::Subcontrol substitutedSubcontrol(
QskAspect::Subcontrol ) const override;
}; };

View File

@ -27,7 +27,7 @@ BoxWithButtons::BoxWithButtons( const QString& title, const QString& value,
setSizePolicy( Qt::Vertical, QskSizePolicy::Maximum ); setSizePolicy( Qt::Vertical, QskSizePolicy::Maximum );
auto layout = new QskLinearBox( Qt::Horizontal, this ); auto* layout = new QskLinearBox( Qt::Horizontal, this );
layout->setSpacing( 20 ); layout->setSpacing( 20 );
QString iconFile = title.toLower(); QString iconFile = title.toLower();

View File

@ -217,7 +217,6 @@ class QskSkinnable::PrivateData
} }
QskSkinHintTable hintTable; QskSkinHintTable hintTable;
QskHintAnimatorTable animators; QskHintAnimatorTable animators;
typedef std::map< QskAspect::Subcontrol, QskAspect::Subcontrol > ProxyMap; typedef std::map< QskAspect::Subcontrol, QskAspect::Subcontrol > ProxyMap;