TrajectoryPropertiesWidget.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 terralib/qt/widgets/st/TrajectoryPropertiesWidget.cpp
22 
23  \brief A widget used to adjust a Trajectory layer's properties
24 */
25 
26 //Terralib
27 #include "../../../dataaccess.h"
28 #include "../../../datatype/Property.h"
30 #include "ui_TrajectoryPropertiesWidgetForm.h"
31 
32 //QT
33 #include <QWidget>
34 
36  : QWidget(parent, f),
37  m_ui(new Ui::TrajectoryPropertiesWidgetForm)
38 {
39  m_ui->setupUi(this);
40 }
41 
43  default;
44 
45 Ui::TrajectoryPropertiesWidgetForm* te::qt::widgets::TrajectoryPropertiesWidget::getForm()
46 {
47  return m_ui.get();
48 }
49 
51 {
52  if(m_dataType)
53  return static_cast<int>(m_dataType->getPropertyPosition(m_ui->m_idComboBox->currentText().toUtf8().data()));
54  else
55  return -1;
56 }
57 
59 {
60  return m_ui->m_geometryComboBox->currentText().toUtf8().data();
61 }
62 
64 {
65  QString item;
66  m_dataType = dataType;
67 
68  const std::vector<te::dt::Property*>& properties = dataType->getProperties();
69 
70  for (std::size_t i = 0; i < properties.size(); i++)
71  {
72  if(properties.at(i)->getType() == te::dt::GEOMETRY_TYPE)
73  {
74  item = QString::fromUtf8(properties.at(i)->getName().c_str());
75  m_ui->m_geometryComboBox->addItem(item);
76  }
77  else if(properties.at(i)->getType() != te::dt::DATETIME_TYPE)
78  {
79  item = QString::fromUtf8(properties.at(i)->getName().c_str());
80  m_ui->m_idComboBox->addItem(item);
81  }
82  }
83 }
84 
85 void
87  QString /*text*/)
88 {
89 
90 }
boost::shared_ptr< DataSetType > DataSetTypePtr
Definition: DataSetType.h:653
te::da::DataSetTypePtr m_dataType
The datasetType that will be used to generate the spatio-temporal layer.
Ui::TrajectoryPropertiesWidgetForm * getForm()
Returns a pointer to the widget&#39;s form.
std::unique_ptr< Ui::TrajectoryPropertiesWidgetForm > m_ui
The widget&#39;s form.
void setUp(const te::da::DataSetTypePtr dataType)
Adjusts the widget&#39;s components based on the given datasettype.
TrajectoryPropertiesWidget(QWidget *parent=0, Qt::WindowFlags f=0)
Constructor.
A widget used to adjust a Trajectory layer&#39;s properties.
std::string getGeometryId()
Returns the name of the property that holds the temporal property geometry.
int getId()
Returns the index of the temporal property id.