All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LabelStyleSheetBuilder.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Labels.h"
6 #include "ILabelStyleSheetBuilder.h"
7 #include "Types.h"
8 
9 #include <string>
10 
11 namespace Eegeo
12 {
13  namespace Labels
14  {
16  {
17  public:
18  LabelStyleSheetBuilder(ILabelTextStyleFactory& labelTextStyleFactory,
19  ILabelTextStyleRepository& labelTextStyleRepository,
20  ILabelIconStyleFactory& labelIconStyleFactory,
21  ILabelIconStyleRepository& labelIconStyleRepository,
22  ILabelStyleFactory& labelStyleFactory,
23  ILabelStyleRepository& labelStyleRepository,
24  ILabelStyleBindingRepository& labelStyleBindingRepository);
25 
26  void CreateAndRegisterStyles(const LabelStyleSheetParserResult& styleSheetDto);
27 
28  private:
29  void CreateAndAddTextStyle(const LabelTextStyleDto& labelTextStyleDto);
30  void CreateAndAddIconStyle(const LabelIconStyleDto& labelIconStyleDto);
31  void CreateAndAddLabelStyle(const LabelStyleDto& labelStyleDto);
32  void CreateAndAddStyleBinding(const LabelStyleBindingDto& labelStyleBindingDto);
33 
34  ILabelTextStyleFactory& m_labelTextStyleFactory;
35  ILabelTextStyleRepository& m_labelTextStyleRepository;
36  ILabelIconStyleFactory& m_labelIconStyleFactory;
37  ILabelIconStyleRepository& m_labelIconStyleRepository;
38  ILabelStyleFactory& m_labelStyleFactory;
39  ILabelStyleRepository& m_labelStyleRepository;
40  ILabelStyleBindingRepository& m_labelStyleBindingRepository;
41  };
42  }
43 }