/** * @RDE_HEADER@ * GraphicalObjectAttributes * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include "abstract_graphical_object.h" // Esri // Qt // forward: //---------------------------------------------------------------------------- namespace SituationMap { // forward: class MapImpl; /** * @brief The GraphicalObjectAttributes class */ class SITUATIONMAP_EXPORT GraphicalObjectAttributes : public AbstractGraphicalObject { using BaseClass = AbstractGraphicalObject; public: /** * @brief GraphicalObjectAttributes * @param mapImpl map to be used. * @param logicalLayerName logical layer name to be used. * @param debugInfo debugInfo to be used * @param uniqueMapId uniqueMapId to be used. (Optional to fulfill rubberband requirements) */ GraphicalObjectAttributes(MapImpl *mapImpl, Esri::ArcGISRuntime::GraphicsOverlay *graphicsLayer, const QString &debugInfo, const UniqueMapId &uniqueMapId = INVALID_MAP_ID); GraphicalObjectAttributes(const GraphicalObjectAttributes &other) = delete; GraphicalObjectAttributes &operator=(GraphicalObjectAttributes &other) = delete; virtual ~GraphicalObjectAttributes(); QVariantMap attributes() const; void setAttributes(const QVariantMap &attributes); Esri::ArcGISRuntime::Geometry getGraphicGeometry() const override; protected: // Internal/Admin virtual bool create() override; bool changed() override; void resetChanged() override; bool updateViewImpl() override; // logical private: LOGGER_T m_logger; ///< Interface of the Logging-Facility class Private; /** * The private d-pointer to not break BC when changing internals of this class */ Private *d = nullptr; }; } // namespace SituationMap