Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include <QList>
- #include <QDebug>
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- , ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- ui->tableWidget->setColumnCount(4);
- ui->tableWidget->setStyleSheet("QTableView {selection-background-color: gray;}");
- ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
- // ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
- ui->tableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem("Place"));
- ui->tableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem("Parameter"));
- ui->tableWidget->setHorizontalHeaderItem(2, new QTableWidgetItem("email"));
- ui->tableWidget->setHorizontalHeaderItem(3, new QTableWidgetItem("message"));
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- void MainWindow::on_deleteButton_clicked()
- {
- // comboList.erase(
- // std::remove_if(comboList.begin(), comboList.end(), [&](ComboList const & obj)
- // {
- // return obj.cb == ui->tableWidget->; // instead current row it should be static row
- // }), comboList.end());
- // qDebug() << "Usuwam: " << ui->tableWidget->currentRow();
- ui->tableWidget->removeRow(ui->tableWidget->currentRow());
- }
- void MainWindow::on_addButton_clicked()
- {
- ComboList temp;
- QComboBox *cBoxPlaces;
- cBoxPlaces = new QComboBox;
- cBoxPlaces->addItem("Pokoj");
- cBoxPlaces->addItem("Kuchnia");
- cBoxPlaces->addItem("Garaz");
- temp.cb = cBoxPlaces;
- temp.row = ui->tableWidget->rowCount();
- qDebug() << "Dodaje: " << ui->tableWidget->rowCount();
- comboList.push_back(temp);
- QComboBox *cBoxParams;
- cBoxParams = new QComboBox;
- cBoxParams->addItem("Temperatura");
- cBoxParams->addItem("Wilgotnosc");
- cBoxParams->addItem("Cisnienie");
- temp.cb = cBoxParams;
- temp.row = ui->tableWidget->rowCount();
- comboList.push_back(temp);
- ui->tableWidget->insertRow(ui->tableWidget->rowCount());
- for(int i = 0; i < ui->tableWidget->columnCount(); i++)
- {
- if(i == 0)
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, cBoxPlaces);
- else if(i == 1)
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, cBoxParams);
- else
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1, i, new QTableWidgetItem("fill"));
- }
- }
- void MainWindow::on_activateButton_clicked()
- {
- qDebug() << "Aktywuje: " << ui->tableWidget->currentRow();
- if(ui->tableWidget->currentRow() >= 0)
- {
- for(int i = 0; i < ui->tableWidget->columnCount(); i++)
- {
- if(i < 2)
- {
- ui->tableWidget->cellWidget(ui->tableWidget->currentRow(), i)->setStyleSheet("QComboBox { background-color: green; }");
- ui->tableWidget->cellWidget(ui->tableWidget->currentRow(), i)->setEnabled(false);
- }
- else
- {
- ui->tableWidget->item(ui->tableWidget->currentRow(), i)->setBackground(Qt::green);
- ui->tableWidget->item(ui->tableWidget->currentRow(), i)->
- setFlags(ui->tableWidget->item(ui->tableWidget->currentRow(), i)->flags() & ~Qt::ItemIsEditable);
- }
- }
- }
- }
- void MainWindow::on_deactivateButton_clicked()
- {
- if(ui->tableWidget->currentRow() >= 0)
- {
- for(int i = 0; i < ui->tableWidget->columnCount(); i++)
- {
- if(i < 2)
- {
- ui->tableWidget->cellWidget(ui->tableWidget->currentRow(), i)->setStyleSheet("QComboBox { background-color: red; }");
- ui->tableWidget->cellWidget(ui->tableWidget->currentRow(), i)->setEnabled(true);
- }
- else
- {
- ui->tableWidget->item(ui->tableWidget->currentRow(), i)->setBackground(Qt::red);
- ui->tableWidget->item(ui->tableWidget->currentRow(), i)->
- setFlags(ui->tableWidget->item(ui->tableWidget->currentRow(), i)->flags() ^ Qt::ItemIsEditable);
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment