Newer
Older
#include "GeneratorBase.h"
#include <QGeoCoordinate>
Valentin Platzgummer
committed
class MeasurementArea;
class SafeArea;
namespace routing {
class LinearGenerator : public GeneratorBase {
Q_OBJECT
public:
LinearGenerator(QObject *parent = nullptr);
LinearGenerator(Data d, QObject *parent = nullptr);
Q_PROPERTY(Fact *distance READ distance CONSTANT)
Q_PROPERTY(Fact *alpha READ alpha CONSTANT)
Q_PROPERTY(Fact *minLength READ minLength CONSTANT)
virtual QString editorQml() override;
virtual QString mapVisualQml() override;
virtual bool get(Generator &generator) override;
//!
//! \brief save Saves the generator.
//! \param obj Json object for saveing.
//! \return Returns true on success, false either.
//!
//! Saves distance, alpha and minLength.
//! \note This methode does not save the data.
//!
virtual bool save(QJsonObject &obj) const override;
virtual bool load(const QJsonObject &obj, QString &errorString) override;
Fact *distance();
Fact *alpha();
Fact *minLength();
static const char *settingsGroup;
private:
Valentin Platzgummer
committed
void onAreaListChanged();
void setMeasurementArea(MeasurementArea *area);
QMap<QString, FactMetaData *> _metaDataMap;
SettingsFact _distance;
SettingsFact _alpha;
SettingsFact _minLength;
Valentin Platzgummer
committed
MeasurementArea *_measurementArea;
SafeArea *_safeArea;