1#ifndef OSMSCOUT_STYLEDESCRIPTION_H
2#define OSMSCOUT_STYLEDESCRIPTION_H
24#include <unordered_map>
113 const std::string& name,
259 EnumNameValueMap::const_iterator entry=
enumMap.find(name);
262 return entry->second;
480 std::unordered_map<std::string,StyleAttributeDescriptorRef> attributeMap;
488 auto result=attributeMap.find(name);
490 if (result!=attributeMap.end()) {
491 return result->second;
#define CLASS_FINAL
Definition Compiler.h:26
#define OSMSCOUT_MAP_API
Definition MapImportExport.h:45
StyleUDisplayAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:295
StyleVoidAttributeDescriptor()
Definition StyleDescription.h:143
StyleUIntAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:421
StyleBoolAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:160
StyleColorAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:196
StyleLabelAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:439
StyleStringAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:178
StyleUDoubleAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:367
StyleUMapAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:331
StyleUDoubleArrayAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:385
StyleMagnificationAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:215
StyleDisplayAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:277
StyleSymbolAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:457
StyleDoubleAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:349
StyleIntAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:403
StyleMapAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:313
Definition LabelProvider.h:39
StyleAttributeType GetType() const
Definition StyleDescription.h:124
int GetAttribute() const
Definition StyleDescription.h:129
std::string GetName() const
Definition StyleDescription.h:119
StyleAttributeDescriptor(StyleAttributeType type, const std::string &name, int attribute)
virtual ~StyleAttributeDescriptor()=default
Definition StyleDescription.h:478
void AddAttribute(const StyleAttributeDescriptorRef &attribute)
StyleAttributeDescriptorRef GetAttribute(const std::string &name) const
Definition StyleDescription.h:486
int GetEnumValue(const std::string &name) const
Definition StyleDescription.h:257
EnumNameValueMap enumMap
Definition StyleDescription.h:237
std::unordered_map< std::string, int > EnumNameValueMap
Definition StyleDescription.h:234
StyleEnumAttributeDescriptor(const std::string &name, int attribute)
Definition StyleDescription.h:240
void AddEnumValue(const std::string &name, int value)
Definition StyleDescription.h:250
Definition StyleDescription.h:52
virtual void SetBoolValue(int attribute, bool value)
virtual void SetUIntValue(int attribute, size_t value)
virtual void SetDoubleValue(int attribute, double value)
virtual void SetDoubleArrayValue(int attribute, const std::vector< double > &value)
virtual void SetMagnificationValue(int attribute, const Magnification &value)
virtual void SetColorValue(int attribute, const Color &value)
virtual void SetStringValue(int attribute, const std::string &value)
virtual void SetSymbolValue(int attribute, const SymbolRef &value)
virtual void SetLabelValue(int attribute, const LabelProviderRef &value)
virtual void SetIntValue(int attribute, int value)
StyleAttributeType
Definition StyleDescription.h:79
@ TYPE_SYMBOL
Definition StyleDescription.h:96
@ TYPE_UMAP_SIZE
Definition StyleDescription.h:89
@ TYPE_VOID
Definition StyleDescription.h:80
@ TYPE_MAP_SIZE
Definition StyleDescription.h:88
@ TYPE_UDOUBLE_ARRAY
Definition StyleDescription.h:92
@ TYPE_ENUM
Definition StyleDescription.h:85
@ TYPE_DOUBLE
Definition StyleDescription.h:90
@ TYPE_UINT
Definition StyleDescription.h:94
@ TYPE_MAGNIFICATION
Definition StyleDescription.h:84
@ TYPE_COLOR
Definition StyleDescription.h:83
@ TYPE_UDOUBLE
Definition StyleDescription.h:91
@ TYPE_BOOL
Definition StyleDescription.h:81
@ TYPE_STRING
Definition StyleDescription.h:82
@ TYPE_UDISPLAY_SIZE
Definition StyleDescription.h:87
@ TYPE_DISPLAY_SIZE
Definition StyleDescription.h:86
@ TYPE_LABEL
Definition StyleDescription.h:95
@ TYPE_INT
Definition StyleDescription.h:93
std::shared_ptr< StyleDescriptor > StyleDescriptorRef
Definition StyleDescription.h:498
std::shared_ptr< Symbol > SymbolRef
Definition StyleDescription.h:37
std::shared_ptr< LabelProvider > LabelProviderRef
Definition LabelProvider.h:60
std::shared_ptr< StyleAttributeDescriptor > StyleAttributeDescriptorRef
Definition StyleDescription.h:468