/** * @RDE_HEADER@ * MapNotifier * $Id$ * $HeadURL$ * $Author$ */ // Own #include "map_notifier.h" #include "map.h" // Qt namespace SituationMap { QPointer MapNotifier::createMapNotifier(Map *map, QObject *parent) { if (!map) return nullptr; if (!parent) return nullptr; MapNotifier *ptr = new MapNotifier(parent); ptr->setMap(map); return ptr; } void MapNotifier::run() { if (m_map.isNull()) { qCritical() << "no map"; return; } // // signal mapReady // if (m_map->isReady()) onMapReady(); else connect(m_map.data(), &SituationMap::Map::mapReady, this, &MapNotifier::onMapReady, Qt::UniqueConnection); // // signal mapReadyAndSymbolDictionaryLoaded // if (m_map->isReady() && m_map->isSymbolDictionaryLoaded()) onMapReadyAndSymbolDictionaryLoaded(); else connect(m_map.data(), &SituationMap::Map::mapReadyAndSymbolDictionaryLoaded, this, &MapNotifier::onMapReadyAndSymbolDictionaryLoaded, Qt::UniqueConnection); } void MapNotifier::setMap(Map *map) { m_map = map; } const QPointer MapNotifier::map() { return m_map; } void MapNotifier::onMapReady() { // qCritical() << "emit mapReady()"; emit mapReady(); } void MapNotifier::onMapReadyAndSymbolDictionaryLoaded() { // qCritical() << "emit mapReadyAndSymbolDictionaryLoaded(), this=" << this; emit mapReadyAndSymbolDictionaryLoaded(); } } // namespace SituationMap