QskSkinnable::subControlRect introduced to avoid having to use
QskSkinlet in application code
This commit is contained in:
parent
93f5552a4e
commit
46da086092
|
@ -4,7 +4,6 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#include "QskBox.h"
|
#include "QskBox.h"
|
||||||
#include "QskSkinlet.h"
|
|
||||||
|
|
||||||
QSK_SUBCONTROL( QskBox, Panel )
|
QSK_SUBCONTROL( QskBox, Panel )
|
||||||
|
|
||||||
|
@ -19,7 +18,7 @@ QskBox::~QskBox()
|
||||||
|
|
||||||
QRectF QskBox::layoutRect() const
|
QRectF QskBox::layoutRect() const
|
||||||
{
|
{
|
||||||
return innerBox( Panel, effectiveSkinlet()->subControlRect( this, Panel ) );
|
return innerBox( Panel, subControlRect( Panel ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
QSizeF QskBox::contentsSizeHint() const
|
QSizeF QskBox::contentsSizeHint() const
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#include "QskScrollView.h"
|
#include "QskScrollView.h"
|
||||||
#include "QskScrollViewSkinlet.h"
|
|
||||||
#include "QskPanGestureRecognizer.h"
|
#include "QskPanGestureRecognizer.h"
|
||||||
#include "QskFlickAnimator.h"
|
#include "QskFlickAnimator.h"
|
||||||
#include "QskGesture.h"
|
#include "QskGesture.h"
|
||||||
|
@ -184,14 +183,14 @@ QRectF QskScrollView::viewContentsRect() const
|
||||||
{
|
{
|
||||||
// Border/Padding
|
// Border/Padding
|
||||||
const int bw = metric( Viewport | QskAspect::Border );
|
const int bw = metric( Viewport | QskAspect::Border );
|
||||||
const QRectF r = effectiveSkinlet()->subControlRect( this, Viewport );
|
const QRectF r = subControlRect( Viewport );
|
||||||
|
|
||||||
return r.adjusted( bw, bw, -bw, -bw );
|
return r.adjusted( bw, bw, -bw, -bw );
|
||||||
}
|
}
|
||||||
|
|
||||||
QRectF QskScrollView::gestureRect() const
|
QRectF QskScrollView::gestureRect() const
|
||||||
{
|
{
|
||||||
return effectiveSkinlet()->subControlRect( this, Viewport );
|
return subControlRect( Viewport );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskScrollView::geometryChangeEvent( QskGeometryChangeEvent* event )
|
void QskScrollView::geometryChangeEvent( QskGeometryChangeEvent* event )
|
||||||
|
@ -204,12 +203,9 @@ void QskScrollView::geometryChangeEvent( QskGeometryChangeEvent* event )
|
||||||
|
|
||||||
void QskScrollView::mousePressEvent( QMouseEvent* event )
|
void QskScrollView::mousePressEvent( QMouseEvent* event )
|
||||||
{
|
{
|
||||||
const QskScrollViewSkinlet* skinlet =
|
if ( subControlRect( VerticalScrollBar ).contains( event->pos() ) )
|
||||||
static_cast< const QskScrollViewSkinlet* >( effectiveSkinlet() );
|
|
||||||
|
|
||||||
if ( skinlet->subControlRect( this, VerticalScrollBar ).contains( event->pos() ) )
|
|
||||||
{
|
{
|
||||||
const QRectF handleRect = skinlet->subControlRect( this, VerticalScrollHandle );
|
const QRectF handleRect = subControlRect( VerticalScrollHandle );
|
||||||
|
|
||||||
if ( handleRect.contains( event->pos() ) )
|
if ( handleRect.contains( event->pos() ) )
|
||||||
{
|
{
|
||||||
|
@ -235,9 +231,9 @@ void QskScrollView::mousePressEvent( QMouseEvent* event )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( skinlet->subControlRect( this, HorizontalScrollBar ).contains( event->pos() ) )
|
if ( subControlRect( HorizontalScrollBar ).contains( event->pos() ) )
|
||||||
{
|
{
|
||||||
const QRectF handleRect = skinlet->subControlRect( this, HorizontalScrollHandle );
|
const QRectF handleRect = subControlRect( HorizontalScrollHandle );
|
||||||
|
|
||||||
if ( handleRect.contains( event->pos() ) )
|
if ( handleRect.contains( event->pos() ) )
|
||||||
{
|
{
|
||||||
|
@ -279,8 +275,7 @@ void QskScrollView::mouseMoveEvent( QMouseEvent* event )
|
||||||
if ( m_data->isScrolling == Qt::Horizontal )
|
if ( m_data->isScrolling == Qt::Horizontal )
|
||||||
{
|
{
|
||||||
const qreal dx = event->x() - m_data->scrollPressPos;
|
const qreal dx = event->x() - m_data->scrollPressPos;
|
||||||
const qreal w = effectiveSkinlet()->subControlRect(
|
const qreal w = subControlRect( HorizontalScrollBar ).width();
|
||||||
this, HorizontalScrollBar ).width();
|
|
||||||
|
|
||||||
pos.rx() += dx / w * m_data->scrollableSize.width();
|
pos.rx() += dx / w * m_data->scrollableSize.width();
|
||||||
m_data->scrollPressPos = event->x();
|
m_data->scrollPressPos = event->x();
|
||||||
|
@ -288,8 +283,7 @@ void QskScrollView::mouseMoveEvent( QMouseEvent* event )
|
||||||
else if ( m_data->isScrolling == Qt::Vertical )
|
else if ( m_data->isScrolling == Qt::Vertical )
|
||||||
{
|
{
|
||||||
const qreal dy = event->y() - m_data->scrollPressPos;
|
const qreal dy = event->y() - m_data->scrollPressPos;
|
||||||
const qreal h = effectiveSkinlet()->subControlRect(
|
const qreal h = subControlRect( VerticalScrollBar ).height();
|
||||||
this, VerticalScrollBar ).height();
|
|
||||||
|
|
||||||
pos.ry() += dy / h * m_data->scrollableSize.height();
|
pos.ry() += dy / h * m_data->scrollableSize.height();
|
||||||
m_data->scrollPressPos = event->y();
|
m_data->scrollPressPos = event->y();
|
||||||
|
|
|
@ -767,6 +767,11 @@ QskAspect::Subcontrol QskSkinnable::effectiveSubcontrol(
|
||||||
return subControl;
|
return subControl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QRectF QskSkinnable::subControlRect( QskAspect::Subcontrol subControl ) const
|
||||||
|
{
|
||||||
|
return effectiveSkinlet()->subControlRect( this, subControl );
|
||||||
|
}
|
||||||
|
|
||||||
QskControl* QskSkinnable::controlCast()
|
QskControl* QskSkinnable::controlCast()
|
||||||
{
|
{
|
||||||
return qskIsControl( this )
|
return qskIsControl( this )
|
||||||
|
|
|
@ -113,6 +113,8 @@ public:
|
||||||
QRectF innerBox( QskAspect::Aspect, const QRectF& outerBox ) const;
|
QRectF innerBox( QskAspect::Aspect, const QRectF& outerBox ) const;
|
||||||
QRectF outerBox( QskAspect::Aspect, const QRectF& innerBox ) const;
|
QRectF outerBox( QskAspect::Aspect, const QRectF& innerBox ) const;
|
||||||
|
|
||||||
|
QRectF subControlRect( QskAspect::Subcontrol ) const;
|
||||||
|
|
||||||
virtual const QskSkinlet* effectiveSkinlet() const;
|
virtual const QskSkinlet* effectiveSkinlet() const;
|
||||||
QskSkin* effectiveSkin() const;
|
QskSkin* effectiveSkin() const;
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
|
|
||||||
#include "QskSlider.h"
|
#include "QskSlider.h"
|
||||||
#include "QskAspect.h"
|
#include "QskAspect.h"
|
||||||
#include "QskSkinlet.h"
|
|
||||||
#include "QskAnimationHint.h"
|
#include "QskAnimationHint.h"
|
||||||
|
|
||||||
#include <QtMath>
|
#include <QtMath>
|
||||||
|
@ -119,7 +118,7 @@ QSizeF QskSlider::handleSize() const
|
||||||
|
|
||||||
QRectF QskSlider::handleRect() const
|
QRectF QskSlider::handleRect() const
|
||||||
{
|
{
|
||||||
return effectiveSkinlet()->subControlRect( this, QskSlider::Handle );
|
return subControlRect( QskSlider::Handle );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskSlider::mousePressEvent( QMouseEvent* event )
|
void QskSlider::mousePressEvent( QMouseEvent* event )
|
||||||
|
@ -160,7 +159,7 @@ void QskSlider::mouseMoveEvent( QMouseEvent* event )
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto r = effectiveSkinlet()->subControlRect( this, Scale );
|
const auto r = subControlRect( Scale );
|
||||||
|
|
||||||
qreal newValue;
|
qreal newValue;
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
|
|
||||||
#include "QskSubWindow.h"
|
#include "QskSubWindow.h"
|
||||||
#include "QskAspect.h"
|
#include "QskAspect.h"
|
||||||
#include "QskSkinlet.h"
|
|
||||||
#include "QskSkin.h"
|
#include "QskSkin.h"
|
||||||
#include "QskFunctions.h"
|
#include "QskFunctions.h"
|
||||||
|
|
||||||
|
@ -121,7 +120,7 @@ bool QskSubWindow::testWindowButton( WindowButton button ) const
|
||||||
|
|
||||||
QRectF QskSubWindow::titleBarRect() const
|
QRectF QskSubWindow::titleBarRect() const
|
||||||
{
|
{
|
||||||
return effectiveSkinlet()->subControlRect( this, QskSubWindow::TitleBar );
|
return subControlRect( QskSubWindow::TitleBar );
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QskSubWindow::event( QEvent* event )
|
bool QskSubWindow::event( QEvent* event )
|
||||||
|
@ -134,7 +133,7 @@ bool QskSubWindow::event( QEvent* event )
|
||||||
|
|
||||||
QRectF QskSubWindow::layoutRect() const
|
QRectF QskSubWindow::layoutRect() const
|
||||||
{
|
{
|
||||||
return innerBox( Panel, effectiveSkinlet()->subControlRect( this, Panel ) );
|
return innerBox( Panel, subControlRect( Panel ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskSubWindow::updateLayout()
|
void QskSubWindow::updateLayout()
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
#include "QskSubWindowArea.h"
|
#include "QskSubWindowArea.h"
|
||||||
#include "QskSubWindow.h"
|
#include "QskSubWindow.h"
|
||||||
#include "QskGradient.h"
|
#include "QskGradient.h"
|
||||||
#include "QskSkinlet.h"
|
|
||||||
#include "QskFunctions.h"
|
#include "QskFunctions.h"
|
||||||
#include "QskEvent.h"
|
#include "QskEvent.h"
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#include "QskStackBox.h"
|
#include "QskStackBox.h"
|
||||||
#include "QskStackBoxAnimator.h"
|
#include "QskStackBoxAnimator.h"
|
||||||
#include "QskAspect.h"
|
#include "QskAspect.h"
|
||||||
#include "QskSkinlet.h"
|
|
||||||
#include "QskAnimationHint.h"
|
#include "QskAnimationHint.h"
|
||||||
|
|
||||||
QSK_SUBCONTROL( QskTabView, TabBar )
|
QSK_SUBCONTROL( QskTabView, TabBar )
|
||||||
|
@ -224,10 +223,8 @@ bool QskTabView::event( QEvent* event )
|
||||||
|
|
||||||
void QskTabView::updateLayout()
|
void QskTabView::updateLayout()
|
||||||
{
|
{
|
||||||
const QskSkinlet* skinlet = effectiveSkinlet();
|
m_data->tabBar->setGeometry( subControlRect( TabBar ) );
|
||||||
|
m_data->stackBox->setGeometry( subControlRect( Page ) );
|
||||||
m_data->tabBar->setGeometry( skinlet->subControlRect( this, TabBar ) );
|
|
||||||
m_data->stackBox->setGeometry( skinlet->subControlRect( this, Page ) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "moc_QskTabView.cpp"
|
#include "moc_QskTabView.cpp"
|
||||||
|
|
Loading…
Reference in New Issue