/** * Slot for the generate button. Starts the code generation. */ void CodeGenStatusPage::generateCode() { ui_pushButtonGenerate->setEnabled(false); setCommitPage(true); //:TODO: disable back and cancel button ? CodeGenerator* codeGenerator = UMLApp::app()->generator(); UMLDoc* doc = UMLApp::app()->document(); if (codeGenerator) { connect(codeGenerator, SIGNAL(codeGenerated(UMLClassifier*,bool)), this, SLOT(classGenerated(UMLClassifier*,bool))); connect(codeGenerator, SIGNAL(showGeneratedFile(QString)), this, SLOT(showFileGenerated(QString))); UMLClassifierList cList; for (int row = 0; row < ui_tableWidgetStatus->rowCount(); ++row) { QTableWidgetItem* item = ui_tableWidgetStatus->item(row, 0); UMLClassifier *concept = doc->findUMLClassifier(item->text()); if (concept == NULL) { uError() << "Could not find classifier " << item->text() << " - not included in generated code."; continue; } cList.append(concept); } codeGenerator->writeCodeToFile(cList); m_generationDone = true; setFinalPage(true); emit completeChanged(); } }