All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LabelAnchorCategoryIconMap.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 
6 #include "Types.h"
7 #include "Labels.h"
8 #include "LabelAnchorCategory.h"
9 #include "IconDefinition.h"
10 
11 #include <vector>
12 
13 namespace Eegeo
14 {
15  namespace Labels
16  {
18  {
19  public:
20  typedef LabelAnchorCategory::IdType LabelAnchorCategoryId;
21  typedef Icons::IconDefinition::IdType IconKey;
22 
23  inline static LabelAnchorCategoryIconMap* Create(const LabelAnchorCategoryId& labelAnchorCategory, const IconKey& iconKey);
24 
25  const LabelAnchorCategoryId& GetLabelAnchorCategoryId() const { return m_labelAnchorCategoryId; }
26 
27  const IconKey& GetLabelIconKey() const { return m_iconKey; }
28 
29  private:
30  LabelAnchorCategoryIconMap(const LabelAnchorCategoryId& labelAnchorCategoryId, const IconKey& iconKey)
31  : m_labelAnchorCategoryId(labelAnchorCategoryId)
32  , m_iconKey(iconKey)
33  {}
34 
35  LabelAnchorCategoryId m_labelAnchorCategoryId;
36  IconKey m_iconKey;
37  };
38 
39 
40  inline LabelAnchorCategoryIconMap* LabelAnchorCategoryIconMap::Create(const LabelAnchorCategoryId& labelAnchorCategoryId, const IconKey& iconKey)
41  {
42  return Eegeo_NEW(LabelAnchorCategoryIconMap)(labelAnchorCategoryId, iconKey);
43  }
44  }
45 }