WMSGetFeatureInfoMaker.h
Go to the documentation of this file.
1 /* Copyright (C) 2017 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/ws/ogc/wms/qt/WMSGetFeatureInfoMaker.h
22 
23  \brief WMSGetFeatureInfoMaker is a WMS implementation of AbstractFeatureInfoMaker
24  that could be used to fill a QTreeWidgetItem with GetFeatureInfo WMS operation based information.
25 */
26 
27 
28 #ifndef __TERRALIB_WS_OGC_WMS_QT_WMSGETFEATUREINFOMAKER_H
29 #define __TERRALIB_WS_OGC_WMS_QT_WMSGETFEATUREINFOMAKER_H
30 
31 #include "Config.h"
32 #include "../../../../maptools/AbstractLayer.h"
33 #include "../../../../qt/widgets/layer/info/AbstractFeatureInfoMaker.h"
34 
35 // Qt
36 #include <QTreeWidgetItem>
37 
38 namespace te
39 {
40  namespace da
41  {
42  class DataSet;
43  }
44 
45  namespace gm
46  {
47  class Envelope;
48  }
49 
50  namespace qt
51  {
52  namespace widgets
53  {
54  //Foward declaration
55  class MapDisplay;
56  }
57  }
58 
59  namespace ws
60  {
61  namespace ogc
62  {
63  namespace wms
64  {
65  namespace qt
66  {
67 
69  {
70 
71  public:
72 
74 
75  virtual ~WMSGetFeatureInfoMaker();
76 
77  /*!
78  * \brief This function is an implementation to get feature information.
79  * The information based on WMS GetFeatureInfo of the layer will be embedded in QTreeWidgetItem.
80  *
81  * \param layerItem QTreeWidgetItem that will be populated.
82  * \param display MapDisplay that will be passed by Info tool.
83  * \param layer AbstractLayerPtr to retrieve the feature information.
84  * \param e Envelope with the box based on user's click.
85  */
86  void getInfo(QTreeWidgetItem* layerItem, te::qt::widgets::MapDisplay* display, const te::map::AbstractLayerPtr& layer, const te::gm::Envelope& e);
87 
88  };
89 
90  }
91  }
92  }
93  }
94 }
95 
96 #endif // __TERRALIB_WS_OGC_WMS_QT_WMSGETFEATUREINFOMAKER_H
A widget to control the display of a set of layers.
Definition: MapDisplay.h:71
An Envelope defines a 2D rectangular region.
Definition: Envelope.h:51
URI C++ Library.
Configuration flags for the TerraLib WMS QT module.
#define TEOGCWMSQTEXPORT
Definition: Config.h:66
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr