diff --git a/examples/mycontrols/MyToggleButton.h b/examples/mycontrols/MyToggleButton.h index 7ab43e86..6ec22ec0 100644 --- a/examples/mycontrols/MyToggleButton.h +++ b/examples/mycontrols/MyToggleButton.h @@ -29,8 +29,6 @@ class MyToggleButton : public QskAbstractButton void setIconAt( int index, const QString& icon ); QString iconAt( int index ) const; - QSizeF contentsSizeHint() const override; - qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; @@ -47,6 +45,7 @@ class MyToggleButton : public QskAbstractButton protected: void updateLayout() override; + QSizeF contentsSizeHint() const override; private: class PrivateData; diff --git a/examples/sliders/Slider.h b/examples/sliders/Slider.h index 3d864fa5..34276b58 100644 --- a/examples/sliders/Slider.h +++ b/examples/sliders/Slider.h @@ -18,6 +18,8 @@ class Slider : public QskSlider Slider( QQuickItem* parent = nullptr ); QRectF focusIndicatorRect() const override; + + protected: QSizeF contentsSizeHint() const override; }; diff --git a/src/controls/QskBox.h b/src/controls/QskBox.h index 0284a0f2..4eeb8985 100644 --- a/src/controls/QskBox.h +++ b/src/controls/QskBox.h @@ -29,6 +29,8 @@ class QSK_EXPORT QskBox : public QskControl bool hasPanel() const; QRectF layoutRectForSize( const QSizeF& ) const override; + + protected: QSizeF contentsSizeHint() const override; Q_SIGNALS: diff --git a/src/controls/QskControl.h b/src/controls/QskControl.h index 767abf6c..3def69cc 100644 --- a/src/controls/QskControl.h +++ b/src/controls/QskControl.h @@ -193,6 +193,7 @@ class QSK_EXPORT QskControl : public QskQuickItem, public QskSkinnable virtual void updateResources(); virtual void updateLayout(); + protected: virtual QSizeF contentsSizeHint() const; private: diff --git a/src/controls/QskGraphicLabel.h b/src/controls/QskGraphicLabel.h index 825f1297..2c4aa93c 100644 --- a/src/controls/QskGraphicLabel.h +++ b/src/controls/QskGraphicLabel.h @@ -80,8 +80,6 @@ class QSK_EXPORT QskGraphicLabel : public QskControl qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; - QSizeF contentsSizeHint() const override; - bool isEmpty() const; void setGraphicRole( int role ); @@ -101,6 +99,8 @@ class QSK_EXPORT QskGraphicLabel : public QskControl protected: void changeEvent( QEvent* ) override; void updateLayout() override; + + QSizeF contentsSizeHint() const override; virtual QskGraphic loadSource( const QUrl& ) const; private: diff --git a/src/controls/QskListView.h b/src/controls/QskListView.h index 19bc30fa..acc17569 100644 --- a/src/controls/QskListView.h +++ b/src/controls/QskListView.h @@ -79,8 +79,6 @@ class QSK_EXPORT QskListView : public QskScrollView virtual QskAspect::Subcontrol textSubControlAt( int row, int col ) const; #endif - QSizeF contentsSizeHint() const override; - public Q_SLOTS: void setSelectedRow( int row ); @@ -100,6 +98,7 @@ class QSK_EXPORT QskListView : public QskScrollView void mouseReleaseEvent( QMouseEvent* ) override; void updateScrollableSize(); + QSizeF contentsSizeHint() const override; void componentComplete() override; diff --git a/src/controls/QskPageIndicator.h b/src/controls/QskPageIndicator.h index ef8eabaf..507329c7 100644 --- a/src/controls/QskPageIndicator.h +++ b/src/controls/QskPageIndicator.h @@ -40,8 +40,6 @@ class QSK_EXPORT QskPageIndicator : public QskControl Qt::Orientation orientation() const; void setOrientation( Qt::Orientation ); - QSizeF contentsSizeHint() const override; - Q_SIGNALS: void countChanged(); void currentIndexChanged(); @@ -51,6 +49,9 @@ class QSK_EXPORT QskPageIndicator : public QskControl void setCount( int count ); void setCurrentIndex( qreal index ); + protected: + QSizeF contentsSizeHint() const override; + private: class PrivateData; std::unique_ptr< PrivateData > m_data; diff --git a/src/controls/QskPushButton.h b/src/controls/QskPushButton.h index 999f0362..28b58f94 100644 --- a/src/controls/QskPushButton.h +++ b/src/controls/QskPushButton.h @@ -63,8 +63,6 @@ class QSK_EXPORT QskPushButton : public QskAbstractButton bool isFlat() const; QFont font() const; - - QSizeF contentsSizeHint() const override; QRectF layoutRectForSize( const QSizeF& ) const override; public Q_SLOTS: @@ -92,6 +90,8 @@ class QSK_EXPORT QskPushButton : public QskAbstractButton void changeEvent( QEvent* ) override; void updateLayout() override; + QSizeF contentsSizeHint() const override; + virtual QskGraphic loadGraphic( const QUrl& ) const; private: diff --git a/src/controls/QskSeparator.h b/src/controls/QskSeparator.h index bc0b50da..13ca4b31 100644 --- a/src/controls/QskSeparator.h +++ b/src/controls/QskSeparator.h @@ -34,13 +34,15 @@ class QSK_EXPORT QskSeparator : public QskControl void setThickness( qreal thickness ); qreal thickness() const; - QSizeF contentsSizeHint() const override; QskAspect::Placement effectivePlacement() const override; Q_SIGNALS: void orientationChanged( Qt::Orientation ); void thicknessChanged(); + protected: + QSizeF contentsSizeHint() const override; + private: Qt::Orientation m_orientation; }; diff --git a/src/controls/QskSlider.h b/src/controls/QskSlider.h index 3f671468..9a35765e 100644 --- a/src/controls/QskSlider.h +++ b/src/controls/QskSlider.h @@ -41,7 +41,6 @@ class QSK_EXPORT QskSlider : public QskRangeControl void setTracking( bool ); bool isTracking() const; - QSizeF contentsSizeHint() const override; QskAspect::Placement effectivePlacement() const override; Q_SIGNALS: @@ -54,6 +53,8 @@ class QSK_EXPORT QskSlider : public QskRangeControl void mouseMoveEvent( QMouseEvent* e ) override; void mouseReleaseEvent( QMouseEvent* e ) override; + QSizeF contentsSizeHint() const override; + QSizeF handleSize() const; QRectF handleRect() const; diff --git a/src/controls/QskStatusIndicator.h b/src/controls/QskStatusIndicator.h index 3e5a99c5..430c6d99 100644 --- a/src/controls/QskStatusIndicator.h +++ b/src/controls/QskStatusIndicator.h @@ -38,8 +38,6 @@ class QSK_EXPORT QskStatusIndicator : public QskControl qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; - QSizeF contentsSizeHint() const override; - int status() const; bool hasStatus( int status ) const; @@ -53,6 +51,8 @@ class QSK_EXPORT QskStatusIndicator : public QskControl void changeEvent( QEvent* ) override; void updateLayout() override; + QSizeF contentsSizeHint() const override; + private: qreal sizeConstraint( Qt::Orientation, qreal ) const; diff --git a/src/controls/QskSubWindow.h b/src/controls/QskSubWindow.h index 39aab9c1..e30a0dac 100644 --- a/src/controls/QskSubWindow.h +++ b/src/controls/QskSubWindow.h @@ -77,8 +77,6 @@ class QSK_EXPORT QskSubWindow : public QskPopup bool testWindowButton( WindowButton ) const; QRectF titleBarRect() const; - - QSizeF contentsSizeHint() const override; QRectF layoutRectForSize( const QSizeF& ) const override; Q_SIGNALS: @@ -91,9 +89,10 @@ class QSK_EXPORT QskSubWindow : public QskPopup protected: bool event( QEvent* ) override; - void updateLayout() override; + QSizeF contentsSizeHint() const override; + void itemChange( QQuickItem::ItemChange, const QQuickItem::ItemChangeData& ) override; diff --git a/src/controls/QskTabButton.h b/src/controls/QskTabButton.h index 10f99078..ba594b8c 100644 --- a/src/controls/QskTabButton.h +++ b/src/controls/QskTabButton.h @@ -36,7 +36,6 @@ class QSK_EXPORT QskTabButton : public QskAbstractButton void setTextOptions( const QskTextOptions& ); QskTextOptions textOptions() const; - QSizeF contentsSizeHint() const override; QRectF layoutRectForSize( const QSizeF& ) const override; QskAspect::Placement effectivePlacement() const override; @@ -50,6 +49,7 @@ class QSK_EXPORT QskTabButton : public QskAbstractButton protected: void changeEvent( QEvent* ) override; + QSizeF contentsSizeHint() const override; private: class PrivateData; diff --git a/src/controls/QskTabView.h b/src/controls/QskTabView.h index 9a7b0d34..91c2ff8b 100644 --- a/src/controls/QskTabView.h +++ b/src/controls/QskTabView.h @@ -66,8 +66,6 @@ class QSK_EXPORT QskTabView : public QskControl QRectF tabRect() const; - QSizeF contentsSizeHint() const override; - public Q_SLOTS: void setCurrentIndex( int index ); @@ -80,6 +78,8 @@ class QSK_EXPORT QskTabView : public QskControl bool event( QEvent* event ) override; void updateLayout() override; + QSizeF contentsSizeHint() const override; + private: class PrivateData; std::unique_ptr< PrivateData > m_data; diff --git a/src/controls/QskTextInput.h b/src/controls/QskTextInput.h index 8511af11..9b13c867 100644 --- a/src/controls/QskTextInput.h +++ b/src/controls/QskTextInput.h @@ -146,8 +146,6 @@ class QSK_EXPORT QskTextInput : public QskControl void ensureVisible( int position ); - QSizeF contentsSizeHint() const override; - public Q_SLOTS: void setText( const QString& ); void setEditing( bool ); @@ -200,6 +198,8 @@ class QSK_EXPORT QskTextInput : public QskControl void keyReleaseEvent( QKeyEvent* ) override; void updateLayout() override; + QSizeF contentsSizeHint() const override; + void updateNode( QSGNode* ) override; private: diff --git a/src/controls/QskTextLabel.h b/src/controls/QskTextLabel.h index fc939db6..d616bed7 100644 --- a/src/controls/QskTextLabel.h +++ b/src/controls/QskTextLabel.h @@ -60,8 +60,6 @@ class QSK_EXPORT QskTextLabel : public QskControl void setAlignment( Qt::Alignment ); Qt::Alignment alignment() const; - QSizeF contentsSizeHint() const override; - qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; @@ -79,6 +77,7 @@ class QSK_EXPORT QskTextLabel : public QskControl protected: void changeEvent( QEvent* ) override; + QSizeF contentsSizeHint() const override; private: class PrivateData; diff --git a/src/dialogs/QskDialogButtonBox.cpp b/src/dialogs/QskDialogButtonBox.cpp index 28397b22..6b4e9e0a 100644 --- a/src/dialogs/QskDialogButtonBox.cpp +++ b/src/dialogs/QskDialogButtonBox.cpp @@ -128,7 +128,7 @@ QSizeF QskDialogButtonBox::contentsSizeHint() const m_data->dirtyLayout = false; } - return outerBoxSize( Panel, m_data->layoutBox->contentsSizeHint() ); + return outerBoxSize( Panel, m_data->layoutBox->sizeHint() ); } void QskDialogButtonBox::invalidateLayout() diff --git a/src/dialogs/QskDialogButtonBox.h b/src/dialogs/QskDialogButtonBox.h index 87101332..c658d9fb 100644 --- a/src/dialogs/QskDialogButtonBox.h +++ b/src/dialogs/QskDialogButtonBox.h @@ -58,8 +58,6 @@ class QSK_EXPORT QskDialogButtonBox : public QskBox QskDialog::Action clickedAction() const; - QSizeF contentsSizeHint() const override; - QskAspect::Subcontrol effectiveSubcontrol( QskAspect::Subcontrol ) const override; @@ -81,6 +79,8 @@ class QSK_EXPORT QskDialogButtonBox : public QskBox bool event( QEvent* event ) override; void updateLayout() override; + QSizeF contentsSizeHint() const override; + virtual QskPushButton* createButton( QskDialog::Action ) const; void invalidateLayout(); diff --git a/src/dialogs/QskDialogSubWindow.h b/src/dialogs/QskDialogSubWindow.h index 4fbf7986..ce35e297 100644 --- a/src/dialogs/QskDialogSubWindow.h +++ b/src/dialogs/QskDialogSubWindow.h @@ -54,8 +54,6 @@ class QSK_EXPORT QskDialogSubWindow : public QskSubWindow qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; - QSizeF contentsSizeHint() const override; - Q_SIGNALS: void finished( QskDialog::DialogCode ); void accepted(); @@ -74,6 +72,8 @@ class QSK_EXPORT QskDialogSubWindow : public QskSubWindow void updateLayout() override; void aboutToShow() override; + QSizeF contentsSizeHint() const override; + virtual QskDialogButtonBox* createButtonBox(); private: diff --git a/src/inputpanel/QskVirtualKeyboard.h b/src/inputpanel/QskVirtualKeyboard.h index c81ffb1c..7f5a35a9 100644 --- a/src/inputpanel/QskVirtualKeyboard.h +++ b/src/inputpanel/QskVirtualKeyboard.h @@ -38,8 +38,6 @@ class QSK_EXPORT QskVirtualKeyboard : public QskBox qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; - QSizeF contentsSizeHint() const override; - QskAspect::Subcontrol effectiveSubcontrol( QskAspect::Subcontrol ) const override; @@ -51,6 +49,7 @@ class QSK_EXPORT QskVirtualKeyboard : public QskBox protected: void updateLayout() override; + QSizeF contentsSizeHint() const override; private: void buttonPressed(); diff --git a/src/layouts/QskGridBox.h b/src/layouts/QskGridBox.h index b3f19c8e..b86a3079 100644 --- a/src/layouts/QskGridBox.h +++ b/src/layouts/QskGridBox.h @@ -99,8 +99,6 @@ class QSK_EXPORT QskGridBox : public QskBox Q_INVOKABLE void setRowFixedHeight( int row, qreal height ); Q_INVOKABLE void setColumnFixedWidth( int column, qreal width ); - QSizeF contentsSizeHint() const override; - qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; @@ -118,6 +116,8 @@ class QSK_EXPORT QskGridBox : public QskBox void itemChange( ItemChange, const ItemChangeData& ) override; void updateLayout() override; + QSizeF contentsSizeHint() const override; + private: class PrivateData; std::unique_ptr< PrivateData > m_data; diff --git a/src/layouts/QskLinearBox.h b/src/layouts/QskLinearBox.h index 811b6bb9..13a79d76 100644 --- a/src/layouts/QskLinearBox.h +++ b/src/layouts/QskLinearBox.h @@ -54,8 +54,6 @@ class QSK_EXPORT QskLinearBox : public QskIndexedLayoutBox void removeItem( const QQuickItem* ); void removeAt( int index ); - QSizeF contentsSizeHint() const override; - qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; @@ -110,6 +108,8 @@ class QSK_EXPORT QskLinearBox : public QskIndexedLayoutBox void itemChange( ItemChange, const ItemChangeData& ) override; void updateLayout() override; + QSizeF contentsSizeHint() const override; + void autoAddItem( QQuickItem* ) override final; void autoRemoveItem( QQuickItem* ) override final; diff --git a/src/layouts/QskStackBox.h b/src/layouts/QskStackBox.h index f58e2037..a9284e3e 100644 --- a/src/layouts/QskStackBox.h +++ b/src/layouts/QskStackBox.h @@ -51,7 +51,6 @@ class QSK_EXPORT QskStackBox : public QskIndexedLayoutBox const QskStackBoxAnimator* animator() const; QskStackBoxAnimator* animator(); - QSizeF contentsSizeHint() const override; qreal heightForWidth( qreal width ) const override; qreal widthForHeight( qreal height ) const override; @@ -73,6 +72,8 @@ class QSK_EXPORT QskStackBox : public QskIndexedLayoutBox bool event( QEvent* ) override; void updateLayout() override; + QSizeF contentsSizeHint() const override; + void autoAddItem( QQuickItem* ) override final; void autoRemoveItem( QQuickItem* ) override final;