All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ILabelLayerFilterGroupModel.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "MapLayers.h"
6 #include "Labels.h"
7 #include "LabelLayer.h"
8 #include "IModelObserver.h"
9 
10 #include <vector>
11 
12 namespace Eegeo
13 {
14  namespace Labels
15  {
17  {
18  public:
19  virtual ~ILabelLayerFilterGroupModel() {}
20 
21  virtual void GetLabelLayerIds(std::vector<LabelLayer::IdType>& out_labelLayerIds) const = 0;
22 
23  virtual void SetFilterGroupMask(u32 filterGroupMask) = 0;
24 
25  virtual u32 GetFilterGroupMask() const = 0;
26 
27  virtual void SetFilterGroupsForLayer(const Labels::LabelLayer::IdType& labelLayerId, u32 filterGroupMask) = 0;
28 
29  virtual u32 GetFilterGroupsForLayer(const Labels::LabelLayer::IdType& labelLayerId) const = 0;
30  };
31 
32 
34  {
35  public:
37 
38  };
39  }
40 }