{
// 3 parts : TOP, CENTRAL & FOOTER
vboxLayout->setSpacing(0);
vboxLayout->setMargin(0);
vboxLayout
->setObjectName
(QString::fromUtf8("vboxLayout"));
// TOP : Band headers
tTopBand
->setObjectName
( QString::fromUtf8 ( MTable_TOPBAND
) );
tTopBand->setMinimumHeight ( 20 );
tTopBand->setMaximumHeight ( 20 );
spTop.setHorizontalStretch(0);
spTop.setVerticalStretch(0);
tTopBand->setSizePolicy ( spTop );
vboxLayout->addWidget ( tTopBand );
// CENTRAL : Data & column headers
tMainGrid
->setObjectName
( QString::fromUtf8 ( MTable_CENTRAL
) );
spCentral.setHorizontalStretch(0);
spCentral.setVerticalStretch(0);
tMainGrid->setSizePolicy ( spCentral );
vboxLayout->addWidget ( tMainGrid );
tMainGrid->verticalHeader()->setDefaultSectionSize ( 20 );
tMainGrid->verticalHeader()->setMinimumSectionSize ( 20 );
tMainGrid->horizontalHeader()->setDefaultSectionSize ( 120 );
tMainGrid->horizontalHeader()->setMinimumSectionSize ( 20 );
// FOOTER : Summary @ column footers
tFooter
->setObjectName
( QString::fromUtf8 ( MTable_FOOTER
) );
tFooter->setMinimumHeight ( 20 );
tFooter->setMaximumHeight ( 20 );
spFooter.setHorizontalStretch(0);
spFooter.setVerticalStretch(0);
tFooter->setSizePolicy ( spFooter );
vboxLayout->addWidget ( tFooter );
// connections
connect ( tMainGrid->horizontalHeader(), SIGNAL(sectionResized(int,int,int)) ,
tTopBand, SLOT(resizeSection(int,int,int)));
connect ( tMainGrid->horizontalHeader(), SIGNAL(sectionResized(int,int,int)) ,
tFooter , SLOT(resizeSection(int,int,int)));
}
MTableView::MTableView ( QWidget * parent ) : QWidget ( parent )
{
// 3 parts : TOP, CENTRAL & FOOTER
QVBoxLayout * vboxLayout = new QVBoxLayout ( this );
vboxLayout->setSpacing(0);
vboxLayout->setMargin(0);
vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
// TOP : Band headers
QHeaderView * tTopBand = new QHeaderView ( Qt::Horizontal, this );
tTopBand->setObjectName ( QString::fromUtf8 ( MTable_TOPBAND ) );
tTopBand->setMinimumHeight ( 20 );
tTopBand->setMaximumHeight ( 20 );
QSizePolicy spTop ( QSizePolicy::Expanding, QSizePolicy::Fixed );
spTop.setHorizontalStretch(0);
spTop.setVerticalStretch(0);
tTopBand->setSizePolicy ( spTop );
vboxLayout->addWidget ( tTopBand );
// CENTRAL : Data & column headers
QTableView * tMainGrid = new QTableView ( this );
tMainGrid->setObjectName ( QString::fromUtf8 ( MTable_CENTRAL ) );
QSizePolicy spCentral ( QSizePolicy::Expanding, QSizePolicy::Expanding );
spCentral.setHorizontalStretch(0);
spCentral.setVerticalStretch(0);
tMainGrid->setSizePolicy ( spCentral );
vboxLayout->addWidget ( tMainGrid );
tMainGrid->setSelectionBehavior ( QAbstractItemView::SelectRows );
tMainGrid->setSelectionMode ( QAbstractItemView::SingleSelection );
tMainGrid->verticalHeader()->setDefaultSectionSize ( 20 );
tMainGrid->verticalHeader()->setMinimumSectionSize ( 20 );
tMainGrid->horizontalHeader()->setDefaultSectionSize ( 120 );
tMainGrid->horizontalHeader()->setMinimumSectionSize ( 20 );
// FOOTER : Summary @ column footers
QHeaderView * tFooter = new QHeaderView ( Qt::Horizontal, this );
tFooter->setObjectName ( QString::fromUtf8 ( MTable_FOOTER ) );
tFooter->setMinimumHeight ( 20 );
tFooter->setMaximumHeight ( 20 );
QSizePolicy spFooter ( QSizePolicy::Expanding, QSizePolicy::Fixed );
spFooter.setHorizontalStretch(0);
spFooter.setVerticalStretch(0);
tFooter->setSizePolicy ( spFooter );
vboxLayout->addWidget ( tFooter );
// connections
connect ( tMainGrid->horizontalHeader(), SIGNAL(sectionResized(int,int,int)) ,
tTopBand, SLOT(resizeSection(int,int,int)));
connect ( tMainGrid->horizontalHeader(), SIGNAL(sectionResized(int,int,int)) ,
tFooter , SLOT(resizeSection(int,int,int)));
}
To copy to clipboard, switch view to plain text mode
Bookmarks