Add solver profile to script engine
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <QFileInfo>
|
||||
#include <QDebug>
|
||||
#include <QInputDialog>
|
||||
#include <QJsonValue>
|
||||
#include "loadrunable.h"
|
||||
#include "rawimage.h"
|
||||
#include "loadrunable.h"
|
||||
@@ -162,6 +163,58 @@ bool ScriptEngine::convert(File *file, QString &outpath, const QString &format,
|
||||
}
|
||||
|
||||
#ifdef PLATESOLVER
|
||||
void ScriptEngine::setSolverProfile(int index)
|
||||
{
|
||||
if(_solver && index >= SSolver::Parameters::DEFAULT && index < SSolver::Parameters::BIG_STARS)
|
||||
{
|
||||
_solver->setParameters((SSolver::Parameters::ParametersProfile)index);
|
||||
}
|
||||
}
|
||||
|
||||
void ScriptEngine::setSolverProfile(const QVariantMap &profile)
|
||||
{
|
||||
if(_solver)
|
||||
{
|
||||
SSolver::Parameters params = SSolver::Parameters::convertFromMap(profile);
|
||||
_solver->setParameters(params);
|
||||
}
|
||||
}
|
||||
|
||||
QJSValue ScriptEngine::getSolverProfile() const
|
||||
{
|
||||
if(_solver)
|
||||
{
|
||||
QMap<QString, QVariant> params = SSolver::Parameters::convertToMap(_solver->getProfile());
|
||||
QJSValue ret = _jsEngine->newObject();
|
||||
for(auto i = params.begin(); i != params.end(); i++)
|
||||
{
|
||||
switch(i.value().metaType().id())
|
||||
{
|
||||
case QMetaType::Int:
|
||||
ret.setProperty(i.key(), i.value().toInt());
|
||||
break;
|
||||
case QMetaType::Double:
|
||||
ret.setProperty(i.key(), i.value().toDouble());
|
||||
break;
|
||||
case QMetaType::Bool:
|
||||
ret.setProperty(i.key(), i.value().toBool());
|
||||
break;
|
||||
case QMetaType::QString:
|
||||
ret.setProperty(i.key(), i.value().toString());
|
||||
break;
|
||||
default:
|
||||
qWarning() << "unhandled metatype" << i.key() << i.value();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
return QJSValue();
|
||||
}
|
||||
}
|
||||
|
||||
void ScriptEngine::setStartingSolution(const QJSValue &solution)
|
||||
{
|
||||
if(solution.isObject())
|
||||
|
||||
Reference in New Issue
Block a user