bool ProjectBase::load(QString loadPath) { if(_saveLoadMutex.tryLock()) { bool configOk = checkConfiguration(); bool loaded = false; if(configOk) loaded = Load::loadProject(loadPath,this); if (loaded) { emit InfoSender::instance()->send( Info(ListInfo::PROJECTLOADSUCCESSFULL,filePath())); emit projectChanged(); } else { emit InfoSender::instance()->send( Info(ListInfo::PROJECTLOADFAILED,filePath())); clear(); emit projectChanged(); } setSaved(true); emit projectChanged(); _saveLoadMutex.unlock(); return loaded; } }
/** * @brief InfoManager::addProject Create project in this manager * @param name Name of the project * @param baseDir Path to given project * @return Return false if manager contains this project, true otherwise */ bool InfoManager::addProject(QString name, QDir baseDir) { if(projects.contains(name)) return false; MetaProject* proj = new MetaProject(name, baseDir); projects[name] = proj; emit projectCreated(name); if(activeProject.isEmpty()) setActiveProject(name); connect(proj,SIGNAL(shaderCreated(QString)),this,SLOT(projectChanged(QString))); connect(proj,SIGNAL(shaderDestroyed(QString,MetaShader::SHADERTYPE)),this,SLOT(projectChanged(QString))); connect(proj,SIGNAL(shProgCreated(QString)),this,SLOT(projectChanged(QString))); connect(proj,SIGNAL(shaderDestroyed(QString,MetaShader::SHADERTYPE)),this,SLOT(projectChanged(QString))); connect(proj,SIGNAL(textureCreated(QString)),this,SLOT(projectChanged(QString))); connect(proj,SIGNAL(textureDestroyed(QString)),this,SLOT(projectChanged(QString))); connect(proj,SIGNAL(uniformCreated(QString)),this,SLOT(projectChanged(QString))); connect(proj,SIGNAL(uniformDestroyed(QString)),this,SLOT(projectChanged(QString))); connect(proj,SIGNAL(modelLoaded()),this,SLOT(projectChanged())); return true; }
/** Sets project */ void cwImageTexture::setProject(QString project) { if(ProjectFilename != project) { ProjectFilename = project; startLoadingImage(); emit projectChanged(); } }
void ProjectBase::save(bool saveAllOMCases) { Save::saveProject(this,saveAllOMCases); setSaved(true); emit projectChanged(); }
void ListModel::itemChanged(ListItem* item, const QVector<int>& roles) { QModelIndex itemIndex = indexFromItem(item); emit dataChanged(itemIndex, itemIndex, roles); if (item->isProject() || item->isMilestone()) emit projectChanged(item); }
void MainWindow::newProject() { if(m_project) { if(!closeProject()) return; } //TODO show project wizard m_project = new Project(); m_project->setName("Test Project"); connect (m_project, SIGNAL(projectChanged()), this, SLOT(unsavedChanges())); showProjectView(); m_unsavedChanges = false; ui->actSaveProject->setEnabled(true); ui->actSaveProjectAs->setEnabled(true); ui->actCloseProject->setEnabled(true); ui->actImportAutomaton->setEnabled(true); ui->menuAutomata->setEnabled(true); ui->menuServer->setEnabled(true); ui->actShowSettings->setEnabled(true); ui->actDeleteAutomaton->setEnabled(true); m_projectWidget->setMode("unknown"); }
void ProjectCombo::indexChanged( int i ) { ProjectList ptl( mModel->recordList() ); if( i < 0 || i >= (int)ptl.size() ) return; mCurrent = ptl[i]; emit projectChanged( mCurrent ); }
ViMainCorrectionWidget::ViMainCorrectionWidget(QWidget *parent) : ViWidget(parent) { mUi = new Ui::ViMainCorrectionWidget(); mUi->setupUi(this); clear(); mUi->projectLoader->setTypeMode(ViProjectLoader::NoTypes); QObject::connect(mUi->projectLoader, SIGNAL(finished()), this, SLOT(showContainer())); QObject::connect(mUi->projectLoader, SIGNAL(projectChanged()), this, SLOT(showContainer())); QObject::connect(mUi->projectLoader, SIGNAL(projectModeChanged()), this, SLOT(showContainer())); //Button QObject::connect(mUi->button, SIGNAL(clicked()), this, SLOT(correct())); mUi->button->setIcon(ViThemeManager::icon("startprocess"), 40); mUi->button->setText("Process"); mUi->button->setSize(140, 60); //Label width QString style = "QLabel { width: 140px; min-width: 140px; }"; mUi->projectLoader->setStyleSheet(style); mUi->container->setStyleSheet(style); // Correctors mUi->correctorComboBox->addItems(mUi->correctionWidget->correctors()); QObject::connect(mUi->correctorComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(changeCorrector())); changeCorrector(); // Mode mUi->modeComboBox->addItems(ViCorrectionMode::modes()); mUi->modeComboBox->setCurrentText(ViCorrectionMode::defaultMode()); QObject::connect(mUi->modeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(changeMode())); changeMode(); }
void ViProjectLoader::loadProjects(QList<ViProject*> projects) { ViProject *project; for(int i = 0; i < projects.size(); ++i) { ++mProjectCount; project = projects[i]; QObject::connect(project, SIGNAL(loaded()), this, SLOT(loadTracks()), Qt::UniqueConnection); if(!project->load()) { --mProjectCount; LOG("The project (" + projects[i]->filePath() + ") could not be loaded."); } } ViLoadingWidget::stop(); QString message = "The project"; if(mProjectMode == ViProjectLoader::MultipleProjects) { message += "s were"; } else { message += " was"; } LOG(message + " loaded."); if(projects.size() > 0) { emit projectChanged(); } }
DesktopMainWindow::DesktopMainWindow(GodziApp* app, const std::string& configPath, const std::string& defaultMap) : _app(app), _configPath(configPath), _defaultMap(defaultMap) { initUi(); _app->actionManager()->addAfterActionCallback(this); connect(_app, SIGNAL(projectChanged(osg::ref_ptr<Godzi::Project>, osg::ref_ptr<Godzi::Project>)), this, SLOT(onProjectChanged(osg::ref_ptr<Godzi::Project>, osg::ref_ptr<Godzi::Project>))); }
void reEditor::project( reProject* val ) { if (_project != val) { emit projectChanged(val); } _project = val; }
void TerrainProceduralDialog::setProject(Project *arg) { if (m_project != arg) { m_project = arg; terrain=&m_project->world.terrain; emit projectChanged(arg); } }
void ProjectBase::removeProblemInterface(QString interfaceName) { if(_problemsInterfaces.removeProblemInterface(interfaceName)) { emit interfacesModified(); emit projectChanged(); } }
/** * Load a OMOptim plugin * \param pluginPath full file path of .dll * \param storePath yes/no should path be stored in project file * (as to be reloaded when loading project) * \param forceLoad yes/no should mo file be reloaded in OMC when already loaded in OMC */ bool ProjectBase::loadPlugin(QString pluginPath, bool storePath, bool forceLoad) { InfoSender::instance()->sendNormal("Loading plugin : "+pluginPath); bool tryLoad; tryLoad = (forceLoad || !_pluginsLoaded.values().contains(pluginPath)); if(!tryLoad) return false; // unload if needed QFileInfo pluginFile(pluginPath); QDir appDir(QApplication::applicationDirPath()); QString destPluginPath = appDir.absoluteFilePath(pluginFile.fileName()); if(forceLoad && _pluginsLoaded.values().contains(pluginPath)) unloadPlugin(destPluginPath); // copy plugin in application folder since it requires libraries if(pluginPath!=destPluginPath) appDir.remove(pluginFile.fileName()); QFile::copy(pluginPath,destPluginPath); // first try to load QPluginLoader loader(destPluginPath); QObject *plugin = loader.instance(); ProblemInterface* pbInter = qobject_cast<ProblemInterface*>(plugin); if(pbInter) { InfoSender::instance()->sendNormal("Loaded plugin successfully : "+pbInter->name()); this->addProblemInterface(pbInter); // added corresponding settings MOParameters* pluginParams = pbInter->parameters(); MOSettings::addParameters(pluginParams,pbInter->name()); } else { InfoSender::instance()->sendError("Loaded plugin failed : "+pluginPath +"\n("+loader.errorString()+")"); } bool loadOk = (pbInter!=NULL); // add to stored list if(loadOk && storePath) { _pluginsLoaded.insert(pbInter->name(),pluginPath); emit projectChanged(); } return loadOk; }
bool NewForm::qt_invoke( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->slotOffset() ) { case 0: projectChanged((const QString&)static_QUType_QString.get(_o+1)); break; case 1: itemChanged((QIconViewItem*)static_QUType_ptr.get(_o+1)); break; default: return NewFormBase::qt_invoke( _id, _o ); } return TRUE; }
void ProjectBase::addResult(Result *result) { _results->addCase(result); emit sendInfo(Info(ListInfo::ADDEDPROBLEM,result->name())); //update GUI emit projectChanged(); emit addedResult(result); }
void ProjectBase::save(Problem* problem) { // save project but not all omcases Save::saveProject(this,false); // save problem Save::saveProblem(this,problem); emit projectChanged(); }
void ProjectBase::addProblem(Problem *problem) { HighTools::checkUniqueProblemName(this,problem,_problems); _problems->addCase(problem); //update GUI emit sendInfo(Info(ListInfo::ADDEDPROBLEM,problem->name())); emit projectChanged(); emit addedProblem(problem); }
void ProjectBase::save(Result* result) { // save project but not all omcases Save::saveProject(this,false); // save result Save::saveResult(this,result); emit projectChanged(); }
ProjectBase::ProjectBase() { _isdefined = false; // _curProblem = -1; _problems = new Problems("Problems"); _results = new Results("Results"); _scriptParser = NULL; emit projectChanged(); }
TmpESRExperiment::TmpESRExperiment(QWidget *parent) : QWidget(parent), ui(new Ui::TmpESRExperiment) { ui->setupUi(this); wf=0; hposciloscope=0; timer = new QTimer(this); connect(ProjectManager::instance(),SIGNAL(projectChanged()),this,SLOT(onProjectChanged())); connect(timer,SIGNAL(timeout()),this,SLOT(on_timer())); }
void ProjectBase::setFilePath(QString filePath) { _filePath=filePath; //create models folder QFileInfo fileInfo(_filePath); QString modelsDir = fileInfo.dir().absolutePath()+QDir::separator()+"Models"; LowTools::mkpath(modelsDir,false); emit projectChanged(); }
/** * Unload all plugins */ bool ProjectBase::unloadPlugins() { QStringList pluginsPaths(_pluginsLoaded.values()); bool ok = true; for(int i=0;i<pluginsPaths.size();i++) ok = unloadPlugin(pluginsPaths.at(i)) && ok; emit projectChanged(); return ok; }
void MainWindow::openProject() { if(m_project) if(!closeProject()) return; QString fileName = QFileDialog::getOpenFileName(this, tr("Open DES Project"), QDir::currentPath(), tr("DES Files (*.xml)")); if (fileName.isEmpty()) return; QFile file(fileName); if (!file.open(QFile::ReadOnly | QFile::Text)) { QMessageBox::warning(this, tr("DES Project Reader"), tr("Cannot open file %1:\n%2.") .arg(fileName) .arg(file.errorString())); return; } ProjectSerializer serializer; m_project = serializer.loadProject(&file); if(m_project) { statusBar()->showMessage(tr("Project opened"), 20000); m_project->setFileName(fileName); connect (m_project, SIGNAL(projectChanged()), this, SLOT(unsavedChanges())); showProjectView(); m_unsavedChanges = false; ui->actSaveProject->setEnabled(true); ui->actSaveProjectAs->setEnabled(true); ui->actCloseProject->setEnabled(true); ui->actImportAutomaton->setEnabled(true); ui->menuAutomata->setEnabled(true); ui->menuServer->setEnabled(true); ui->actShowSettings->setEnabled(true); ui->actDeleteAutomaton->setEnabled(true); m_projectWidget->setMode("unknown"); } else { delete m_project; m_project = 0; } }
void QgsGeoPackageProjectStorageDialog::populateProjects() { mCboProject->clear(); QString uri = currentProjectUri(); QgsProjectStorage *storage = QgsApplication::projectStorageRegistry()->projectStorageFromType( QStringLiteral( "geopackage" ) ); Q_ASSERT( storage ); const auto projects { storage->listProjects( uri ) }; for ( const auto &projectName : projects ) { // Set data to true for existing projects mCboProject->addItem( projectName, true ); } projectChanged(); }
/** * Unload a OMOptim plugin * \param pluginPath full file path of plugin */ bool ProjectBase::unloadPlugin(QString pluginPath) { InfoSender::instance()->sendNormal("Unloading plugin : "+pluginPath); _pluginsLoaded.remove(_pluginsLoaded.key(pluginPath)); QFileInfo pluginFile(pluginPath); QString loadedFile = QApplication::applicationDirPath()+QDir::separator()+pluginFile.fileName(); QPluginLoader loader(loadedFile); if(loader.unload()) { emit projectChanged(); return true; } else return false; }
bool MainWindow::closeProject() { auto current = _db->project(); if(!current) { return false; } bool abort = false; emit projectAboutToChange(&abort); if(abort || Application::offerToSave(current) != Application::Success) { return false; } xForeach(auto e, _editors.values()) { AssetEditor::destroy(e); } _editors.clear(); _db->children.remove(current); _db->clearChanges(); auto currentUser = _db->projectUserData(); if(currentUser) { currentUser->geometry.assign(saveGeometry().toBase64().data()); currentUser->layout.assign(saveState().toBase64().data()); } Application::save(currentUser); if(currentUser) { _db->children.remove(currentUser); } emit projectChanged(); return true; }
/** * \brief * Clear ProjectBase (Modelica hierarchy, _problems, Solved _problems, _moFiles...) */ void ProjectBase::clear() { // delete GUI tabs... emit projectAboutToBeReset(); terminateProblemsThreads(); _problems->clear(); _results->clear(); _isdefined=false; _filePath.clear(); _name.clear(); _problemLaunchMutex.unlock(); unloadPlugins(); emit projectChanged(); }
bool MainWindow::qt_emit( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->signalOffset() ) { case 0: currentToolChanged(); break; case 1: hasActiveForm((bool)static_QUType_bool.get(_o+1)); break; case 2: hasActiveWindow((bool)static_QUType_bool.get(_o+1)); break; case 3: hasActiveWindowOrProject((bool)static_QUType_bool.get(_o+1)); break; case 4: hasNonDummyProject((bool)static_QUType_bool.get(_o+1)); break; case 5: formModified((bool)static_QUType_bool.get(_o+1)); break; case 6: formWindowsChanged(); break; case 7: formWindowChanged(); break; case 8: projectChanged(); break; case 9: editorChanged(); break; default: return QMainWindow::qt_emit(_id,_o); } return TRUE; }
UndoManager::UndoManager() : mRecursePrevent(false) , mGroupIndex(-1) { LOG_INFO("Initializing the UndoManager."); // connect all my signals that cause the undo list to be trashed. connect(&EditorEvents::GetInstance(), SIGNAL(editorInitiationEvent()), this, SLOT(clearAllHistories())); connect(&EditorEvents::GetInstance(), SIGNAL(editorCloseEvent()), this, SLOT(clearAllHistories())); connect(&EditorEvents::GetInstance(), SIGNAL(projectChanged()), this, SLOT(clearAllHistories())); connect(&EditorEvents::GetInstance(), SIGNAL(currentMapChanged()), this, SLOT(clearAllHistories())); connect(&EditorEvents::GetInstance(), SIGNAL(mapLibraryImported()), this, SLOT(clearAllHistories())); connect(&EditorEvents::GetInstance(), SIGNAL(mapLibraryRemoved()), this, SLOT(clearAllHistories())); // trap destry, create, change, and about to change connect(&EditorEvents::GetInstance(), SIGNAL(actorProxyDestroyed(ActorProxyRefPtr)), this, SLOT(onActorProxyDestroyed(ActorProxyRefPtr))); connect(&EditorEvents::GetInstance(), SIGNAL(actorProxyCreated(ActorProxyRefPtr, bool)), this, SLOT(onActorProxyCreated(ActorProxyRefPtr, bool))); connect(&EditorEvents::GetInstance(), SIGNAL(actorPropertyChanged(ActorProxyRefPtr, ActorPropertyRefPtr)), this, SLOT(onActorPropertyChanged(ActorProxyRefPtr, ActorPropertyRefPtr))); connect(&EditorEvents::GetInstance(), SIGNAL(actorPropertyAboutToChange(ActorProxyRefPtr, ActorPropertyRefPtr, std::string, std::string)), this, SLOT(actorPropertyAboutToChange(ActorProxyRefPtr, ActorPropertyRefPtr, std::string, std::string))); connect(&EditorEvents::GetInstance(), SIGNAL(ProxyNameChanged(dtDAL::ActorProxy&, std::string)), this, SLOT(onProxyNameChanged(dtDAL::ActorProxy&, std::string))); }