RuleProperty.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/se/RuleProperty.h
22 
23  \brief A widget used to define the rule properties, such as:
24  - scale
25  - description
26 */
27 
28 #ifndef __TERRALIB_QT_WIDGETS_SE_INTERNAL_RULEPROPERTY_H
29 #define __TERRALIB_QT_WIDGETS_SE_INTERNAL_RULEPROPERTY_H
30 
31 // TerraLib
32 #include "../Config.h"
33 
34 // Qt
35 #include <QWidget>
36 
37 
38 namespace te
39 {
40 // Forward declarations
41  namespace se
42  {
43  class Rule;
44  }
45 
46  namespace qt
47  {
48  namespace widgets
49  {
50  class ScalePropertyItem;
51 
52  /*!
53  \class RuleProperty
54 
55  \brief A widget used to define the rule properties, such as:
56  - scale
57  - description
58 
59  */
60 
61  class TEQTWIDGETSEXPORT RuleProperty : public QWidget
62  {
63  Q_OBJECT
64 
65  public:
66  /** @name Initializer Methods
67  * Methods related to instantiation and destruction.
68  */
69  //@{
70 
71  /*! \brief Constructor */
72  RuleProperty(QWidget* parent);
73 
74  /*! \brief Destructor. */
75  ~RuleProperty();
76 
77  //@}
78 
79  public:
80 
81  /*!
82  \brief Sets a polygon symbolizer element to this widget.
83 
84  \param symb A valid polygon symbolizer element.
85 
86  \note The widget will NOT take the ownership of the given symbolizer.
87  \note The widget form will be update based on given symbolizer parameters.
88  */
89  void setRule(te::se::Rule* rule);
90 
91  /*!
92  \brief Gets the configured polygon symbolizer element.
93 
94  \return The configured polygon symbolizer element.
95 
96  \note The caller will take the ownership of the returned symbolizer.
97  */
98  te::se::Rule* getRule() const;
99 
100  protected slots:
101 
102  void onScaleMinChanged();
103  void onScaleMaxChanged();
104 
105  signals:
106 
107  /*! This signal is emitted when the internalrule element is changed. */
108  void ruleChanged();
109 
110 
111  protected:
113 
114  te::se::Rule* m_rule; //!< Rule element that will be configured by this widget.
115  };
116  }
117  }
118 }
119 
120 #endif //__TERRALIB_QT_WIDGETS_SE_INTERNAL_RULEPROPERTY_H
te::qt::widgets::ScalePropertyItem * m_sp
Definition: RuleProperty.h:112
te::se::Rule * m_rule
Rule element that will be configured by this widget.
Definition: RuleProperty.h:114
URI C++ Library.
A widget used to define the rule properties, such as:
Definition: RuleProperty.h:61
A Rule is used to attach property/scale conditions to and group the individual symbols used for rende...
Definition: Rule.h:78
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63
A widget used to define the scale values.