From 927d2dd51ccdc116864ddfbf7ea95c71b4e59d93 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Fri, 19 Nov 2021 15:02:57 +0100 Subject: [PATCH] Iot dashboard light intensity (#142) * IOT dashboard: Make light dimmer use arc renderer * use shadow * add value text * add warm and cold parts * add knob * handle input * only move knob when drawing along the arc * improve input handling * add tickmarks * add tickmarks node * clean up a bit * Update screenshot of IOT dashboard for github site --- doc/images/iotdashboard.png | Bin 91664 -> 97461 bytes examples/iotdashboard/LightDisplay.cpp | 157 +++++++++++ examples/iotdashboard/LightDisplay.h | 47 ++++ examples/iotdashboard/LightDisplaySkinlet.cpp | 209 +++++++++++++++ examples/iotdashboard/LightDisplaySkinlet.h | 46 ++++ examples/iotdashboard/LightIntensity.cpp | 248 ------------------ examples/iotdashboard/LightIntensity.h | 26 -- examples/iotdashboard/MainContent.cpp | 6 +- examples/iotdashboard/Skin.cpp | 28 +- examples/iotdashboard/iotdashboard.pro | 12 +- .../nodes/RadialTickmarksNode.cpp | 129 +++++++++ .../iotdashboard/nodes/RadialTickmarksNode.h | 27 ++ 12 files changed, 651 insertions(+), 284 deletions(-) create mode 100644 examples/iotdashboard/LightDisplay.cpp create mode 100644 examples/iotdashboard/LightDisplay.h create mode 100644 examples/iotdashboard/LightDisplaySkinlet.cpp create mode 100644 examples/iotdashboard/LightDisplaySkinlet.h delete mode 100644 examples/iotdashboard/LightIntensity.cpp delete mode 100644 examples/iotdashboard/LightIntensity.h create mode 100644 examples/iotdashboard/nodes/RadialTickmarksNode.cpp create mode 100644 examples/iotdashboard/nodes/RadialTickmarksNode.h diff --git a/doc/images/iotdashboard.png b/doc/images/iotdashboard.png index d5952c280701d04c318dd82312d17d6d42f7b33a..b46e037442b249e2c57bd7e9af9d11c338a32d30 100644 GIT binary patch literal 97461 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

uO9`O+_JCVO=T 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 literal 91664 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�(eD&yN{E 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 rB{uhU9)nl$IM7%{{ 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 +#include + +#include + +QSK_SUBCONTROL( LightDisplay, Panel ) +QSK_SUBCONTROL( LightDisplay, Groove ) +QSK_SUBCONTROL( LightDisplay, ColdAndWarmArc ) +QSK_SUBCONTROL( LightDisplay, Tickmarks ) +QSK_SUBCONTROL( LightDisplay, ValueText ) +QSK_SUBCONTROL( LightDisplay, LeftLabel ) +QSK_SUBCONTROL( LightDisplay, RightLabel ) +QSK_SUBCONTROL( LightDisplay, Knob ) + +QSK_STATE( LightDisplay, Pressed, ( QskAspect::FirstUserState << 1 ) ) + +LightDisplay::LightDisplay( QQuickItem* parent ) + : QskBoundedValueInput( parent ) +{ + setAlignmentHint( LeftLabel, Qt::AlignRight ); + setAlignmentHint( ValueText, Qt::AlignCenter | Qt::AlignHCenter ); + + setBoundaries( 0, 100 ); + + // ### move to Skin: + setShadow( { 0, 20 } ); + setShadowColor( 0xe5e5e5 ); +} + +bool LightDisplay::isPressed() const +{ + return hasSkinState( Pressed ); +} + +void LightDisplay::setShadow( const QskShadowMetrics& shadow ) +{ + m_shadow = shadow; + update(); +} + +const QskShadowMetrics& LightDisplay::shadow() const +{ + return m_shadow; +} + +void LightDisplay::setGradient( const QskGradient& gradient ) +{ + m_gradient = gradient; + update(); +} + +const QskGradient& LightDisplay::gradient() const +{ + return m_gradient; +} + +void LightDisplay::setShadowColor( const QColor& color ) +{ + m_shadowColor = color; + update(); +} + +QColor LightDisplay::shadowColor() const +{ + return m_shadowColor; +} + +void LightDisplay::mousePressEvent( QMouseEvent* event ) +{ + QRectF handleRect = subControlRect( LightDisplay::Knob ); + + if ( handleRect.contains( event->pos() ) ) + { + setSkinStateFlag( Pressed ); + } + else + { + QskBoundedValueInput::mousePressEvent( event ); + } +} + +void LightDisplay::mouseMoveEvent( QMouseEvent* event ) +{ + if ( !isPressed() ) + return; + + const auto mousePos = qskMousePosition( event ); + const auto rect = subControlRect( ColdAndWarmArc ); + + bool arcContainsMousePos = arcContainsPoint( rect, mousePos ); + + if( !arcContainsMousePos ) + { + setSkinStateFlag( Pressed, false ); + return; + } + + const QskArcMetrics metrics = arcMetricsHint( ColdAndWarmArc ); + const qreal angle = angleFromPoint( rect, mousePos ); + const qreal ratio = ( metrics.spanAngle() - angle * 16 ) / metrics.spanAngle(); + setValueAsRatio( ratio ); +} + +void LightDisplay::mouseReleaseEvent( QMouseEvent* /*event*/ ) +{ + setSkinStateFlag( Pressed, false ); +} + +qreal LightDisplay::angleFromPoint( const QRectF& rect, const QPointF& point ) const +{ + QPointF circlePos( point.x() - rect.center().x(), + rect.center().y() - point.y() ); + + const qreal atan = qAtan2( circlePos.y(), circlePos.x() ); + const qreal angle = qRadiansToDegrees( atan ); + return angle; +} + +bool LightDisplay::arcContainsPoint( const QRectF& rect, const QPointF& point ) const +{ + // putting this in an own function just because it might be useful + // at other places in the future + + const QskArcMetrics metrics = arcMetricsHint( ColdAndWarmArc ); + const int tolerance = 20; + + // 1. check angle + QPointF circlePos( point.x() - rect.center().x(), + rect.center().y() - point.y() ); + + const qreal angle = angleFromPoint( rect, point ); + const bool angleWithinRange = ( angle + tolerance ) > metrics.startAngle() + && angle < ( metrics.startAngle() + metrics.spanAngle() - tolerance ); + + // 2. check whether point is on arc + const qreal radiusMax = rect.width() / 2; + const qreal arcWidth = metrics.width(); + const qreal radiusMin = radiusMax - arcWidth; + + const qreal polarRadius = qSqrt( qPow( circlePos.x(), 2 ) + qPow( circlePos.y(), 2 ) ); + const bool pointOnArc = ( polarRadius + tolerance ) > radiusMin + && ( polarRadius - tolerance ) < radiusMax; + + bool ret = angleWithinRange && pointOnArc; + + return ret; +} + +#include "moc_LightDisplay.cpp" diff --git a/examples/iotdashboard/LightDisplay.h b/examples/iotdashboard/LightDisplay.h new file mode 100644 index 00000000..9aa7f0b6 --- /dev/null +++ b/examples/iotdashboard/LightDisplay.h @@ -0,0 +1,47 @@ +/****************************************************************************** + * Copyright (C) 2021 Edelhirsch Software GmbH + * This file may be used under the terms of the 3-clause BSD License + *****************************************************************************/ + +#pragma once + +#include +#include +#include + +class LightDisplay : public QskBoundedValueInput +{ + Q_OBJECT + + public: + QSK_SUBCONTROLS( Panel, Groove, ColdAndWarmArc, Tickmarks, ValueText, + LeftLabel, RightLabel, Knob ) // ### rename knob to handle? + QSK_STATES( Pressed ) + + LightDisplay( QQuickItem* parent = nullptr ); + + bool isPressed() const; + + void setShadow( const QskShadowMetrics& ); + const QskShadowMetrics& shadow() const; + + void setGradient( const QskGradient& ); + const QskGradient& gradient() const; + + void setShadowColor( const QColor& ); + QColor shadowColor() const; + + protected: + void mousePressEvent( QMouseEvent* e ) override; + void mouseMoveEvent( QMouseEvent* e ) override; + void mouseReleaseEvent( QMouseEvent* e ) override; + + private: + qreal angleFromPoint( const QRectF&, const QPointF& ) const; + bool arcContainsPoint( const QRectF&, const QPointF& ) const; + + QskShadowMetrics m_shadow; + QColor m_shadowColor = Qt::black; + + QskGradient m_gradient; +}; diff --git a/examples/iotdashboard/LightDisplaySkinlet.cpp b/examples/iotdashboard/LightDisplaySkinlet.cpp new file mode 100644 index 00000000..ca551f23 --- /dev/null +++ b/examples/iotdashboard/LightDisplaySkinlet.cpp @@ -0,0 +1,209 @@ +/****************************************************************************** + * Copyright (C) 2021 Edelhirsch Software GmbH + * This file may be used under the terms of the 3-clause BSD License + *****************************************************************************/ + +#include "LightDisplaySkinlet.h" +#include "LightDisplay.h" + +#include "nodes/BoxShadowNode.h" +#include "nodes/RadialTickmarksNode.h" + +#include +#include + +#include +#include + +LightDisplaySkinlet::LightDisplaySkinlet( QskSkin* skin ) + : QskSkinlet( skin ) +{ + setNodeRoles( { GrooveRole, PanelRole, ColdAndWarmArcRole, TickmarksRole, + ValueTextRole, LeftLabelRole, RightLabelRole, KnobRole } ); +} + +LightDisplaySkinlet::~LightDisplaySkinlet() +{ +} + +QRectF LightDisplaySkinlet::subControlRect( const QskSkinnable* skinnable, + const QRectF& contentsRect, QskAspect::Subcontrol subControl ) const +{ + auto* display = static_cast< const LightDisplay* >( skinnable ); + QRectF rect = contentsRect; + const qreal ticksSpacing = 4; // space between the ticks and the arc + + if( subControl == LightDisplay::Groove + || subControl == LightDisplay::Panel + || subControl == LightDisplay::ValueText ) + { + QSizeF textSize = textLabelsSize( display ); + QskArcMetrics arcMetrics = display->arcMetricsHint( LightDisplay::ColdAndWarmArc ); + const qreal ticksWidth = display->arcMetricsHint( LightDisplay::Tickmarks ).width() + ticksSpacing; + + const qreal x = textSize.width() + arcMetrics.width() + ticksWidth; + const qreal w = contentsRect.width() - ( 2 * ( textSize.width() + arcMetrics.width() + ticksWidth ) ); + const qreal y = arcMetrics.width() + ticksWidth; + const qreal h = contentsRect.height() - 2 * ( arcMetrics.width() + ticksWidth ); + + const qreal diameter = qMin( w, h ); + + rect = QRectF( x, y, diameter, diameter ); + return rect; + } + else if( subControl == LightDisplay::ColdAndWarmArc ) + { + const QRectF panelRect = subControlRect( skinnable, contentsRect, + LightDisplay::Panel ); + auto barWidth = display->arcMetricsHint( LightDisplay::ColdAndWarmArc ).width(); + auto rect = panelRect.marginsAdded( { barWidth, barWidth, barWidth, barWidth } ); + return rect; + } + else if( subControl == LightDisplay::Tickmarks ) + { + const QRectF arcRect = subControlRect( skinnable, contentsRect, + LightDisplay::ColdAndWarmArc ); + const qreal ticksWidth = display->arcMetricsHint( LightDisplay::Tickmarks ).width() + ticksSpacing; + const QRectF rect = arcRect.marginsAdded( { ticksWidth, ticksWidth, ticksWidth, ticksWidth } ); + return rect; + } + else if( subControl == LightDisplay::LeftLabel ) + { + const QRectF ticksRect = subControlRect( skinnable, contentsRect, LightDisplay::Tickmarks ); + QSizeF size = textLabelsSize( display ); + + rect.setWidth( size.width() ); + + rect.setY( ticksRect.y() + ( ticksRect.height() - size.height() ) / 2 ); + rect.setHeight( size.height() ); + + return rect; + } + else if( subControl == LightDisplay::RightLabel ) + { + QRectF ticksRect = subControlRect( skinnable, contentsRect, LightDisplay::Tickmarks ); + QSizeF size = textLabelsSize( display ); + + rect.setX( ticksRect.x() + ticksRect.width() ); + + rect.setY( ticksRect.y() + ( ticksRect.height() - size.height() ) / 2 ); + rect.setHeight( size.height() ); + + return rect; + } + else if( subControl == LightDisplay::Knob ) + { + QRectF arcRect = subControlRect( skinnable, contentsRect, LightDisplay::ColdAndWarmArc ); + QskArcMetrics arcMetrics = display->arcMetricsHint( LightDisplay::ColdAndWarmArc ); + QSizeF knobSize = display->strutSizeHint( LightDisplay::Knob ); + + const qreal radius = ( arcRect.width() - arcMetrics.width() ) / 2; + const qreal angle = display->valueAsRatio() * 180; + + const qreal cos = qFastCos( qDegreesToRadians( angle ) ); + const qreal sin = qFastSin( qDegreesToRadians( angle ) ); + + const auto x = arcRect.center().x() - knobSize.width() / 2 - radius * cos; + const auto y = arcRect.center().y() - knobSize.height() / 2 - radius * sin; + + rect = QRectF( x, y, knobSize.width(), knobSize.height() ); + return rect; + } + + return contentsRect; +} + +QSGNode* LightDisplaySkinlet::updateSubNode( + const QskSkinnable* skinnable, quint8 nodeRole, QSGNode* node ) const +{ + auto* display = static_cast< const LightDisplay* >( skinnable ); + + + switch( nodeRole ) + { + case PanelRole: + { + return updateBoxNode( skinnable, node, LightDisplay::Panel ); + } + case GrooveRole: + { + const QRectF grooveRect = display->subControlRect( LightDisplay::Groove ); + if ( grooveRect.isEmpty() ) + return nullptr; + + auto shadowNode = static_cast< BoxShadowNode* >( node ); + if ( shadowNode == nullptr ) + shadowNode = new BoxShadowNode(); + + const auto& shadowMetrics = display->shadow(); + + shadowNode->setRect( shadowMetrics.shadowRect( grooveRect ) ); + shadowNode->setShape( grooveRect.width() / 2 ); + shadowNode->setBlurRadius( shadowMetrics.blurRadius() ); + shadowNode->setColor( display->shadowColor() ); + shadowNode->setClipRect( grooveRect ); + + shadowNode->updateGeometry(); + + return shadowNode; + } + case ColdAndWarmArcRole: + { + return updateArcNode( skinnable, node, LightDisplay::ColdAndWarmArc ); + } + case TickmarksRole: + { + auto ticksNode = static_cast< RadialTickmarksNode* >( node ); + if ( ticksNode == nullptr ) + ticksNode = new RadialTickmarksNode(); + + QColor color = display->color( LightDisplay::Tickmarks ); + QRectF ticksRect = display->subControlRect( LightDisplay::Tickmarks ); + QskArcMetrics arcMetrics = display->arcMetricsHint( LightDisplay::Tickmarks ); + QskIntervalF boundaries = display->boundaries(); + QskScaleTickmarks tickmarks; + tickmarks.setMajorTicks( {0, 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180 } ); + int tickLineWidth = display->metric( LightDisplay::Tickmarks ); + + ticksNode->update( color, ticksRect, arcMetrics, boundaries, + tickmarks, tickLineWidth, Qt::Horizontal ); + + return ticksNode; + } + case ValueTextRole: + { + const QString valueText = QString::number( display->value(), 'f', 0 ) + + QStringLiteral( " %" ); + return updateTextNode( skinnable, node, valueText, {}, + LightDisplay::ValueText ); + } + case LeftLabelRole: + { + return updateTextNode( skinnable, node, QStringLiteral( "0 " ), {}, + LightDisplay::LeftLabel ); + } + case RightLabelRole: + { + return updateTextNode( skinnable, node, QStringLiteral( " 100" ), {}, + LightDisplay::RightLabel ); + } + case KnobRole: + { + return updateBoxNode( skinnable, node, LightDisplay::Knob ); + } + } + + return Inherited::updateSubNode( skinnable, nodeRole, node ); +} + +QSizeF LightDisplaySkinlet::textLabelsSize( const LightDisplay* display ) const +{ + QFont font = display->effectiveFont( LightDisplay::LeftLabel ); + QFontMetricsF fm( font ); + + qreal w = fm.width( QStringLiteral( " 100" ) ); + qreal h = fm.height(); + return { w, h }; +} + +#include "moc_LightDisplaySkinlet.cpp" diff --git a/examples/iotdashboard/LightDisplaySkinlet.h b/examples/iotdashboard/LightDisplaySkinlet.h new file mode 100644 index 00000000..c384b2f4 --- /dev/null +++ b/examples/iotdashboard/LightDisplaySkinlet.h @@ -0,0 +1,46 @@ +/****************************************************************************** + * Copyright (C) 2021 Edelhirsch Software GmbH + * This file may be used under the terms of the 3-clause BSD License + *****************************************************************************/ + +#pragma once + +#include + +class LightDisplay; + +class LightDisplaySkinlet : public QskSkinlet +{ + Q_GADGET + + using Inherited = QskSkinlet; + + public: + enum NodeRole + { + PanelRole, + GrooveRole, + ColdAndWarmArcRole, + WarmPartRole, + TickmarksRole, + ValueTextRole, + LeftLabelRole, + RightLabelRole, + KnobRole, + + RoleCount, + }; + + Q_INVOKABLE LightDisplaySkinlet( QskSkin* = nullptr ); + ~LightDisplaySkinlet() override; + + QRectF subControlRect( const QskSkinnable*, + const QRectF&, QskAspect::Subcontrol ) const override; + + protected: + QSGNode* updateSubNode( const QskSkinnable*, + quint8 nodeRole, QSGNode* ) const override; + + private: + QSizeF textLabelsSize( const LightDisplay* display ) const; +}; diff --git a/examples/iotdashboard/LightIntensity.cpp b/examples/iotdashboard/LightIntensity.cpp deleted file mode 100644 index 4e957fb8..00000000 --- a/examples/iotdashboard/LightIntensity.cpp +++ /dev/null @@ -1,248 +0,0 @@ -/****************************************************************************** - * Copyright (C) 2021 Edelhirsch Software GmbH - * This file may be used under the terms of the 3-clause BSD License - *****************************************************************************/ - -#include "LightIntensity.h" -#include "Skin.h" - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -QSK_SUBCONTROL( LightDisplay, Panel ) -QSK_SUBCONTROL( LightDisplay, ColdPart ) -QSK_SUBCONTROL( LightDisplay, WarmPart ) -QSK_SUBCONTROL( LightDisplay, ValueText ) - -namespace -{ - class LightDimmer; - - QColor invertedColor( const QColor& c ) - { - QColor ret = { 255 - c.red(), 255 - c.green(), 255 - c.blue()}; - return ret; - } - - class LightDimmer : public QQuickPaintedItem - { - public: - LightDimmer( const QskGradient& coldGradient, - const QskGradient& warmGradient, QQuickItem* parent ); - - double thickness() const - { - return m_thickness; - } - - void setThickness( double thickness ) - { - m_thickness = thickness; - } - - QColor backgroundColor() const - { - return m_backgroundColor; - } - - void setBackgroundColor( const QColor& color ) - { - m_backgroundColor = color; - } - - QRadialGradient ringGradient() const - { - return m_ringGradient; - } - - void setRingGradient( const QRadialGradient& gradient ) - { - m_ringGradient = gradient; - } - - QRectF ringRect() const - { - const qreal r = qMin( width(), height() ) - 4; - return QRectF( 0.0, 0.0, r, r ); - } - - private: - void paint( QPainter* ) override; - void updateGradient(); - - double m_thickness = 17.57; - QColor m_backgroundColor; - QRadialGradient m_ringGradient; - QskGradient m_coldGradient; - QskGradient m_warmGradient; - }; - - // ### There must be an easier way to do this - class DimmerAnimator : public QskAnimator - { - public: - DimmerAnimator( LightDisplay* display, LightDimmer* dimmer ) - : m_display( display ) - , m_dimmer( dimmer ) - { - QQuickWindow* w = static_cast< QQuickWindow* >( qGuiApp->allWindows().at( 0 ) ); - setWindow( w ); - setDuration( 500 ); - setEasingCurve( QEasingCurve::Linear ); - } - - void setup() override - { - m_backgroundColor = m_display->color( LightDisplay::Panel ); - m_ringGradient = m_dimmer->ringGradient(); - } - - void advance( qreal value ) override - { - const QColor c = m_backgroundColor; - const QColor c2 = invertedColor( c ); - const QColor newColor = QskRgb::interpolated( c2, c, value ); - m_dimmer->setBackgroundColor( newColor ); - - QRadialGradient gradient = m_ringGradient; - QRadialGradient newGradient = gradient; - - for( const QGradientStop& stop : gradient.stops() ) - { - QColor c = stop.second; - QColor c2 = invertedColor( c ); - const QColor newColor = QskRgb::interpolated( c, c2, value ); - newGradient.setColorAt( stop.first, newColor ); - } - - m_dimmer->setRingGradient( newGradient ); - m_dimmer->update(); - } - - private: - QColor m_backgroundColor; - QRadialGradient m_ringGradient; - LightDisplay* m_display; - LightDimmer* m_dimmer; - }; -} - -LightDimmer::LightDimmer( const QskGradient& coldGradient, - const QskGradient& warmGradient, QQuickItem* parent ) - : QQuickPaintedItem( parent ) - , m_coldGradient( coldGradient ) - , m_warmGradient( warmGradient ) -{ - connect( this, &QQuickPaintedItem::widthChanged, - this, &LightDimmer::updateGradient ); - - connect( this, &QQuickPaintedItem::heightChanged, - this, &LightDimmer::updateGradient ); -} - -void LightDimmer::updateGradient() -{ - const auto sz = ringRect().size(); - - QRadialGradient ringGradient( sz.width() / 2, sz.height() / 2, 110 ); - QGradientStop stop1( 0.0, "#c0c0c0" ); - QGradientStop stop2( 0.5, "#f0f0f0" ); - QGradientStop stop3( 1.0, "#c0c0c0" ); - ringGradient.setStops( {stop1, stop2, stop3} ); - - m_ringGradient = ringGradient; -} - -void LightDimmer::paint( QPainter* painter ) -{ - const auto sz = ringRect().size(); - - const qreal knobDiameter = 15.65; - const qreal offset = ( thickness() - knobDiameter ) + 2; - - painter->setRenderHint( QPainter::Antialiasing, true ); - - QRectF outerRect( 0, offset, sz.width(), sz.height() ); - - painter->setBrush( m_ringGradient ); - - painter->setPen( m_backgroundColor ); - painter->drawEllipse( outerRect ); - - int startAngle = 16 * 180; - int middleAngle = 16 * -90; - int endAngle = 16 * -90; - - QLinearGradient coldGradient( {thickness(), 0.0}, {thickness(), thickness()} ); - coldGradient.setColorAt( 0, m_coldGradient.colorAt( 0 ) ); - coldGradient.setColorAt( 1, m_coldGradient.colorAt( 1 ) ); - painter->setBrush( coldGradient ); - painter->setPen( Qt::transparent ); - painter->drawPie( outerRect, startAngle, middleAngle ); - - QLinearGradient warmGradient( {thickness(), 0.0}, {thickness(), thickness()} ); - warmGradient.setColorAt( 0, m_warmGradient.colorAt( 0 ) ); - warmGradient.setColorAt( 1, m_warmGradient.colorAt( 1 ) ); - painter->setBrush( warmGradient ); - painter->drawPie( outerRect, 16 * 90, endAngle ); - - painter->setBrush( m_backgroundColor ); - painter->setPen( m_backgroundColor ); - QRectF innerRect( thickness() / 2, thickness() / 2 + offset, sz.width() - thickness(), sz.height() - thickness() ); - painter->drawEllipse( innerRect ); - - painter->setBrush( m_backgroundColor ); - painter->setPen( "#c4c4c4" ); - QRectF knobRect( ( sz.width() - knobDiameter ) / 2, 1, knobDiameter, knobDiameter ); - painter->drawEllipse( knobRect ); -} - -LightDisplay::LightDisplay( QQuickItem* parent ) - : QskLinearBox( Qt::Horizontal, parent ) -{ - setSubcontrolProxy( QskBox::Panel, LightDisplay::Panel ); - - auto leftLabel = new QskTextLabel( QString::number( 0 ), this ); - leftLabel->setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Fixed ); - - auto rightLabel = new QskTextLabel( QString::number( 100 ), this ); - rightLabel->setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Fixed ); - - auto dimmer = new LightDimmer( gradientHint( ColdPart ), gradientHint( WarmPart ), this ); - dimmer->setBackgroundColor( color( Panel ) ); - - m_valueLabel = new QskTextLabel( QString::number( 50 ) + "%", dimmer ); - m_valueLabel->setSubcontrolProxy( QskTextLabel::Text, LightDisplay::ValueText ); - - addItem( leftLabel ); - addItem( dimmer ); - addItem( rightLabel ); - - auto animator = new DimmerAnimator( this, dimmer ); - connect( qskSetup, &QskSetup::skinChanged, - [animator]() { animator->start(); } ); -} - -void LightDisplay::updateLayout() -{ - QskLinearBox::updateLayout(); - - auto dimmer = static_cast< const LightDimmer* >( m_valueLabel->parentItem() ); - - QRectF r; - r.setSize( m_valueLabel->sizeConstraint() ); - r.moveCenter( dimmer->ringRect().center() + QPointF( 0, 4 ) ); - - m_valueLabel->setGeometry( r ); -} - -#include "moc_LightIntensity.cpp" diff --git a/examples/iotdashboard/LightIntensity.h b/examples/iotdashboard/LightIntensity.h deleted file mode 100644 index ccdb4755..00000000 --- a/examples/iotdashboard/LightIntensity.h +++ /dev/null @@ -1,26 +0,0 @@ -/****************************************************************************** - * Copyright (C) 2021 Edelhirsch Software GmbH - * This file may be used under the terms of the 3-clause BSD License - *****************************************************************************/ - -#pragma once - -#include - -class QskTextLabel; - -class LightDisplay : public QskLinearBox -{ - Q_OBJECT - - public: - QSK_SUBCONTROLS( Panel, ColdPart, WarmPart, ValueText ) - - LightDisplay( QQuickItem* parent = nullptr ); - - protected: - void updateLayout() override; - - private: - QskTextLabel* m_valueLabel; -}; diff --git a/examples/iotdashboard/MainContent.cpp b/examples/iotdashboard/MainContent.cpp index 60df8234..b3133d6c 100644 --- a/examples/iotdashboard/MainContent.cpp +++ b/examples/iotdashboard/MainContent.cpp @@ -8,7 +8,7 @@ #include "Box.h" #include "BoxWithButtons.h" #include "UsageDiagram.h" -#include "LightIntensity.h" +#include "LightDisplay.h" #include "MyDevices.h" #include "PieChart.h" #include "TopBar.h" @@ -54,7 +54,9 @@ namespace LightIntensity( QQuickItem* parent = nullptr ) : Box( "Light intensity", parent ) { - new LightDisplay( this ); + addSpacer( 5 ); + auto* lightDisplay = new LightDisplay( this ); + lightDisplay->setValue( 50.0 ); } }; } diff --git a/examples/iotdashboard/Skin.cpp b/examples/iotdashboard/Skin.cpp index 049a2732..8856a7af 100644 --- a/examples/iotdashboard/Skin.cpp +++ b/examples/iotdashboard/Skin.cpp @@ -11,7 +11,8 @@ #include "CircularProgressBarSkinlet.h" #include "Diagram.h" #include "DiagramSkinlet.h" -#include "LightIntensity.h" +#include "LightDisplay.h" +#include "LightDisplaySkinlet.h" #include "MainContent.h" #include "MenuBar.h" #include "PieChartPainted.h" @@ -54,6 +55,7 @@ Skin::Skin( const Palette& palette, QObject* parent ) { declareSkinlet< CircularProgressBar, CircularProgressBarSkinlet >(); declareSkinlet< Diagram, DiagramSkinlet >(); + declareSkinlet< LightDisplay, LightDisplaySkinlet >(); initHints( palette ); } @@ -180,18 +182,36 @@ void Skin::initHints( const Palette& palette ) ed.setColor( Diagram::ChartArea3, "#66ff7d34" ); // light intensity: - ed.setGradient( LightDisplay::ColdPart, { Qt::Horizontal, "#a7b0ff", "#6776ff" } ); - ed.setGradient( LightDisplay::WarmPart, { Qt::Horizontal, "#feeeb7", "#ff3122" } ); + ed.setBoxShape( LightDisplay::Panel, 100, Qt::RelativeSize ); + + ed.setArcMetrics( LightDisplay::ColdAndWarmArc, 8.785, 0, 180 * 16 ); + QskGradient coldGradient( Qt::Horizontal, { { 0.0, 0xffff3122 }, + { 0.2, 0xfffeeeb7 }, + { 0.3, 0xffa7b0ff }, + { 0.5, 0xff6776ff }, + { 1.0, Qt::black } } ); + ed.setGradient( LightDisplay::ColdAndWarmArc, coldGradient ); + + ed.setMetric( LightDisplay::Tickmarks, 1 ); + ed.setArcMetrics( LightDisplay::Tickmarks, { 4.69, 0, 180 * 16 } ); + ed.setColor( LightDisplay::Tickmarks, 0x55929CB2 ); + ed.setFontRole( LightDisplay::ValueText, QskSkin::LargeFont ); ed.setColor( LightDisplay::ValueText, "#929cb2" ); + ed.setStrutSize( LightDisplay::Knob, { 20, 20 } ); + ed.setBoxBorderMetrics( LightDisplay::Knob, 1 ); + ed.setBoxBorderColors( LightDisplay::Knob, 0xffc4c4c4 ); + ed.setBoxShape( LightDisplay::Knob, 100, Qt::RelativeSize ); + // palette dependent skin hints: ed.setGradient( MenuBar::Panel, palette.menuBar ); ed.setGradient( MainContent::Panel, palette.mainContent ); ed.setGradient( Box::Panel, palette.box ); ed.setGradient( BoxWithButtons::Panel, palette.box ); ed.setGradient( UsageDiagramBox::Panel, palette.box ); - ed.setColor( LightDisplay::Panel, palette.lightDisplay ); + ed.setGradient( LightDisplay::Panel, palette.box ); + ed.setGradient( LightDisplay::Knob, palette.box ); ed.setGradient( RoundButton::Panel, palette.roundButton ); ed.setBoxBorderColors( UsageDiagramBox::DaysBox, palette.weekdayBox ); ed.setColor( QskTextLabel::Text, palette.text ); diff --git a/examples/iotdashboard/iotdashboard.pro b/examples/iotdashboard/iotdashboard.pro index 2064a376..1b6a87b7 100644 --- a/examples/iotdashboard/iotdashboard.pro +++ b/examples/iotdashboard/iotdashboard.pro @@ -10,7 +10,8 @@ SOURCES += \ Diagram.cpp \ DiagramSkinlet.cpp \ GraphicProvider.cpp \ - LightIntensity.cpp \ + LightDisplaySkinlet.cpp \ + LightDisplay.cpp \ MainContent.cpp \ MenuBar.cpp \ MyDevices.cpp \ @@ -28,9 +29,10 @@ SOURCES += \ main.cpp \ SOURCES += \ + nodes/BoxShadowNode.cpp \ nodes/DiagramDataNode.cpp \ nodes/DiagramSegmentsNode.cpp \ - nodes/BoxShadowNode.cpp + nodes/RadialTickmarksNode.cpp HEADERS += \ Box.h \ @@ -40,7 +42,8 @@ HEADERS += \ Diagram.h \ DiagramSkinlet.h \ GraphicProvider.h \ - LightIntensity.h \ + LightDisplaySkinlet.h \ + LightDisplay.h \ MainContent.h \ MainWindow.h \ MenuBar.h \ @@ -57,9 +60,10 @@ HEADERS += \ UsageDiagram.h HEADERS += \ + nodes/BoxShadowNode.h \ nodes/DiagramDataNode.h \ nodes/DiagramSegmentsNode.h \ - nodes/BoxShadowNode.h + nodes/RadialTickmarksNode.h RESOURCES += \ images.qrc \ diff --git a/examples/iotdashboard/nodes/RadialTickmarksNode.cpp b/examples/iotdashboard/nodes/RadialTickmarksNode.cpp new file mode 100644 index 00000000..13a86dbc --- /dev/null +++ b/examples/iotdashboard/nodes/RadialTickmarksNode.cpp @@ -0,0 +1,129 @@ +/****************************************************************************** + * QSkinny - Copyright (C) 2016 Uwe Rathmann + * This file may be used under the terms of the 3-clause BSD License + *****************************************************************************/ + +#include "RadialTickmarksNode.h" + +#include +#include + +QSK_QT_PRIVATE_BEGIN +#include +QSK_QT_PRIVATE_END + +static constexpr inline qreal qskTickFactor( QskScaleTickmarks::TickType type ) +{ + using TM = QskScaleTickmarks; + return type == TM::MinorTick ? 0.7 : ( type == TM::MinorTick ? 0.85 : 1.0 ); +} + +class RadialTickmarksNodePrivate final : public QSGGeometryNodePrivate +{ + public: + RadialTickmarksNodePrivate() + : geometry( QSGGeometry::defaultAttributes_Point2D(), 0 ) + { +#if QT_VERSION >= QT_VERSION_CHECK( 5, 8, 0 ) + geometry.setDrawingMode( QSGGeometry::DrawLines ); +#else + geometry.setDrawingMode( GL_LINES ); +#endif + geometry.setVertexDataPattern( QSGGeometry::StaticPattern ); + } + + QSGGeometry geometry; + QSGFlatColorMaterial material; + + QskIntervalF boundaries; + QskScaleTickmarks tickmarks; + + QRectF rect; + int lineWidth = 0; + + uint hash = 0; +}; + +RadialTickmarksNode::RadialTickmarksNode() + : QSGGeometryNode( *new RadialTickmarksNodePrivate ) +{ + Q_D( RadialTickmarksNode ); + + setGeometry( &d->geometry ); + setMaterial( &d->material ); +} + +RadialTickmarksNode::~RadialTickmarksNode() +{ +} + +void RadialTickmarksNode::update(const QColor& color, const QRectF& rect, + const QskArcMetrics& arcMetrics, const QskIntervalF& /*boundaries*/, + const QskScaleTickmarks& tickmarks, int lineWidth, + Qt::Orientation /*orientation*/ ) +{ + Q_D( RadialTickmarksNode ); + + if( lineWidth != d->lineWidth ) + { + d->lineWidth = lineWidth; + d->geometry.setLineWidth( lineWidth ); + + markDirty( QSGNode::DirtyGeometry ); + } + + const uint hash = tickmarks.hash( 17435 ); + + if( ( hash != d->hash ) || ( rect != d->rect ) ) + { + d->hash = hash; + d->rect = rect; + + d->geometry.allocate( tickmarks.tickCount() * 2 ); + auto vertexData = d->geometry.vertexDataAsPoint2D(); + + const auto center = rect.center(); + const auto radius = 0.5 * rect.width(); + const auto needleRadius = radius - arcMetrics.width(); + + using TM = QskScaleTickmarks; + + for( int i = TM::MinorTick; i <= TM::MajorTick; i++ ) + { + const auto tickType = static_cast< TM::TickType >( i ); + const auto ticks = tickmarks.ticks( tickType ); + + const auto startAngle = arcMetrics.startAngle(); + const auto endAngle = startAngle + arcMetrics.spanAngle(); + + for( const auto tick : ticks ) + { + const qreal ratio = ( tick - startAngle ) / ( endAngle - startAngle ); + const qreal angle = ratio * ( endAngle - startAngle ); + + const qreal cos = qFastCos( qDegreesToRadians( angle ) ); + const qreal sin = qFastSin( qDegreesToRadians( angle ) ); + + const auto xStart = center.x() - radius * cos; + const auto yStart = center.y() - radius * sin; + + const auto xEnd = center.x() - needleRadius * cos; + const auto yEnd = center.y() - needleRadius * sin; + + vertexData[ 0 ].set( xStart, yStart ); + vertexData[ 1 ].set( xEnd, yEnd ); + + vertexData += 2; + } + } + + d->geometry.markVertexDataDirty(); + markDirty( QSGNode::DirtyGeometry ); + } + + if ( color != d->material.color() ) + { + d->material.setColor( color ); + markDirty( QSGNode::DirtyMaterial ); + } +} diff --git a/examples/iotdashboard/nodes/RadialTickmarksNode.h b/examples/iotdashboard/nodes/RadialTickmarksNode.h new file mode 100644 index 00000000..27fc82a9 --- /dev/null +++ b/examples/iotdashboard/nodes/RadialTickmarksNode.h @@ -0,0 +1,27 @@ +/****************************************************************************** + * QSkinny - Copyright (C) 2016 Uwe Rathmann + * This file may be used under the terms of the 3-clause BSD License + *****************************************************************************/ + +#pragma once + +#include +#include +#include + +#include + +class RadialTickmarksNodePrivate; + +class RadialTickmarksNode : public QSGGeometryNode +{ + public: + RadialTickmarksNode(); + ~RadialTickmarksNode() override; + + void update( const QColor&, const QRectF&, const QskArcMetrics&, + const QskIntervalF&, const QskScaleTickmarks&, int, Qt::Orientation ); + + private: + Q_DECLARE_PRIVATE( RadialTickmarksNode ) +};