Esempio n. 1
0
void MainWindow::dataSetCloseRequested()
{
	_tableModel->clearDataSet();
	_loader.free(_dataSet);
	_dataSet = NULL;
	updateMenuEnabledDisabledStatus();
	ui->backStage->setFileLoaded(false);
	ui->webViewResults->reload();
	_inited = false;
}
Esempio n. 2
0
void MainWindow::dataSetLoaded(DataSet *dataSet)
{
	_dataSet = dataSet;
	_tableModel->setDataSet(dataSet);
	updateMenuEnabledDisabledStatus();
	ui->backStage->setFileLoaded(true);
	_analyses->clear();

	ui->tableView->horizontalHeader()->resizeSections(QHeaderView::ResizeToContents);

	_alert->hide();

	if (_inited == false)
	{
		ui->webViewResults->page()->mainFrame()->addToJavaScriptWindowObject("jasp", this);
		_inited = true;
	}

	if (_engineSync->engineStarted() == false)
		_engineSync->start();

}
Esempio n. 3
0
void MainWindow::dataSetCloseRequested()
{
	bool isSaving = false;
	if (_dataSetClosing || !closeRequestCheck(isSaving))
	{
		if (isSaving)
		{
			_dataSetClosing = true;
			return;
		}

		closeCurrentOptionsWidget();
		hideOptionsPanel();
		_tableModel->clearDataSet();
		_loader.free(_package->dataSet);
		_package->reset();
		updateMenuEnabledDisabledStatus();
		ui->backStage->setFileLoaded(false, NULL);
		ui->webViewResults->reload();
		_dataSetClosing = false;
		setWindowTitle("JASP");
		_inited = false;
	}
}
Esempio n. 4
0
void MainWindow::dataSetLoaded(const QString &dataSetName, DataSetPackage *package, const QString &filename)
{
	setWindowTitle(dataSetName);

	_tableModel->setDataSet(package->dataSet);
	ui->backStage->setFileLoaded(true, filename);
	_analyses->clear();

	ui->tableView->horizontalHeader()->resizeSections(QHeaderView::ResizeToContents);

	_alert->hide();

	if (_inited == false)
	{
		ui->webViewResults->page()->mainFrame()->addToJavaScriptWindowObject("jasp", this);
		_inited = true;
	}

	if (package->hasAnalyses)
	{
		bool errorFound = false;

		int corruptAnalyses = 0;
		stringstream errorMsg;
		stringstream corruptionStrings;
		Json::Value analysesData = package->analysesData;
		if (!analysesData.isArray() || analysesData.isNull())
		{
			errorFound = true;
			errorMsg << "An error has been detected and analyses could not be loaded.";
		}
		else
		{
			for (Json::ValueIterator iter = analysesData.begin(); iter != analysesData.end(); iter++)
			{
				try
				{
					QString name = QString();
					Json::Value &analysisData = *iter;

					name = QString::fromStdString(analysisData["name"].asString());
					int id = analysisData["id"].asInt();

					Json::Value &optionsJson = analysisData["options"];
					Json::Value &resultsJson = analysisData["results"];

					Analysis::Status status = Analysis::getStatusValue(analysisData["status"].asString());

					Analysis *analysis = _analyses->create(name, id, &optionsJson, status);

					analysis->setResults(resultsJson);
				}
				catch (runtime_error e)
				{
					errorFound = true;
					corruptionStrings << "\n" << (++corruptAnalyses) << ": " << e.what();
				}
				catch (exception e)
				{
					errorFound = true;
					corruptionStrings << "\n" << (++corruptAnalyses) << ": " << e.what();
				}
			}
		}

		if (corruptAnalyses == 1)
			errorMsg << "An error was detected in an analyses. This analyses has been removed for the following reason:\n" << corruptionStrings.str();
		else if (corruptAnalyses > 1)
			errorMsg << "Errors were detected in " << corruptAnalyses << " analyses. These analyses have been removed for the following reasons:\n" << corruptionStrings.str();

		if (errorFound)
			QMessageBox::warning(this, "", tq(errorMsg.str()));
	}

	package->setLoaded();
	updateMenuEnabledDisabledStatus();

	if (_engineSync->engineStarted() == false)
		_engineSync->start();
}