ChartWidget.h
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/charts/ChartWidget.h
22 
23  \brief A base widget to be used on the chart settings.
24 */
25 
26 #ifndef __TERRALIB_QT_WIDGETS_INTERNAL_CHARTWIDGET_H
27 #define __TERRALIB_QT_WIDGETS_INTERNAL_CHARTWIDGET_H
28 
29 // QT
30 #include <QWidget>
31 
32 // TerraLib
33 #include "../Config.h"
34 
35 class QwtPlotSeriesItem;
36 
37 namespace te
38 {
39  namespace qt
40  {
41  namespace widgets
42  {
43  //forward declarations
44  class ChartDisplay;
45  /*!
46  \class ChartWidget
47 
48  \brief A base widget for settings.
49  */
50  class TEQTWIDGETSEXPORT ChartWidget : public QWidget
51  {
52  public:
53 
54  /*!
55  \brief Constructor
56 
57  \param parent this widget's parent
58  */
59  ChartWidget(QWidget* parent = 0);
60 
61  /*!
62  \brief Destructor.
63  */
64  ~ChartWidget();
65 
66  /*!
67  \brief Returns a pointer to the chart being configured
68 
69  \return A QwtPlotSeriesItem type pointer to the chart being configured
70  \note The caller will take ownership of the returned pointer.
71  */
72  virtual QwtPlotSeriesItem* getChart();
73 
74  /*!
75  \brief Returns a pointer to the display being configured
76 
77  \return A ChartDisplay type pointer to the display being configured
78  \note The caller will take ownership of the returned pointer.
79  */
80  virtual te::qt::widgets::ChartDisplay* getDisplay();
81 
82  /*!
83  \brief It sets the chart being configured
84 
85  \param newChart The new QwtPlotSeriesItem.
86  \note It will not take ownership of the given pointer
87  */
88  virtual void setChart(QwtPlotSeriesItem* newChart);
89 
90  /*!
91  \brief It sets the ChartDisplay being configured
92 
93  \param newDisplay The new ChartDisplay.
94  \note It will not take ownership of the given pointer
95  */
96  virtual void setDisplay(te::qt::widgets::ChartDisplay* newDisplay);
97 
98  public:
99 
100  std::string m_label; //!< The chart's Label.
101  QwtPlotSeriesItem* m_chart; //!< The chart that will be configured by this widget.
102  ChartDisplay* m_display; //!< The display that will be configured by this widget.
103  };
104  } // end namespace widgets
105  } // end namespace qt
106 } // end namespace te
107 
108 #endif // __TERRALIB_QT_WIDGETS_INTERNAL_CHARTWIDGET_H
QwtPlotSeriesItem * m_chart
The chart that will be configured by this widget.
Definition: ChartWidget.h:101
std::string m_label
The chart's Label.
Definition: ChartWidget.h:100
URI C++ Library.
A class to represent a chart display.
Definition: ChartDisplay.h:65
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63
A base widget for settings.
Definition: ChartWidget.h:50
ChartDisplay * m_display
The display that will be configured by this widget.
Definition: ChartWidget.h:102