HAL
details_table_utilities.cpp
Go to the documentation of this file.
2 
3 #include <QTableWidget>
4 #include <QHeaderView>
5 
6 namespace hal {
7 
9  {
10  return tableViewSize(table, table->rowCount(), table->columnCount());
11  }
12 
13  QSize DetailsTableUtilities::tableViewSize(const QTableView* table, int nrows, int ncols)
14  {
15  //necessary to test if the table is empty, otherwise (due to the resizeColumnsToContents function)
16  //is the table's width far too big, so just return 0 as the size
17  if (!nrows)
18  return QSize(0, 0);
19 
20  int w = table->verticalHeader()->width() + 4; // +4 seems to be needed
21  for (int i = 0; i < ncols; i++)
22  w += table->columnWidth(i); // seems to include gridline
23  int h = table->horizontalHeader()->height() + 4;
24  for (int i = 0; i < nrows; i++)
25  h += table->rowHeight(i);
26  return QSize(w + 5, h);
27  }
28 
30  {
31  //tab->horizontalHeader()->setStretchLastSection(true);
32  table->horizontalHeader()->hide();
33  table->verticalHeader()->hide();
35  table->resizeColumnToContents(0);
36  table->setShowGrid(false);
40  table->setMaximumHeight(table->verticalHeader()->length());
44  }
45 
46 }
static QSize tableWidgetSize(const QTableWidget *table)
static void setDefaultTableStyle(QTableView *table)
static QSize tableViewSize(const QTableView *table, int nrows, int ncols)
void setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy)
void setVerticalScrollBarPolicy(Qt::ScrollBarPolicy)
void setFrameStyle(int style)
void setDefaultSectionSize(int size)
int length() const const
CustomContextMenu
ScrollBarAlwaysOff
int columnWidth(int column) const const
QHeaderView * horizontalHeader() const const
void resizeColumnToContents(int column)
int rowHeight(int row) const const
void setShowGrid(bool show)
QHeaderView * verticalHeader() const const
void setContextMenuPolicy(Qt::ContextMenuPolicy policy)
void setFocusPolicy(Qt::FocusPolicy policy)
void hide()
void setMaximumHeight(int maxh)
void setSizePolicy(QSizePolicy)