65 lines
1.8 KiB
C++
65 lines
1.8 KiB
C++
#ifndef NAME_DIALOG_H
|
|
#define NAME_DIALOG_H
|
|
|
|
#include <QDialog>
|
|
#include <QLabel>
|
|
#include <QVBoxLayout>
|
|
#include <QLineEdit>
|
|
#include <QPushButton>
|
|
|
|
#include <comdel/domain/instance.h>
|
|
|
|
namespace display {
|
|
|
|
class NameDialog: public QDialog {
|
|
|
|
QLineEdit *edit = nullptr;
|
|
domain::ComponentInstance *componentInstance = nullptr;
|
|
domain::BusInstance *busInstance = nullptr;
|
|
|
|
public:
|
|
|
|
NameDialog(domain::ComponentInstance *instance): componentInstance(instance) {
|
|
auto *layout = new QVBoxLayout(this);
|
|
layout->addWidget(new QLabel("Izmjeni ime", this));
|
|
|
|
edit = new QLineEdit(this);
|
|
edit->insert(instance->name.c_str());
|
|
layout->addWidget(edit);
|
|
this->setWindowTitle("Izmjeni ime");
|
|
auto *button = new QPushButton("Ažuriraj", this);
|
|
connect(button, &QPushButton::clicked, this, &NameDialog::onNameChange);
|
|
layout->addWidget(button);
|
|
this->setLayout(layout);
|
|
}
|
|
|
|
NameDialog(domain::BusInstance *instance): busInstance(instance) {
|
|
auto *layout = new QVBoxLayout(this);
|
|
layout->addWidget(new QLabel("Izmjeni ime", this));
|
|
|
|
edit = new QLineEdit(this);
|
|
edit->insert(instance->name.c_str());
|
|
layout->addWidget(edit);
|
|
this->setWindowTitle("Izmjeni ime");
|
|
auto *button = new QPushButton("Ažuriraj", this);
|
|
connect(button, &QPushButton::clicked, this, &NameDialog::onNameChange);
|
|
layout->addWidget(button);
|
|
this->setLayout(layout);
|
|
}
|
|
|
|
public slots:
|
|
void onNameChange() {
|
|
if(componentInstance != nullptr) {
|
|
componentInstance->name = this->edit->text().toStdString();
|
|
} else if(busInstance != nullptr) {
|
|
busInstance->name = this->edit->text().toStdString();
|
|
}
|
|
this->close();
|
|
}
|
|
};
|
|
|
|
}
|
|
|
|
|
|
#endif //NAME_DIALOG_H
|