All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GridSettingsModel.cpp
Go to the documentation of this file.
1 /* Copyright (C) 2001-2014 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 GridSettingsModel.cpp
22 
23  \brief
24 
25  \ingroup layout
26 */
27 
28 // TerraLib
29 #include "GridSettingsModel.h"
30 #include "Property.h"
31 #include "Properties.h"
34 
36 {
37  m_box = te::gm::Envelope(0., 0., 200., 200.);
39 
42 }
43 
45 {
46  if(m_planarGridSettings)
47  {
48  delete m_planarGridSettings;
49  m_planarGridSettings = 0;
50  }
51 
52  if(m_geodesicGridSettings)
53  {
54  delete m_geodesicGridSettings;
55  m_geodesicGridSettings = 0;
56  }
57 }
58 
60 {
61  m_properties->clear();
62 
63  Property pro_name;
64  pro_name.setName("GridSettings");
65 
66  m_properties->addProperty(pro_name);
67 
68  m_properties->setTypeObj(m_type);
69  return m_properties;
70 }
71 
73 {
74 
75 }
76 
78 {
79  m_property.clear();
80  m_property = property;
81 }
82 
84 {
85  return m_property;
86 }
87 
89 {
90  Property prop = containsGrid(gridType);
91  return prop.containsSubProperty(name);
92 }
93 
95 {
96  Property sub;
97 
98  sub = containsGrid(gridType);
99 
100  if(sub.isNull())
101  return;
102 
103  if(sub.containsSubProperty(subProperty))
104  {
105  sub.removeSubProperty(subProperty);
106  sub.addSubProperty(subProperty);
107 
108  m_property.removeSubProperty(sub);
109  m_property.addSubProperty(sub);
110  }
111 }
112 
114 {
115  Property prop;
116 
117  if(gridType == TypeGeodesic)
118  {
119  prop = m_property.containsSubProperty(m_geodesicGridSettings->getName());
120  }
121  if(gridType == TypePlanar)
122  {
123  prop = m_property.containsSubProperty(m_planarGridSettings->getName());
124  }
125 
126  return prop;
127 }
void removeSubProperty(Property property)
Definition: Property.cpp:131
virtual Properties * getProperties() const
void addSubProperty(Property property)
Definition: Property.cpp:126
virtual void updateOutsideSubProperty(Property subProperty, LayoutGridType gridType)
virtual te::layout::Property containsOutsideSubProperty(std::string name, LayoutGridType gridType)
An Envelope defines a 2D rectangular region.
Definition: Envelope.h:51
virtual void updateProperties(te::layout::Properties *properties)
virtual bool containsSubProperty(Property subProperty)
Definition: Property.cpp:167
virtual bool clear()
Definition: Properties.h:121
PlanarGridSettingsConfigProperties * m_planarGridSettings
void setName(std::string name)
Definition: Property.cpp:54
virtual Property containsGrid(LayoutGridType gridType)
virtual void setOutsideProperty(Property property)
LayoutGridType
Enum LayoutGridType. This is the enumeration of the grid types.
Definition: EnumMode.h:82
GeodesicGridSettingsConfigProperties * m_geodesicGridSettings
virtual Property getOutsideProperty()