Header used by DataBuilderView. More...
#include <builderview.h>
Public Member Functions | |
DataHeader (BaseQueryModel *base, QWidget *parent=0) | |
QSize | sizeHint () const |
DataHeaderViewPort * | viewPort () const |
int | sectionCount () const |
QVariant | data (const int section, const int role) const |
Protected Member Functions | |
bool | viewportEvent (QEvent *event) |
Header used by DataBuilderView.
DataHeader::DataHeader | ( | BaseQueryModel * | base, | |
QWidget * | parent = 0 | |||
) |
: QScrollArea(parent) { setWidget(new DataHeaderViewPort(base, this)); setWidgetResizable(true); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); }
QVariant DataHeader::data | ( | const int | section, | |
const int | role | |||
) | const |
int DataHeader::sectionCount | ( | ) | const |
{ return viewPort()->sectionCount(); }
QSize DataHeader::sizeHint | ( | ) | const |
{ QSize size = QScrollArea::sizeHint(); return QSize(size.width(), frameWidth() + viewPort()->frameGeometry().height() + horizontalScrollBar()->height()); }
DataHeaderViewPort * DataHeader::viewPort | ( | ) | const |
Referenced by Builder::Builder(), data(), Factory::Factory(), sectionCount(), and sizeHint().
{ //note there exists non-virtual viewport()! Q_ASSERT(dynamic_cast<DataHeaderViewPort*>(QScrollArea::widget())); return dynamic_cast<DataHeaderViewPort*>(QScrollArea::widget()); }
bool DataHeader::viewportEvent | ( | QEvent * | event | ) | [protected] |
{ //Deze layoutrequest komt van viewport en zegt dat het veranderd is. Daar sizeHint afhangt van viewport, moet er een updateGeometry gebeuren. if (event->type() == QEvent::LayoutRequest) updateGeometry(); return QScrollArea::viewportEvent(event); }