/** * @RDE_HEADER@ * SituationMap - SituationMapInit * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-02-29 */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace ParticipantManagement { class Party; } namespace SituationMap { //----------------------------------------------------------------------------- class ThatMapInitializer : public MapInitializer { Q_OBJECT typedef MapInitializer BaseClass; public: explicit ThatMapInitializer(Map &map, MapSettings &mapSettings, const QString &debugName, QObject *parent) : BaseClass(map, mapSettings, debugName, parent) {} bool initializeObjectFactory() override { ObjectFactory::registerMe(typeid(MapObjectIndicator), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(Cube), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(Polygon), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(Polyline), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(Text), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(Participant), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(AreaFire), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(AirSupport), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(BiologicalAgent), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(ChemicalAgent), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(BuildingOutline), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(DangerArea), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(GeoImage), new GenericObjectFactory() ); ObjectFactory::registerMe(typeid(FunctionalArea), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(HitLine), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(SituationMap::MapObjectAttributes), new GenericObjectFactory() ); ObjectFactory::registerMe(typeid(Mine), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(MineField), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(NineLiner), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(NuclearAgent), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(SingleFire), new GenericObjectFactory()); // ObjectFactory::registerMe(typeid(SingleFireCentral), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(SoundArea), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(VirtualMine), new GenericObjectFactory()); ObjectFactory::registerMe(typeid(SidcSymbol), new GenericObjectFactory()); SituationMap::ObjectFactory::registerMe(typeid(SituationMap::SightFan), new SituationMap::GenericObjectFactory()); return true; } // initializeObjectFactory() }; // ThatMapInitializer //----------------------------------------------------------------------------- class ThatPartyIdToColorFunctor final : public PartyIdToColorFunctor { Q_OBJECT typedef PartyIdToColorFunctor BaseClass; public: explicit ThatPartyIdToColorFunctor(const std::shared_ptr &ppmDtc); ~ThatPartyIdToColorFunctor() = default; bool doRemovePartyFlag() const { return m_doRemovePartyFlag; } void setDoRemovePartyFlag(bool doRemoveParty) { m_doRemovePartyFlag = doRemoveParty; } protected Q_SLOTS: void onPartyChanged(const ParticipantManagement::Party &data, DataModification modType = DataModification::eAdded); private: bool m_doRemovePartyFlag = true; std::shared_ptr m_ppmDtc; NGL::INGLLogger &m_logger; }; } // namespace SituationMap