##// END OF EJS Templates
Added static plugin support...
Added static plugin support In case of fully static exe even plugins must be static to allow single file executable. Small fix, when using resources in app from library they must be initialized with Q_INIT_RESOURCE. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1141:00ce9b74612e
r1156:247dc18789c6
Show More
CatalogueEventsWidget.cpp
100 lines | 3.8 KiB | text/x-c | CppLexer
/ gui / src / Catalogue / CatalogueEventsWidget.cpp
Sub widget classes
r1130 #include "Catalogue/CatalogueEventsWidget.h"
#include "ui_CatalogueEventsWidget.h"
Skeleton to fill the inspector with the selection
r1140 #include <QtDebug>
Events
r1136 struct CatalogueEventsWidget::CatalogueEventsWidgetPrivate {
void addEventItem(const QStringList &data, QTableWidget *tableWidget);
enum class Column { Event, TStart, TEnd, Tags, Product, NbColumn };
QStringList columnNames() { return QStringList{"Event", "TStart", "TEnd", "Tags", "Product"}; }
};
Sub widget classes
r1130 CatalogueEventsWidget::CatalogueEventsWidget(QWidget *parent)
Events
r1136 : QWidget(parent),
ui(new Ui::CatalogueEventsWidget),
impl{spimpl::make_unique_impl<CatalogueEventsWidgetPrivate>()}
Sub widget classes
r1130 {
ui->setupUi(this);
Events
r1136
connect(ui->btnTime, &QToolButton::clicked, [this](auto checked) {
if (checked) {
ui->btnChart->setChecked(false);
}
});
connect(ui->btnChart, &QToolButton::clicked, [this](auto checked) {
if (checked) {
ui->btnTime->setChecked(false);
}
});
Skeleton to fill the inspector with the selection
r1140 connect(ui->tableWidget, &QTableWidget::cellClicked, [this](auto row, auto column) {
auto event = ui->tableWidget->item(row, 0)->text();
emit this->eventSelected(event);
});
connect(ui->tableWidget, &QTableWidget::currentItemChanged,
[this](auto current, auto previous) {
if (current && current->row() >= 0) {
auto event = ui->tableWidget->item(current->row(), 0)->text();
emit this->eventSelected(event);
}
});
connect(ui->tableWidget, &QTableWidget::itemSelectionChanged, [this]() {
auto selection = ui->tableWidget->selectedRanges();
Fixes
r1141 auto isNotMultiSelection
= selection.isEmpty() || (selection.count() == 1 && selection.first().rowCount() == 1);
ui->btnChart->setEnabled(isNotMultiSelection);
ui->btnTime->setEnabled(isNotMultiSelection);
Skeleton to fill the inspector with the selection
r1140 });
Basic interactions
r1138
Events
r1136 Q_ASSERT(impl->columnNames().count() == (int)CatalogueEventsWidgetPrivate::Column::NbColumn);
ui->tableWidget->setColumnCount((int)CatalogueEventsWidgetPrivate::Column::NbColumn);
ui->tableWidget->setHorizontalHeaderLabels(impl->columnNames());
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
ui->tableWidget->horizontalHeader()->setSortIndicatorShown(true);
Sub widget classes
r1130 }
CatalogueEventsWidget::~CatalogueEventsWidget()
{
delete ui;
}
Events
r1136
Basic interactions
r1138 void CatalogueEventsWidget::populateWithCatalogue(const QString &catalogue)
{
ui->tableWidget->clearContents();
ui->tableWidget->setRowCount(0);
// TODO
impl->addEventItem(
Events sorting
r1139 {catalogue + " - Event 1", "12/12/2012 12:12", "12/12/2042 12:52", "cloud", "mfi/b_gse42"},
Basic interactions
r1138 ui->tableWidget);
impl->addEventItem(
Events sorting
r1139 {catalogue + " - Event 2", "12/12/2012 12:10", "12/12/2042 12:42", "Acloud", "mfi/b_gse1"},
Basic interactions
r1138 ui->tableWidget);
impl->addEventItem(
Events sorting
r1139 {catalogue + " - Event 3", "12/12/2012 12:22", "12/12/2042 12:12", "Gcloud", "mfi/b_gse2"},
Basic interactions
r1138 ui->tableWidget);
impl->addEventItem(
Events sorting
r1139 {catalogue + " - Event 4", "12/12/2012 12:00", "12/12/2042 12:62", "Bcloud", "mfi/b_gse3"},
Basic interactions
r1138 ui->tableWidget);
}
Events
r1136 void CatalogueEventsWidget::CatalogueEventsWidgetPrivate::addEventItem(const QStringList &data,
QTableWidget *tableWidget)
{
Events sorting
r1139 tableWidget->setSortingEnabled(false);
Events
r1136 auto row = tableWidget->rowCount();
tableWidget->setRowCount(row + 1);
for (auto i = 0; i < (int)Column::NbColumn; ++i) {
auto item = new QTableWidgetItem(data.value(i));
item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
tableWidget->setItem(row, i, item);
}
Events sorting
r1139 tableWidget->setSortingEnabled(true);
Events
r1136 }