QSkinny 0.8.0
C++/Qt UI toolkit
Loading...
Searching...
No Matches
QskSpinBoxSkinlet Class Reference

#include <QskSpinBoxSkinlet.h>

Detailed Description

This skinlet's purpose is to draw a QskSpinBox instance.

In order to manage individual subcontrol states this skinlet uses subcontrol sampling. Although it is most usefull when dealing with dynamic or large numbers of subcontrols, it is a strategy to index the subcontrol in order to have individual states instead of one collective state on the skinnable object.

Note
The placement and dimensions of all subcontrols depend on the following subctrontrol aspects:
  • QskSpinBox::Layout's alignment hint ( which affects the positions of all controls )
  • QskSpinBox::Layout's spacing hint
  • QskSpinBox::IncrementPanel's strut size hint
  • QskSpinBox::DecrementPanel's strut size hint
  • QskSpinBox::TextPanel's strut size hint

Definition at line 11 of file QskSpinBoxSkinlet.h.

Inheritance diagram for QskSpinBoxSkinlet:

Public Types

enum  NodeRole {
  PanelRole , TextPanelRole , TextRole , UpPanelRole ,
  UpIndicatorRole , DownPanelRole , DownIndicatorRole , RoleCount
}
 

Public Member Functions

Q_INVOKABLE QskSpinBoxSkinlet (QskSkin *=nullptr)
 
QRectF subControlRect (const QskSkinnable *, const QRectF &, QskAspect::Subcontrol) const override
 
QSizeF sizeHint (const QskSkinnable *skinnable, Qt::SizeHint, const QSizeF &) const override
 
- Public Member Functions inherited from QskSkinlet
Q_INVOKABLE QskSkinlet (QskSkin *=nullptr)
 
QskSkinskin () const
 
virtual void updateNode (QskSkinnable *, QSGNode *parent) const
 
virtual QRectF sampleRect (const QskSkinnable *, const QRectF &, QskAspect::Subcontrol, int index) const
 
virtual int sampleIndexAt (const QskSkinnable *, const QRectF &, QskAspect::Subcontrol, const QPointF &) const
 
virtual int sampleCount (const QskSkinnable *, QskAspect::Subcontrol) const
 
virtual QskAspect::States sampleStates (const QskSkinnable *, QskAspect::Subcontrol, int index) const
 
virtual QVariant sampleAt (const QskSkinnable *, QskAspect::Subcontrol, int index) const
 
const QVector< quint8 > & nodeRoles () const
 
void setOwnedBySkinnable (bool on)
 
bool isOwnedBySkinnable () const
 

Protected Member Functions

QSGNode * updateSubNode (const QskSkinnable *skinnable, quint8 role, QSGNode *node) const override
 
- Protected Member Functions inherited from QskSkinlet
void setNodeRoles (const QVector< quint8 > &)
 
void appendNodeRoles (const QVector< quint8 > &)
 
virtual QSGNode * updateBackgroundNode (const QskControl *, QSGNode *) const
 
virtual QSGNode * updateDebugNode (const QskControl *, QSGNode *node) const
 
QSGNode * updateBoxNode (const QskSkinnable *, QSGNode *, QskAspect::Subcontrol) const
 
QSGNode * updateArcNode (const QskSkinnable *, QSGNode *, QskAspect::Subcontrol) const
 
QSGNode * updateArcNode (const QskSkinnable *, QSGNode *, qreal startAngle, qreal spanAngle, QskAspect::Subcontrol) const
 
QSGNode * updateBoxClipNode (const QskSkinnable *, QSGNode *, QskAspect::Subcontrol) const
 
QSGNode * updateTextNode (const QskSkinnable *, QSGNode *, const QString &, QskAspect::Subcontrol) const
 
QSGNode * updateSymbolNode (const QskSkinnable *, QSGNode *, QskAspect::Subcontrol) const
 
QSGNode * updateGraphicNode (const QskSkinnable *, QSGNode *, const QskGraphic &, QskAspect::Subcontrol, Qt::Orientations mirrored=Qt::Orientations()) const
 
QSGNode * updateSeriesNode (const QskSkinnable *, QskAspect::Subcontrol, QSGNode *) const
 
virtual QSGNode * updateSampleNode (const QskSkinnable *, QskAspect::Subcontrol, int index, QSGNode *) const
 
void replaceChildNode (quint8 nodeRole, QSGNode *parentNode, QSGNode *oldNode, QSGNode *newNode) const
 
QSizeF hintWithoutConstraint (const QSizeF &hint, const QSizeF &constraint) const
 

Additional Inherited Members

- Static Public Member Functions inherited from QskSkinlet
static QSGNode * updateBoxNode (const QskSkinnable *, QSGNode *, const QRectF &, QskAspect::Subcontrol)
 
static QSGNode * updateBoxNode (const QskSkinnable *, QSGNode *, const QRectF &, const QskGradient &, QskAspect::Subcontrol)
 
static QSGNode * updateBoxNode (const QskSkinnable *, QSGNode *, const QRectF &, const QskBoxShapeMetrics &, const QskBoxBorderMetrics &, const QskBoxBorderColors &, const QskGradient &)
 
static QSGNode * updateBoxNode (const QskSkinnable *, QSGNode *, const QRectF &, const QskBoxHints &)
 
static QSGNode * updateInterpolatedBoxNode (const QskSkinnable *, QSGNode *, const QRectF &, QskAspect aspect1, QskAspect aspect2, qreal ratio)
 
static QSGNode * updateArcNode (const QskSkinnable *, QSGNode *, const QRectF &, QskAspect::Subcontrol)
 
static QSGNode * updateArcNode (const QskSkinnable *, QSGNode *, const QRectF &, const QskGradient &, QskAspect::Subcontrol)
 
static QSGNode * updateArcNode (const QskSkinnable *, QSGNode *, const QRectF &, qreal borderWidth, const QColor &borderColor, const QskGradient &, const QskArcMetrics &)
 
static QSGNode * updateArcNode (const QskSkinnable *, QSGNode *, const QRectF &, qreal startAngle, qreal spanAngle, QskAspect::Subcontrol)
 
static QSGNode * updateArcNode (const QskSkinnable *, QSGNode *, const QRectF &, const QskGradient &, qreal startAngle, qreal spanAngle, QskAspect::Subcontrol)
 
static QSGNode * updateLineNode (const QskSkinnable *, QSGNode *, const QLineF &, QskAspect::Subcontrol)
 
static QSGNode * updateLinesNode (const QskSkinnable *, QSGNode *, const QVector< QLineF > &, QskAspect::Subcontrol)
 
static QSGNode * updateTextNode (const QskSkinnable *, QSGNode *, const QRectF &, Qt::Alignment, const QString &, QskAspect::Subcontrol)
 
static QSGNode * updateTextNode (const QskSkinnable *, QSGNode *, const QRectF &, Qt::Alignment, const QString &, const QFont &, const QskTextOptions &, const QskTextColors &, Qsk::TextStyle)
 
static QSGNode * updateGraphicNode (const QskSkinnable *, QSGNode *, const QskGraphic &, const QskColorFilter &, const QRectF &, Qt::Alignment, Qt::Orientations mirrored=Qt::Orientations())
 
static QSGNode * updateGraphicNode (const QskSkinnable *, QSGNode *, const QskGraphic &, const QskColorFilter &, const QRectF &, Qt::Orientations mirrored=Qt::Orientations())
 
static QSGNode * updateBoxClipNode (const QskSkinnable *, QSGNode *, const QRectF &, QskAspect::Subcontrol)
 

Member Enumeration Documentation

◆ NodeRole

enum QskSpinBoxSkinlet::NodeRole

Definition at line 19 of file QskSpinBoxSkinlet.h.

Constructor & Destructor Documentation

◆ QskSpinBoxSkinlet()

QskSpinBoxSkinlet::QskSpinBoxSkinlet ( QskSkin = nullptr)

Definition at line 66 of file QskSpinBoxSkinlet.cpp.

Member Function Documentation

◆ sizeHint()

QSizeF QskSpinBoxSkinlet::sizeHint ( const QskSkinnable skinnable,
Qt::SizeHint  which,
const QSizeF &   
) const
overridevirtual

Reimplemented from QskSkinlet.

Definition at line 272 of file QskSpinBoxSkinlet.cpp.

◆ subControlRect()

QRectF QskSpinBoxSkinlet::subControlRect ( const QskSkinnable skinnable,
const QRectF &  contentsRect,
QskAspect::Subcontrol  subControl 
) const
overridevirtual

Reimplemented from QskSkinlet.

Definition at line 72 of file QskSpinBoxSkinlet.cpp.

◆ updateSubNode()

QSGNode * QskSpinBoxSkinlet::updateSubNode ( const QskSkinnable skinnable,
quint8  role,
QSGNode *  node 
) const
overrideprotectedvirtual

Reimplemented from QskSkinlet.

Definition at line 101 of file QskSpinBoxSkinlet.cpp.