GeneratorBase.cc 1.06 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
#include "GeneratorBase.h"

namespace routing {

GeneratorBase::GeneratorBase(QObject *parent)
    : GeneratorBase(nullptr, parent) {}

GeneratorBase::GeneratorBase(GeneratorBase::Data d, QObject *parent)
    : QObject(parent), _d(d) {
  establishConnections();
11 12
  connect(_d, &AreaData::areaListChanged, this,
          &GeneratorBase::_areaListChangedHandler);
13 14 15 16 17 18
}

GeneratorBase::~GeneratorBase() {}

GeneratorBase::Data GeneratorBase::data() const { return _d; }

19 20 21 22 23 24 25 26 27 28 29 30
void GeneratorBase::setData(Data d) {
  if (d != nullptr) {
    if (_d != nullptr) {
      disconnect(_d, &AreaData::areaListChanged, this,
                 &GeneratorBase::_areaListChangedHandler);
    }
    deleteConnections();
    _d = d;
    establishConnections();
    connect(_d, &AreaData::areaListChanged, this,
            &GeneratorBase::_areaListChangedHandler);
  }
31 32 33 34 35 36
}

void GeneratorBase::establishConnections() {}

void GeneratorBase::deleteConnections() {}

37 38 39
void GeneratorBase::_areaListChangedHandler() {
  deleteConnections();
  establishConnections();
40
  emit generatorChanged();
41 42
}

43
} // namespace routing