#include "HandyScrollArea.h" #include <QScrollBar> HandyScrollArea::HandyScrollArea(void) { QScrollBar* hbar = horizontalScrollBar(); QScrollBar* vbar = verticalScrollBar(); connect( hbar, SIGNAL( valueChanged(int) ), this, SLOT( scrolling(int) ) ); connect( vbar, SIGNAL( valueChanged(int) ), this, SLOT( scrolling(int) ) ); } HandyScrollArea::~HandyScrollArea(void) { } void HandyScrollArea::scrolling( int ) { if ( !isVisible() || !widget() ) return; double x = horizontalScrollBar()->value() * 1.0 / horizontalScrollBar()->maximum(); double y = verticalScrollBar()->value() * 1.0 / verticalScrollBar()->maximum(); double width = viewport()->width() * 1.0 / widget()->width(); double height = viewport()->height() * 1.0 / widget()->height(); emit scrolledTo( x, y, width, height ); } void HandyScrollArea::scrollTo( double x, double y ) { ensureVisible( x * widget()->width(), y * widget()->height(), viewport()->width() / 2, viewport()->height() / 2 ); }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 5501 | Sam Stafford |
Codename CALAMARI. Built with Qt 4.1.3 - needs QtCore4.dll and QtGui4.dll to run. |