ScatterStyle.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/scatterStyle.h
22 
23  \brief A class used to define the style of a scatter's chart
24 */
25 
26 #ifndef __TERRALIB_QT_WIDGETS_INTERNAL_SCATTERSTYLE_H
27 #define __TERRALIB_QT_WIDGETS_INTERNAL_SCATTERSTYLE_H
28 
29 //TerraLib
30 #include "../Config.h"
31 
32 class QwtSymbol;
33 
34 namespace te
35 {
36  // Forward declarations
37  namespace se
38  {
39  class Fill;
40  class Graphic;
41  class Mark;
42  class Stroke;
43  }
44 
45  namespace qt
46  {
47  namespace widgets
48  {
50  {
51  public:
52 
53 
54  /*!
55  \brief Constructor
56  */
57  ScatterStyle ();
58 
59  /*!
60  \brief Constructor
61 
62  \param graphic The scatter's point graphic.
63  */
64  ScatterStyle (te::se::Graphic* graphic);
65 
66  /*!
67  \brief Destructor.
68  */
69  ~ScatterStyle();
70 
71  /*!
72  \brief Returns a pointer to a clone of this ScatterStyle.
73 
74  \return A ScatterStyle type clone of this ScatterStyle.
75  \note The caller will take ownership of the returned pointer.
76  */
77  ScatterStyle* clone();
78 
79  /*!
80  \brief Returns a pointer to the scatter's graphic
81 
82  \return A graphic type pointer to the scatter's point style.
83  \note The caller will not take ownership of the returned pointer.
84  */
85  te::se::Graphic* getGraphic();
86 
87  /*!
88  \brief It sets the he scatter's graphic
89 
90  \param newGraphic The new graphic.
91  \note It will take ownership of the given pointer
92  */
93  void setGraphic(te::se::Graphic* newGraphic);
94 
95  /*!
96  \brief Returns a copy of the pointer to the scatter's Mark
97 
98  \return A Mark type pointer to the scatter's point style.
99  \note The caller will not take ownership of the returned pointer.
100  */
101  te::se::Mark* getMark();
102 
103  /*!
104  \brief It sets the he scatter's mark
105 
106  \param newmark The new mark.
107  \note It will take ownership of the given pointer
108  */
109  void setMark(te::se::Mark* newMark);
110 
111  /*!
112  \brief Returns a copy of the pointer to the scatter point's fill
113 
114  \return A Fill type pointer to the scatter point's fill.
115  \note The caller will take ownership of the returned pointer.
116  \note Will return a null pointer if the scatter's point does not have a Fill (f.e. if it's using an external graphic)
117  */
118  te::se::Fill* getFill();
119 
120  /*!
121  \brief It sets the scatter point's fill
122 
123  \param newFill The new fill.
124  \note It will take ownership of the given pointer
125  \note The given pointer will not be used if the scatter's point is not currently represented by a Mark. The given pointer will simply be deleted.
126  */
127  void setFill(te::se::Fill* newFill);
128 
129  /*!
130  \brief Returns a copy of thepointer to the scatter point's stroke
131 
132  \return A Fill type pointer to the scatter point's stroke.
133  \note The caller will take ownership of the returned pointer.
134  \note Will return a null pointer if the scatter's point does not have a stroke (f.e. if it's using an external graphic)
135  */
136  te::se::Stroke* getStroke();
137 
138  /*!
139  \brief It sets the scatter point's stroke
140 
141  \param newFill The new stroke.
142  \note It will take ownership of the given pointer
143  \note The given pointer will not be used if the scatter's point is not currently represented by a Mark. The given pointer will simply be deleted.
144  */
145  void setStroke(te::se::Stroke* newStroke);
146 
147  /*!
148  \brief Returns a pointer to a QwtSymbol representing the current scatter's point style
149 
150  \return A QwtSymbol type pointer based on the current point's style.
151  \note The caller will take ownership of the returned pointer.
152  */
153  QwtSymbol* getSymbol();
154 
155  private:
156 
157  te::se::Graphic* m_graphic; //!< The graphic used to edit the symbol's style
158  };
159  } //end namespace widgets
160  } //end namespace qt
161 } // end namespace te
162 #endif // __TERRALIB_QT_WIDGETS_INTERNAL_SCATTERSTYLE_H
A Mark specifies a geometric shape and applies coloring to it.
Definition: Mark.h:84
A Graphic is a graphic symbol with an inherent shape, color(s), and possibly size.
Definition: Graphic.h:66
te::se::Graphic * m_graphic
The graphic used to edit the symbol's style.
Definition: ScatterStyle.h:157
URI C++ Library.
A Fill specifies the pattern for filling an area geometry.
Definition: Fill.h:59
A Stroke specifies the appearance of a linear geometry.
Definition: Stroke.h:67
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63