All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LayerPropertiesInfo.cpp
Go to the documentation of this file.
1 #include "LayerPropertiesInfo.h"
2 #include "../../propertybrowser/AbstractPropertyManager.h"
3 
4 #include "../../../../maptools/AbstractLayer.h"
5 
7  te::qt::widgets::AbstractPropertyItem(pb),
8  m_layer(layer)
9 {
10  QtProperty* layerInfo_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_groupManager->addProperty(tr("Layer properties"));
11 
12  // Attributes
13  QtProperty* id_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->addProperty(tr("Id"));
14  layerInfo_prop->addSubProperty(id_prop);
15  id_prop->setEnabled(false);
16 
17  QtProperty* title_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->addProperty(tr("Title"));
18  layerInfo_prop->addSubProperty(title_prop);
19  title_prop->setPropertyName("title");
20  title_prop->setEnabled(false);
21 
22  QtProperty* srid_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_intManager->addProperty(tr("SRID"));
23  layerInfo_prop->addSubProperty(srid_prop);
24  srid_prop->setPropertyName("srid");
25  srid_prop->setEnabled(false);
26 
27  /// Bounding Box
28  QtProperty* bbox_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_groupManager->addProperty(tr("Bounding box"));
29 
30  QtProperty* llx_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->addProperty(tr("Lower left x"));
31  QtProperty* lly_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->addProperty(tr("Lower left y"));
32  QtProperty* urx_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->addProperty(tr("Upper right x"));
33  QtProperty* ury_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->addProperty(tr("Upper right y"));
34 
35  llx_prop->setEnabled(false);
36  lly_prop->setEnabled(false);
37  urx_prop->setEnabled(false);
38  ury_prop->setEnabled(false);
39 
40  bbox_prop->addSubProperty(llx_prop);
41  bbox_prop->addSubProperty(lly_prop);
42  bbox_prop->addSubProperty(urx_prop);
43  bbox_prop->addSubProperty(ury_prop);
44 
45  layerInfo_prop->addSubProperty(bbox_prop);
46 
47  // Visibility
48  QtProperty* vis_prop = te::qt::widgets::AbstractPropertyManager::getInstance().m_enumManager->addProperty(tr("Visibility"));
49  QStringList visEnum;
50  visEnum << tr("Not visible") << tr("visible") << tr("Partially visible");
51  te::qt::widgets::AbstractPropertyManager::getInstance().m_enumManager->setEnumNames(vis_prop, visEnum);
52 
53  layerInfo_prop->addSubProperty(vis_prop);
54  vis_prop->setPropertyName("visibility");
55  vis_prop->setEnabled(false);
56 
57  //setting values
58  te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->setValue(id_prop, m_layer->getId().c_str());
59  te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->setValue(title_prop, m_layer->getTitle().c_str());
60  te::qt::widgets::AbstractPropertyManager::getInstance().m_intManager->setValue(srid_prop, m_layer->getSRID());
61  te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->setValue(llx_prop, QString::number(m_layer->getExtent().getLowerLeftX(), 'f'));
62  te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->setValue(lly_prop, QString::number(m_layer->getExtent().getLowerLeftY(), 'f'));
63  te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->setValue(urx_prop, QString::number(m_layer->getExtent().getUpperRightX(), 'f'));
64  te::qt::widgets::AbstractPropertyManager::getInstance().m_stringManager->setValue(ury_prop, QString::number(m_layer->getExtent().getUpperRightY(), 'f'));
65  te::qt::widgets::AbstractPropertyManager::getInstance().m_enumManager->setValue(vis_prop, (int) m_layer->getVisibility());
66 
67  addProperty(layerInfo_prop, tr("Layer properties"), Qt::lightGray);
68 }
69 
71 {
72 }
73 
75 {
76  if(p->propertyName() == "srid")
77  m_layer->setSRID(value);
78  else if(p->propertyName() == "visibility")
79  m_layer->setVisibility((te::map::Visibility)value);
80 }
81 
82 void te::qt::widgets::LayerPropertiesInfo::valueChanged(QtProperty* p, const QString& value)
83 {
84  if(p->propertyName() == "title")
85  m_layer->setTitle(value.toStdString());
86 }
virtual const std::string & getId() const
It returns the layer id.
A widget used to define the main property items that can be used to describe a se object...
This is the base class for layers.
Definition: AbstractLayer.h:76
virtual const te::gm::Envelope & getExtent() const
It returns the Layer extent (or minimum bounding box).
virtual const std::string & getTitle() const
It returns the layer title.
const double & getUpperRightX() const
It returns a constant refernce to the x coordinate of the upper right corner.
Definition: Envelope.h:410
const double & getLowerLeftY() const
It returns a constant refernce to the y coordinate of the lower left corner.
Definition: Envelope.h:400
LayerPropertiesInfo(QtTreePropertyBrowser *pb, te::map::AbstractLayer *layer)
Constructor.
virtual Visibility getVisibility() const
It returns the layer visibility.
const double & getUpperRightY() const
It returns a constant refernce to the x coordinate of the upper right corner.
Definition: Envelope.h:420
virtual void valueChanged(QtProperty *p, int value)
static AbstractPropertyManager & getInstance()
It returns a reference to the singleton instance.
void addProperty(QtProperty *property, const QString &id, QColor c)
const double & getLowerLeftX() const
It returns a constant reference to the x coordinate of the lower left corner.
Definition: Envelope.h:390
virtual int getSRID() const
It returns the Spatial Reference System ID associated to the Layer.
Visibility
Each layer can have three states of visibility.
Definition: Enums.h:138