mirror of
https://github.com/opentx/opentx.git
synced 2025-07-18 22:05:10 +03:00
TableWidget only used if -D TABLE_LAYOUT=yes
compile option is defined
This commit is contained in:
parent
1dcc660f31
commit
191e37f29c
6 changed files with 79 additions and 6 deletions
|
@ -35,6 +35,12 @@ IF(DEBUG_IMPORT)
|
|||
MESSAGE( STATUS "EEPROM import debugging enabled" )
|
||||
ENDIF(DEBUG_IMPORT)
|
||||
|
||||
OPTION(TABLE_LAYOUT "Use QTableWidget for grid layouts") # Disabled by default
|
||||
IF(TABLE_LAYOUT)
|
||||
ADD_DEFINITIONS( -DTABLE_LAYOUT)
|
||||
MESSAGE( STATUS "Using QTableWidget" )
|
||||
ENDIF(TABLE_LAYOUT)
|
||||
|
||||
MESSAGE( STATUS "Looking for XercesC " )
|
||||
FIND_PACKAGE(XercesC)
|
||||
IF ( XERCESC_FOUND )
|
||||
|
|
|
@ -1004,6 +1004,7 @@ QStringList extractLatLon(const QString & position)
|
|||
|
||||
TableLayout::TableLayout(QWidget * parent, int rowCount, const QStringList & headerLabels)
|
||||
{
|
||||
#if defined(TABLE_LAYOUT)
|
||||
tableWidget = new QTableWidget(parent);
|
||||
QVBoxLayout * layout = new QVBoxLayout();
|
||||
layout->addWidget(tableWidget);
|
||||
|
@ -1020,19 +1021,73 @@ TableLayout::TableLayout(QWidget * parent, int rowCount, const QStringList & hea
|
|||
tableWidget->setFrameStyle(QFrame::NoFrame | QFrame::Plain);
|
||||
tableWidget->setStyleSheet("QTableWidget {background-color: transparent;}");
|
||||
tableWidget->setHorizontalHeaderLabels(headerLabels);
|
||||
#else
|
||||
gridWidget = new QGridLayout(parent);
|
||||
|
||||
int col = 0;
|
||||
foreach(QString text, headerLabels) {
|
||||
QLabel *label = new QLabel();
|
||||
label->setFrameShape(QFrame::Panel);
|
||||
label->setFrameShadow(QFrame::Raised);
|
||||
label->setMidLineWidth(0);
|
||||
label->setAlignment(Qt::AlignCenter);
|
||||
label->setMargin(5);
|
||||
label->setText(text);
|
||||
// if (!minimize)
|
||||
// label->setMinimumWidth(100);
|
||||
gridWidget->addWidget(label, 0, col++);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void TableLayout::addWidget(int row, int column, QWidget * widget)
|
||||
{
|
||||
#if defined(TABLE_LAYOUT)
|
||||
QHBoxLayout * layout = new QHBoxLayout(tableWidget);
|
||||
layout->addWidget(widget);
|
||||
addLayout(row, column, layout);
|
||||
#else
|
||||
gridWidget->addWidget(widget, row + 1, column);
|
||||
#endif
|
||||
}
|
||||
|
||||
void TableLayout::addLayout(int row, int column, QLayout * layout)
|
||||
{
|
||||
#if defined(TABLE_LAYOUT)
|
||||
layout->setContentsMargins(1, 3, 1, 3);
|
||||
QWidget * containerWidget = new QWidget(tableWidget);
|
||||
containerWidget->setLayout(layout);
|
||||
tableWidget->setCellWidget(row, column, containerWidget);
|
||||
#else
|
||||
gridWidget->addLayout(layout, row + 1, column);
|
||||
#endif
|
||||
}
|
||||
|
||||
void TableLayout::resizeColumnsToContents()
|
||||
{
|
||||
#if defined(TABLE_LAYOUT)
|
||||
tableWidget->resizeColumnsToContents();
|
||||
#else
|
||||
#endif
|
||||
}
|
||||
|
||||
void TableLayout::setColumnWidth(int col, int width)
|
||||
{
|
||||
#if defined(TABLE_LAYOUT)
|
||||
tableWidget->setColumnWidth(col, width);
|
||||
#else
|
||||
#endif
|
||||
}
|
||||
|
||||
void TableLayout::pushRowsUp(int row)
|
||||
{
|
||||
#if defined(TABLE_LAYOUT)
|
||||
#else
|
||||
// Push the rows up
|
||||
QSpacerItem * spacer = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
|
||||
gridWidget->addItem(spacer, row, 0);
|
||||
#endif
|
||||
// Push rows upward
|
||||
// addDoubleSpring(gridLayout, 5, num_fsw+1);
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#define HELPERS_H
|
||||
|
||||
#include <QtGui>
|
||||
#include <QTableWidget>
|
||||
#include <QGridLayout>
|
||||
#include "eeprominterface.h"
|
||||
|
||||
extern const QColor colors[C9X_MAX_CURVES];
|
||||
|
@ -210,9 +212,16 @@ public:
|
|||
void addWidget(int row, int column, QWidget * widget);
|
||||
void addLayout(int row, int column, QLayout * layout);
|
||||
|
||||
QTableWidget * getTableWidget() { return tableWidget; };
|
||||
void resizeColumnsToContents();
|
||||
void setColumnWidth(int col, int width);
|
||||
void pushRowsUp(int row);
|
||||
|
||||
private:
|
||||
#if defined(TABLE_LAYOUT)
|
||||
QTableWidget * tableWidget;
|
||||
#else
|
||||
QGridLayout * gridWidget;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif // HELPERS_H
|
||||
|
|
|
@ -169,7 +169,8 @@ Channels::Channels(QWidget * parent, ModelData & model, GeneralSettings & genera
|
|||
}
|
||||
|
||||
disableMouseScrolling();
|
||||
tableLayout->getTableWidget()->resizeColumnsToContents();
|
||||
tableLayout->resizeColumnsToContents();
|
||||
tableLayout->pushRowsUp(firmware->getCapability(Outputs)+1);
|
||||
}
|
||||
|
||||
Channels::~Channels()
|
||||
|
|
|
@ -196,8 +196,9 @@ CustomFunctionsPanel::CustomFunctionsPanel(QWidget * parent, ModelData * model,
|
|||
lock = false;
|
||||
|
||||
update();
|
||||
tableLayout->getTableWidget()->resizeColumnsToContents();
|
||||
tableLayout->getTableWidget()->setColumnWidth(3, 300);
|
||||
tableLayout->resizeColumnsToContents();
|
||||
tableLayout->setColumnWidth(3, 300);
|
||||
tableLayout->pushRowsUp(num_fsw+1);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -126,7 +126,8 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model,
|
|||
disableMouseScrolling();
|
||||
lock = false;
|
||||
update();
|
||||
tableLayout->getTableWidget()->resizeColumnsToContents();
|
||||
tableLayout->resizeColumnsToContents();
|
||||
tableLayout->pushRowsUp(firmware->getCapability(LogicalSwitches)+1);
|
||||
}
|
||||
|
||||
LogicalSwitchesPanel::~LogicalSwitchesPanel()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue