Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/GraphicalObjects/graphical_object_renderer_attributes.h
T
2026-08-13 18:33:10 +02:00

103 lines
1.9 KiB
C++
Executable File

/**
* @RDE_HEADER@
* GraphicalObjectRendererAttributes
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
// Own
#include "abstract_graphical_object.h"
#include <Map/text_style.h>
#include <Common/situation_map_logging.h>
// Esri
#include <arcgis/SymbolTypes.h>
// Qt
#include <QImage>
#include <QVariantMap>
// forward:
namespace Esri
{
namespace ArcGISRuntime
{
class Graphic;
class GraphicsOverlay;
class ModelSceneSymbol;
}
}
//----------------------------------------------------------------------------
namespace SituationMap
{
class SITUATIONMAP_EXPORT GraphicalObjectRendererAttributes : public AbstractGraphicalObject
{
using BaseClass = AbstractGraphicalObject;
public:
GraphicalObjectRendererAttributes(const Esri::ArcGISRuntime::GeoView *geoView
, Esri::ArcGISRuntime::GraphicsOverlay *graphicsLayer
, const QString &debugInfo
, const UniqueMapId &uniqueMapId);
~GraphicalObjectRendererAttributes();
// Data access:
// to be cont.
void setAttributeMap(const QVariantMap &attribMap);
QVariantMap attributeMap() const;
protected:
// Internal/Admin
bool create() override;
bool changed() override
{
return BaseClass::changed()
|| m_attributeMap.changed()
;
}
void resetChanged() override
{
BaseClass::resetChanged();
m_attributeMap.reset();
}
bool updateViewImpl() override;
// no ModelSceneSymbol since Renderer-based
SimpleValue<QVariantMap> m_attributeMap;
private:
LOGGER_T m_logger; ///< Interface of the Logging-Facility
// Forbid some overloaded methods without effects of this object;
PositionCont positions() const override
{
return PositionCont();
}
void setPositions(const PositionCont &posCont) override
{
Q_UNUSED(posCont);
Q_ASSERT(false);
}
};
} // namespace SituationMap