Exemplo n.º 1
0
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;
    }
}
Exemplo n.º 2
0
/**
 * @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;
}
Exemplo n.º 3
0
/**
Sets project
*/
void cwImageTexture::setProject(QString project) {
    if(ProjectFilename != project) {
        ProjectFilename = project;
        startLoadingImage();
        emit projectChanged();
    }
}
Exemplo n.º 4
0
void ProjectBase::save(bool saveAllOMCases)
{
    Save::saveProject(this,saveAllOMCases);

    setSaved(true);
    emit projectChanged();
}
Exemplo n.º 5
0
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);
}
Exemplo n.º 6
0
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");
}
Exemplo n.º 7
0
void ProjectCombo::indexChanged( int i )
{
	ProjectList ptl( mModel->recordList() );
	if( i < 0 || i >= (int)ptl.size() ) return;
	mCurrent = ptl[i];
	emit projectChanged( mCurrent );
}
Exemplo n.º 8
0
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();
}
Exemplo n.º 9
0
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();
	}
}
Exemplo n.º 10
0
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>)));
}
Exemplo n.º 11
0
void reEditor::project( reProject* val )
{
	if (_project != val)
	{
		emit projectChanged(val);
	}
	_project = val;
}
Exemplo n.º 12
0
void TerrainProceduralDialog::setProject(Project *arg)
{
    if (m_project != arg) {
        m_project = arg;
        terrain=&m_project->world.terrain;
        emit projectChanged(arg);
    }
}
Exemplo n.º 13
0
void ProjectBase::removeProblemInterface(QString interfaceName)
{
    if(_problemsInterfaces.removeProblemInterface(interfaceName))
    {
        emit interfacesModified();
        emit projectChanged();
    }
}
Exemplo n.º 14
0
/**
* 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;
}
Exemplo n.º 15
0
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;
}
Exemplo n.º 16
0
void ProjectBase::addResult(Result *result)
{
    _results->addCase(result);

    emit sendInfo(Info(ListInfo::ADDEDPROBLEM,result->name()));

    //update GUI
    emit projectChanged();
    emit addedResult(result);
}
Exemplo n.º 17
0
void ProjectBase::save(Problem* problem)
{
    // save project but not all omcases
    Save::saveProject(this,false);

    // save problem
    Save::saveProblem(this,problem);

    emit projectChanged();
}
Exemplo n.º 18
0
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);
}
Exemplo n.º 19
0
void ProjectBase::save(Result* result)
{
    // save project but not all omcases
    Save::saveProject(this,false);

    // save result
    Save::saveResult(this,result);

    emit projectChanged();
}
Exemplo n.º 20
0
ProjectBase::ProjectBase()
{
    _isdefined = false;
    //    _curProblem = -1;


    _problems = new Problems("Problems");
    _results = new Results("Results");
    _scriptParser = NULL;
    emit projectChanged();
}
Exemplo n.º 21
0
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()));
}
Exemplo n.º 22
0
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();
}
Exemplo n.º 23
0
/**
* 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;
}
Exemplo n.º 24
0
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();
}
Exemplo n.º 26
0
/**
* 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;
}
Exemplo n.º 27
0
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;
  }
Exemplo n.º 28
0
/**
* \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;
}
Exemplo n.º 30
0
   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)));
   }