All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
BuildEnums.cpp
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file BuildEnums.cpp
22 
23  \brief
24 
25  \ingroup layout
26 */
27 
28 // TerraLib
29 #include "BuildEnums.h"
30 #include "../../../layout/core/enum/EnumDataType.h"
31 #include "../../../layout/core/enum/EnumObjectType.h"
32 #include "../../../layout/core/enum/EnumGridStyleType.h"
33 #include "../../../layout/core/enum/EnumLineStyleType.h"
34 #include "../../../layout/core/enum/EnumModeType.h"
35 #include "../../../layout/core/enum/EnumTemplateType.h"
36 #include "../../../layout/core/enum/Enums.h"
37 
39  m_dataType(0),
40  m_objType(0),
41  m_gridStyleType(0),
42  m_lineStyleType(0),
43  m_modeType(0),
44  m_templateType(0)
45 {
46 
47 }
48 
50 {
51  if(m_dataType)
52  {
53  delete m_dataType;
54  m_dataType = 0;
55  }
56 
57  if(m_objType)
58  {
59  delete m_objType;
60  m_objType = 0;
61  }
62 
63  if(m_gridStyleType)
64  {
65  delete m_gridStyleType;
66  m_gridStyleType = 0;
67  }
68 
69  if(m_lineStyleType)
70  {
71  delete m_lineStyleType;
72  m_lineStyleType = 0;
73  }
74 
75  if(m_modeType)
76  {
77  delete m_modeType;
78  m_modeType = 0;
79  }
80 
81  if(m_templateType)
82  {
83  delete m_templateType;
84  m_templateType = 0;
85  }
86 }
87 
89 {
90  if(!Enums::getInstance().getEnumDataType())
91  {
92  m_dataType = new EnumDataType;
93  Enums::getInstance().setEnumDataType(m_dataType);
94  }
95 
96  if(!Enums::getInstance().getEnumObjectType())
97  {
98  m_objType = new EnumObjectType;
100  }
101 
102  if(!Enums::getInstance().getEnumGridStyleType())
103  {
104  m_gridStyleType = new EnumGridStyleType;
105  Enums::getInstance().setEnumGridStyleType(m_gridStyleType);
106  }
107 
108  if(!Enums::getInstance().getEnumLineStyleType())
109  {
110  m_lineStyleType = new EnumLineStyleType;
111  Enums::getInstance().setEnumLineStyleType(m_lineStyleType);
112  }
113 
114  if(!Enums::getInstance().getEnumModeType())
115  {
116  m_modeType = new EnumModeType;
117  Enums::getInstance().setEnumModeType(m_modeType);
118  }
119 
120  if(!Enums::getInstance().getEnumTemplateType())
121  {
122  m_templateType = new EnumTemplateType;
123  Enums::getInstance().setEnumTemplateType(m_templateType);
124  }
125 }
Class to represent a graphic object (MVC component) and widget object (MVC widget) type enumeration...
virtual void setEnumGridStyleType(EnumGridStyleType *type)
Change grid style type enumeration.
Definition: Enums.cpp:67
virtual void build()
Definition: BuildEnums.cpp:88
Class to represent a template type enumeration. Ex.: json, etc.
virtual void setEnumLineStyleType(EnumLineStyleType *type)
Change line style type enumeration.
Definition: Enums.cpp:77
Class to represent a grid style type enumeration. Ex.: continuous, cross, etc.
static Enums & getInstance()
It returns a reference to the singleton instance.
Class to represent a mode type enumeration. Ex.: select, pan, create text, etc. The type of mode is u...
Definition: EnumModeType.h:50
virtual void setEnumDataType(EnumDataType *type)
Change data type enumeration.
Definition: Enums.cpp:47
Class to represent a data type enumeration. Ex.: int, double, bool, te::color::RGBAColor (color)...
Definition: EnumDataType.h:48
virtual void setEnumModeType(EnumModeType *type)
Change mode type enumeration.
Definition: Enums.cpp:87
virtual void setEnumTemplateType(EnumTemplateType *type)
Change template type enumeration.
Definition: Enums.cpp:97
Class to represent a line style type enumeration. Ex.: solid, dash, dot, etc.
virtual void setEnumObjectType(EnumObjectType *type)
Change graphic object (MVC component) and widget object (MVC widget) type enumeration.
Definition: Enums.cpp:57