void BrowserOperation::AddConstructorInitalizer() { ConstructorInitializerDialog ciDialog; BrowserClass* container = static_cast<BrowserClass*>(get_container(UmlClass)); QList<BrowserNode *> parents = container->parents(); QString initializerDummy(" : "); for(BrowserNode* parent : parents) { BrowserClass* parentClass = static_cast<BrowserClass*>(parent); initializerDummy+=parentClass->get_name() + QString("(), "); } if(initializerDummy != " : ") initializerDummy.chop(2); QString constructorPrototype = static_cast<OperationData*>(this->get_data())->get_cppdef(); QString constructorActual = TagManagers::Cpp::updated_def(static_cast<OperationData*>(this->get_data())); QString initializer(this->get_value("constructor-initializer")); if(initializer.trimmed().isEmpty()) ciDialog.ui->edInitializer->setText(initializerDummy); else ciDialog.ui->edInitializer->setText(this->get_value("constructor-initializer")); ciDialog.ui->edConstructorPrototype->setText(constructorPrototype); ciDialog.ui->edActualConstructor->setText(constructorActual); ciDialog.Init(static_cast<OperationData*>(this->get_data())); ciDialog.resize(800, 400); if(ciDialog.exec() == QDialog::Accepted) { this->set_value("constructor-initializer", ciDialog.ui->edInitializer->toPlainText()); this->modified(); this->get_data()->get_browser_node()->modified(); this->get_data()->get_browser_node()->package_modified(); } }