PaintWidget::ViewportType PaintWidget::viewportType() const { if( !widgetResizable() ) return fixedViewport; if( painter.fixedSize ) return hintViewport; return resizableViewport; }
virtual QSize sizeHint() const { QSize sh(2*frameWidth()+1,2*frameWidth()+1); if (verticalScrollBar()) sh.setWidth(sh.width() + verticalScrollBar()->sizeHint().width()); if (horizontalScrollBar()) sh.setHeight(sh.height() + horizontalScrollBar()->sizeHint().height()); if (widget()) sh += widgetResizable() ? widget()->sizeHint() : widget()->size(); return sh; }
virtual QSize sizeHint() const { QSize sh(2*frameWidth()+1, 2*frameWidth()+1); if (verticalScrollBar()) sh.rwidth() += verticalScrollBar()->sizeHint().width(); if (horizontalScrollBar()) sh.rheight() += horizontalScrollBar()->sizeHint().height(); if (widget()) sh += widgetResizable() ? widget()->sizeHint() : widget()->size(); QSize desktopSize = QApplication::desktop()->availableGeometry(this).size(); return sh.boundedTo(desktopSize/2); }
QSize sizeHint() const { int f = 2 * frameWidth(); QSize sz(f, f); int h = fontMetrics().height(); if (widget()) { if (!widgetSize.isValid()) widgetSize = widgetResizable() ? widget()->sizeHint() : widget()->size(); sz += widgetSize; } else { sz += QSize(12 * h, 8 * h); } if (verticalScrollBarPolicy() == Qt::ScrollBarAlwaysOn) sz.setWidth(sz.width() + verticalScrollBar()->sizeHint().width()); if (horizontalScrollBarPolicy() == Qt::ScrollBarAlwaysOn) sz.setHeight(sz.height() + horizontalScrollBar()->sizeHint().height()); return sz; // .boundedTo(QSize(36 * h, 24 * h)); }
int QScrollArea::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QAbstractScrollArea::qt_metacall(_c, _id, _a); if (_id < 0) return _id; #ifndef QT_NO_PROPERTIES if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = widgetResizable(); break; case 1: *reinterpret_cast< Qt::Alignment*>(_v) = alignment(); break; } _id -= 2; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setWidgetResizable(*reinterpret_cast< bool*>(_v)); break; case 1: setAlignment(*reinterpret_cast< Qt::Alignment*>(_v)); break; } _id -= 2; } else if (_c == QMetaObject::ResetProperty) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 2; } #endif // QT_NO_PROPERTIES return _id; }