params->save(projectFile);
}
-void MainWindow::slotLoadProject(){
+void MainWindow::slotLoadProject(QString fileName){
- params->projectFile = QFileDialog::getOpenFileName(0, "select a project file", "save/",tr("sauvegardes (*.xml)"));
+ if (fileName == "") {
+ params->projectFile = QFileDialog::getOpenFileName(0, "select a project file", "save/",tr("sauvegardes (*.xml)"));
+ }
+ else {
+ params->projectFile = fileName;
+ }
if(! params->projectFile.isEmpty()){
GroupWidget* topGroup = dispatcher->loadProject(params->projectFile);
if (topGroup != NULL) {
addTopGroup(topGroup);
library->updateComboScene();
+ library->updateBoxConn();
params->isCurrentProject = true;
enableProjectActions(true, PROJECT_CLOSE | PROJECT_SAVE | PROJECT_SAVEAS | PROJECT_LIB, OP_RAZ);
enableAnalysisActions(true, ANALYSIS_ANALYZE | ANALYSIS_GENERATE, OP_RAZ);
if (ret == 1) {
enableProjectActions(true, PROJECT_CLOSE | PROJECT_SAVE | PROJECT_SAVEAS | PROJECT_LIB, OP_RAZ);
enableAnalysisActions(true, ANALYSIS_ANALYZE | ANALYSIS_GENERATE, OP_RAZ);
- GroupWidget* topGroup = dispatcher->createTopScene();
+ GroupWidget* topGroup = dispatcher->createTopScene(Dispatcher::Design, params->mainClock);
addTopGroup(topGroup);
library->updateComboScene();
+ library->updateBoxConn();
library->show();
params->isCurrentProject = true;
}
msg += " is not compatible with its input pattern.\nDo you want to launch automatic modification process to ensure the compatibility ?";
int ret = QMessageBox::question(this,tr("Building references library"),msg, QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok);
if (ret == QMessageBox::Ok) {
- dispatcher->findGraphModifications(toBlock);
+ dispatcher->findGraphModifications(Dispatcher::Design, toBlock);
}
}
}
void MainWindow::slotGenerateVHDL() {
- QDir baseDir(params->projectPath);
- if (!baseDir.exists()) {
- cerr << "Project path " << qPrintable(params->projectPath) << " no longer exists. First, recreate it and put the project file within. Then retry to generate." << endl;
- return;
- }
- if (! baseDir.exists("src")) {
- baseDir.mkdir("src");
- }
- if (! baseDir.exists("testbench")) {
- baseDir.mkdir("testbench");
- }
- if (! baseDir.exists("Makefile")) {
- QFile make("/home/sdomas/Projet/Blast/code/blast/Makefile-isim");
- QString dest = params->projectPath;
- dest += "/Makefile";
- make.copy(dest);
- }
-
- QString dest = params->projectPath;
- dest += "/src/";
try {
- params->getGraph()->generateVHDL(dest);
+ dispatcher->generateVHDL(Dispatcher::Design);
}
catch(Exception e) {
cerr << qPrintable(e.getMessage()) << endl;
void MainWindow::mousePressEvent(QMouseEvent *e) {
if (dispatcher->getCurrentGroup() != NULL) {
- dispatcher->setCurrentGroupWidget(dispatcher->getCurrentGroup());
+ dispatcher->setCurrentGroupWidget(Dispatcher::Design, dispatcher->getCurrentGroup());
}
QMainWindow::mousePressEvent(e);
}