mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-24 00:35:14 +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" )
|
MESSAGE( STATUS "EEPROM import debugging enabled" )
|
||||||
ENDIF(DEBUG_IMPORT)
|
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 " )
|
MESSAGE( STATUS "Looking for XercesC " )
|
||||||
FIND_PACKAGE(XercesC)
|
FIND_PACKAGE(XercesC)
|
||||||
IF ( XERCESC_FOUND )
|
IF ( XERCESC_FOUND )
|
||||||
|
|
|
@ -1004,6 +1004,7 @@ QStringList extractLatLon(const QString & position)
|
||||||
|
|
||||||
TableLayout::TableLayout(QWidget * parent, int rowCount, const QStringList & headerLabels)
|
TableLayout::TableLayout(QWidget * parent, int rowCount, const QStringList & headerLabels)
|
||||||
{
|
{
|
||||||
|
#if defined(TABLE_LAYOUT)
|
||||||
tableWidget = new QTableWidget(parent);
|
tableWidget = new QTableWidget(parent);
|
||||||
QVBoxLayout * layout = new QVBoxLayout();
|
QVBoxLayout * layout = new QVBoxLayout();
|
||||||
layout->addWidget(tableWidget);
|
layout->addWidget(tableWidget);
|
||||||
|
@ -1020,19 +1021,73 @@ TableLayout::TableLayout(QWidget * parent, int rowCount, const QStringList & hea
|
||||||
tableWidget->setFrameStyle(QFrame::NoFrame | QFrame::Plain);
|
tableWidget->setFrameStyle(QFrame::NoFrame | QFrame::Plain);
|
||||||
tableWidget->setStyleSheet("QTableWidget {background-color: transparent;}");
|
tableWidget->setStyleSheet("QTableWidget {background-color: transparent;}");
|
||||||
tableWidget->setHorizontalHeaderLabels(headerLabels);
|
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)
|
void TableLayout::addWidget(int row, int column, QWidget * widget)
|
||||||
{
|
{
|
||||||
|
#if defined(TABLE_LAYOUT)
|
||||||
QHBoxLayout * layout = new QHBoxLayout(tableWidget);
|
QHBoxLayout * layout = new QHBoxLayout(tableWidget);
|
||||||
layout->addWidget(widget);
|
layout->addWidget(widget);
|
||||||
addLayout(row, column, layout);
|
addLayout(row, column, layout);
|
||||||
|
#else
|
||||||
|
gridWidget->addWidget(widget, row + 1, column);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void TableLayout::addLayout(int row, int column, QLayout * layout)
|
void TableLayout::addLayout(int row, int column, QLayout * layout)
|
||||||
{
|
{
|
||||||
|
#if defined(TABLE_LAYOUT)
|
||||||
layout->setContentsMargins(1, 3, 1, 3);
|
layout->setContentsMargins(1, 3, 1, 3);
|
||||||
QWidget * containerWidget = new QWidget(tableWidget);
|
QWidget * containerWidget = new QWidget(tableWidget);
|
||||||
containerWidget->setLayout(layout);
|
containerWidget->setLayout(layout);
|
||||||
tableWidget->setCellWidget(row, column, containerWidget);
|
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
|
#define HELPERS_H
|
||||||
|
|
||||||
#include <QtGui>
|
#include <QtGui>
|
||||||
|
#include <QTableWidget>
|
||||||
|
#include <QGridLayout>
|
||||||
#include "eeprominterface.h"
|
#include "eeprominterface.h"
|
||||||
|
|
||||||
extern const QColor colors[C9X_MAX_CURVES];
|
extern const QColor colors[C9X_MAX_CURVES];
|
||||||
|
@ -210,9 +212,16 @@ public:
|
||||||
void addWidget(int row, int column, QWidget * widget);
|
void addWidget(int row, int column, QWidget * widget);
|
||||||
void addLayout(int row, int column, QLayout * layout);
|
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:
|
private:
|
||||||
QTableWidget * tableWidget;
|
#if defined(TABLE_LAYOUT)
|
||||||
|
QTableWidget * tableWidget;
|
||||||
|
#else
|
||||||
|
QGridLayout * gridWidget;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // HELPERS_H
|
#endif // HELPERS_H
|
||||||
|
|
|
@ -169,7 +169,8 @@ Channels::Channels(QWidget * parent, ModelData & model, GeneralSettings & genera
|
||||||
}
|
}
|
||||||
|
|
||||||
disableMouseScrolling();
|
disableMouseScrolling();
|
||||||
tableLayout->getTableWidget()->resizeColumnsToContents();
|
tableLayout->resizeColumnsToContents();
|
||||||
|
tableLayout->pushRowsUp(firmware->getCapability(Outputs)+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
Channels::~Channels()
|
Channels::~Channels()
|
||||||
|
|
|
@ -196,8 +196,9 @@ CustomFunctionsPanel::CustomFunctionsPanel(QWidget * parent, ModelData * model,
|
||||||
lock = false;
|
lock = false;
|
||||||
|
|
||||||
update();
|
update();
|
||||||
tableLayout->getTableWidget()->resizeColumnsToContents();
|
tableLayout->resizeColumnsToContents();
|
||||||
tableLayout->getTableWidget()->setColumnWidth(3, 300);
|
tableLayout->setColumnWidth(3, 300);
|
||||||
|
tableLayout->pushRowsUp(num_fsw+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,8 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model,
|
||||||
disableMouseScrolling();
|
disableMouseScrolling();
|
||||||
lock = false;
|
lock = false;
|
||||||
update();
|
update();
|
||||||
tableLayout->getTableWidget()->resizeColumnsToContents();
|
tableLayout->resizeColumnsToContents();
|
||||||
|
tableLayout->pushRowsUp(firmware->getCapability(LogicalSwitches)+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
LogicalSwitchesPanel::~LogicalSwitchesPanel()
|
LogicalSwitchesPanel::~LogicalSwitchesPanel()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue