/** * @RDE_HEADER@ * PathContainer * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include #include #include #include // Qt #include #include #include // forward: namespace Esri { namespace ArcGISRuntime { class GeoView; class GraphicsOverlay; } } //---------------------------------------------------------------------------- namespace SituationMap { // Forward: class CoordTranslationFunctor; class PathData; enum class GraphicalObjectPathType; class PathContainer : public QObject { Q_OBJECT public: explicit PathContainer(const Esri::ArcGISRuntime::GeoView *geoView, Esri::ArcGISRuntime::GraphicsOverlay *graphicsLayer, CoordTranslationFunctor *coordTransFunctor, const UniqueMapId &uniqueMapId); explicit PathContainer(const GraphicalObjectPathType pathType, const Esri::ArcGISRuntime::GeoView *geoView, Esri::ArcGISRuntime::GraphicsOverlay *graphicsLayer, CoordTranslationFunctor *coordTransFunctor, const UniqueMapId &uniqueMapId); virtual ~PathContainer(); PathContainer(const PathContainer &other) = delete; PathContainer &operator=(PathContainer &other) = delete; QString debugInfo() const; void setDebugInfo(const QString &debugInfo); // Marker : virtual PositionCont path(int idx) const; virtual bool setPath(int idx, const PositionCont &path); virtual void clear(int idx); virtual void clearAll(); virtual LineStyle lineStyle() const; virtual void setLineStyle(const LineStyle &lineStyle); virtual FillStyle fillStyle() const; virtual void setFillStyle(const FillStyle &fillStyle); virtual int drawOrder() const; virtual void setDrawOrder(int drawOrder); virtual bool selected() const; virtual void setSelected(bool selected); virtual bool visibility(int idx) const; virtual void setVisibility(int idx, bool onOff); virtual int getPathCount() const; virtual QList getIndicationIndexList() const; virtual bool updateView(); public slots: 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