#ifndef NAME_DIALOG_H #define NAME_DIALOG_H #include #include #include #include #include #include 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