TiePointLocatorDialog.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/rp/RasterNavigatorDialog.cpp
22 
23  \brief This file defines a class for a Raster Navigator Dialog.
24 */
25 
26 // TerraLib
27 #include "TiePointLocatorDialog.h"
28 #include "TiePointLocatorWidget.h"
29 #include "ui_TiePointLocatorWidgetForm.h"
30 
31 // Qt
32 #include <QGridLayout>
33 #include <QMessageBox>
34 
36  : QDialog(parent, f)
37 {
38 //build form
39  QGridLayout* layout = new QGridLayout(this);
41  layout->addWidget(m_widget.get(), 0, 0);
42  layout->setContentsMargins(0,0,0,0);
43 
44  connect(m_widget.get(), SIGNAL(doneAcquiredTiePoints()), this, SLOT(onDoneAcquiredTiePoints()));
45 
46  this->setWindowTitle(tr("Tie Points Locator"));
47 }
48 
50 
52 {
53  return m_widget.get();
54 }
55 
57 {
58  m_widget->setReferenceLayer(layer);
59 }
60 
62 {
63  m_widget->setAdjustLayer(layer);
64 }
65 
67 {
68  // checking other parameters
69  int srid;
70  double resx, resy;
71  m_widget->getOutputSRID(srid);
72  m_widget->getOutputResolution(resx, resy);
73 
74  if (srid <= 0)
75  {
76  QMessageBox::warning(this, tr("Warning"), tr("Output SRID not defined."));
77  return;
78  }
79 
80  if (resx <= 0.0 || resy <= 0.0)
81  {
82  QMessageBox::warning(this, tr("Warning"), tr("Invalid output resolution"));
83  return;
84  }
85 
86  this->hide();
87 }
88 
89 
std::unique_ptr< te::qt::widgets::TiePointLocatorWidget > m_widget
void setAdjustLayer(te::map::AbstractLayerPtr layer)
This method is used to set the selected layer used to be the adjust layer.
This class is used to define a widget for tie point acquirement.
This file has the TiePointLocatorWidget class.
TiePointLocatorDialog(QWidget *parent=0, Qt::WindowFlags f=0)
void setReferenceLayer(te::map::AbstractLayerPtr layer)
This method is used to set the selected layer used to be the reference layer.
te::qt::widgets::TiePointLocatorWidget * getWidget()
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr