Loading...
Searching...
No Matches
AbstractFeatureInfoMaker.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/qt/widgets/layer/info/AbstractFeatureInfoMaker.h
22
23 \brief AbstractFeatureInfoMaker is an abstraction to construct a QTreeWidgetItem to be
24 used on Info tool screen based on TerraLib layers types.
25*/
26
27#ifndef __TERRALIB_QT_WIDGETS_LAYER_INTERNAL_ABSTRACTFEATUREINFOMAKER_H
28#define __TERRALIB_QT_WIDGETS_LAYER_INTERNAL_ABSTRACTFEATUREINFOMAKER_H
29
30#include "../../Config.h"
31#include "../../../../maptools/AbstractLayer.h"
32
33// Qt
34#include <QTreeWidgetItem>
35
36namespace te
37{
38 namespace gm
39 {
40 class Envelope;
41 }
42
43 namespace map
44 {
45 class MapDisplay;
46 }
47
48 namespace qt
49 {
50 namespace widgets
51 {
52 // Forward declarations
53 class MapDisplay;
54
56 {
57 public:
58
59 /*! \brief Constructor */
61
62 /*! \brief Destructor. */
64
65 public:
66
67 /*!
68 * \brief This function is an abstraction to get feature information.
69 * The information retrieved must be embedded in QTreeWidgetItem.
70 *
71 * \param layerItem QTreeWidgetItem that will be populated.
72 * \param display MapDisplay that will be passed by Info tool.
73 * \param layer AbstractLayerPtr to retrieve the feature information.
74 * \param e Envelope with the box based on user's click.
75 */
76 virtual void getInfo(QTreeWidgetItem* layerItem, MapDisplay* display, const te::map::AbstractLayerPtr& layer, const te::gm::Envelope& e) = 0;
77 };
78 }
79 }
80}
81
82#endif // __TERRALIB_QT_WIDGETS_LAYER_INTERNAL_ABSTRACTFEATUREINFOMAKER_H
An Envelope defines a 2D rectangular region.
Definition: Envelope.h:52
virtual ~AbstractFeatureInfoMaker()
Destructor.
virtual void getInfo(QTreeWidgetItem *layerItem, MapDisplay *display, const te::map::AbstractLayerPtr &layer, const te::gm::Envelope &e)=0
This function is an abstraction to get feature information. The information retrieved must be embedde...
A widget to control the display of a set of layers.
Definition: MapDisplay.h:72
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
TerraLib.
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63