From 34a94e52f90d52e9cc1c686528da4ef53c5fb3f2 Mon Sep 17 00:00:00 2001 From: "Vogel, Rick" Date: Tue, 8 Aug 2023 15:17:57 +0200 Subject: [PATCH] rename and reduce example --- playground/nodes/RadialNodes.cpp | 9 ++------- playground/nodes/RadialNodes.h | 6 +++--- playground/nodes/RadialNodesSkinlet.cpp | 22 +++++----------------- playground/nodes/RadialNodesSkinlet.h | 6 ++---- playground/nodes/main.cpp | 8 ++++---- 5 files changed, 16 insertions(+), 35 deletions(-) diff --git a/playground/nodes/RadialNodes.cpp b/playground/nodes/RadialNodes.cpp index bc711741..2debd88e 100644 --- a/playground/nodes/RadialNodes.cpp +++ b/playground/nodes/RadialNodes.cpp @@ -1,15 +1,10 @@ #include "RadialNodes.h" -QSK_SUBCONTROL(RadialNodes, Foreground) -QSK_SUBCONTROL(RadialNodes, Text) -QSK_SUBCONTROL(RadialNodes, Lines) +QSK_SUBCONTROL(RadialTickmarks, Lines) -RadialNodes::RadialNodes( QQuickItem* const parent ) : QskControl( parent ) +RadialTickmarks::RadialTickmarks( QQuickItem* const parent ) : QskControl( parent ) { // TODO move into your skin - setColor(Background, Qt::lightGray); - setColor(Foreground, Qt::black); - setColor(Text, Qt::white); setColor(Lines, Qt::red); setStrutSizeHint( Lines, 2, 10 ); } diff --git a/playground/nodes/RadialNodes.h b/playground/nodes/RadialNodes.h index 11741a35..70a29af7 100644 --- a/playground/nodes/RadialNodes.h +++ b/playground/nodes/RadialNodes.h @@ -2,9 +2,9 @@ #include -class RadialNodes : public QskControl +class RadialTickmarks : public QskControl { public: - QSK_SUBCONTROLS(Foreground, Text, Lines) - explicit RadialNodes( QQuickItem* parent = nullptr ); + QSK_SUBCONTROLS(Lines) + explicit RadialTickmarks( QQuickItem* parent = nullptr ); }; \ No newline at end of file diff --git a/playground/nodes/RadialNodesSkinlet.cpp b/playground/nodes/RadialNodesSkinlet.cpp index c84e261b..e4c04286 100644 --- a/playground/nodes/RadialNodesSkinlet.cpp +++ b/playground/nodes/RadialNodesSkinlet.cpp @@ -164,41 +164,29 @@ namespace }; } -RadialNodesSkinlet::RadialNodesSkinlet( QskSkin* const skin ) +RadialTickmarksSkinlet::RadialTickmarksSkinlet( QskSkin* const skin ) : QskSkinlet( skin ) { setNodeRoles( { Lines } ); } -QRectF RadialNodesSkinlet::subControlRect( const QskSkinnable* const skinnable, +QRectF RadialTickmarksSkinlet::subControlRect( const QskSkinnable* const skinnable, const QRectF& contentsRect, const QskAspect::Subcontrol subControl ) const { - if ( subControl == RadialNodes::Text ) - { - return contentsRect.adjusted( +20, +20, -20, -20 ); - } - else if ( subControl == RadialNodes::Foreground ) - { - return contentsRect.adjusted( +10, +10, -10, -10 ); - } - else if ( subControl == RadialNodes::Lines ) + if ( subControl == RadialTickmarks::Lines ) { return contentsRect; } return QskSkinlet::subControlRect( skinnable, contentsRect, subControl ); } -QSGNode* RadialNodesSkinlet::updateSubNode( +QSGNode* RadialTickmarksSkinlet::updateSubNode( const QskSkinnable* const skinnable, const quint8 nodeRole, QSGNode* const node ) const { - using Q = RadialNodes; + using Q = RadialTickmarks; switch ( static_cast< NodeRole >( nodeRole ) ) { - case Text: - return updateTextNode( skinnable, node, "RadialNodes", RadialNodes::Text ); - case Foreground: - return updateBoxNode( skinnable, node, RadialNodes::Foreground ); case Lines: { const auto* const control = static_cast< const Q* >( skinnable ); diff --git a/playground/nodes/RadialNodesSkinlet.h b/playground/nodes/RadialNodesSkinlet.h index 0714d255..a9e0a672 100644 --- a/playground/nodes/RadialNodesSkinlet.h +++ b/playground/nodes/RadialNodesSkinlet.h @@ -2,19 +2,17 @@ #include -class RadialNodesSkinlet : public QskSkinlet +class RadialTickmarksSkinlet : public QskSkinlet { Q_GADGET public: enum NodeRole { - Text, - Foreground, Lines, RoleCount }; - Q_INVOKABLE RadialNodesSkinlet( QskSkin* skin = nullptr ); + Q_INVOKABLE RadialTickmarksSkinlet( QskSkin* skin = nullptr ); protected: Q_REQUIRED_RESULT QRectF subControlRect( const QskSkinnable* skinnable, const QRectF& contentsRect, QskAspect::Subcontrol subControl) const override; diff --git a/playground/nodes/main.cpp b/playground/nodes/main.cpp index e23a53df..af880ab4 100644 --- a/playground/nodes/main.cpp +++ b/playground/nodes/main.cpp @@ -45,8 +45,8 @@ int main( int argc, char* argv[] ) auto* const layout = new QskLinearBox(Qt::Horizontal, window.contentItem() ); auto* const left = new QskLinearBox(Qt::Vertical, layout); auto* const right = new QskLinearBox(Qt::Vertical, layout); - auto* const control = new RadialNodes( left ); - auto* const skinlet = new RadialNodesSkinlet; + auto* const control = new RadialTickmarks( left ); + auto* const skinlet = new RadialTickmarksSkinlet; { (void) new QskTextLabel("Tickmark Alignment", right); auto* const alignment = new QskSegmentedBar(right); @@ -54,7 +54,7 @@ int main( int argc, char* argv[] ) QObject::connect(alignment, &QskSegmentedBar::selectedIndexChanged, control, [=](const int i){ static const Qt::Alignment a[ 3 ]{ Qt::AlignVCenter, Qt::AlignBottom, Qt::AlignTop }; - control->setAlignmentHint(RadialNodes::Lines, a[i]); + control->setAlignmentHint(RadialTickmarks::Lines, a[i]); }); (void) new QskTextLabel("Tickmark Size", right); @@ -69,7 +69,7 @@ int main( int argc, char* argv[] ) auto updateStrutSizeHint = [=](const qreal){ const auto width = sliderW->value(); const auto height = sliderH->value() * control->height(); - control->setStrutSizeHint(RadialNodes::Lines, width, height ); + control->setStrutSizeHint(RadialTickmarks::Lines, width, height ); }; QObject::connect( sliderW, &QskSlider::valueChanged, control, updateStrutSizeHint );