SliderPropertiesDialog.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/slider/SliderPropertiesWidget.h
22 
23  \brief A widget used to alow the user to control the visualization of temporal data
24 */
25 
26 #ifndef __TERRALIB_QT_WIDGETS_INTERNAL_SLIDERPROPERTIESDIALOG_H
27 #define __TERRALIB_QT_WIDGETS_INTERNAL_SLIDERPROPERTIESDIALOG_H
28 
29 //TerraLib
30 #include "../Config.h"
31 #ifndef Q_MOC_RUN
32 #include "TrajectoryItem.h"
33 #endif
34 
35 // Qt
36 #include <QDialog>
37 
38 //STL
39 #include <memory>
40 #include <vector>
41 
42 namespace Ui { class SliderPropertiesDialogForm; }
43 
44 namespace te
45 {
46  namespace dt { class TimePeriod; }
47 
48  namespace qt
49  {
50  namespace widgets
51  {
52 
53  class TimeSliderWidget;
54 
55  /*!
56  \class SliderPropertiesDialog
57 
58  \brief A dialog used to configure the behaviour of the SliderSliderWidget.
59  */
61  {
62  Q_OBJECT
63 
64  friend class TimeSliderWidget;
65 
66  public:
67 
68  /*!
69  \brief Constructor
70 
71  It constructs a Slider Slider Dialog
72  */
73  SliderPropertiesDialog(QWidget* parent, Qt::WindowFlags f = 0);
74 
75  /*!
76  \brief Destructor
77 
78  It destructs a Slider Slider Dialog
79  */
81 
82  /*!
83  \brief It initialize a property animation dialog
84  */
85  void populateUi();
86 
87  /*!
88  \brief It returns a boolean that indicates if animation is going forward or backward
89 
90  \return A boolean that indicates if animation is going forward or backward
91  */
92  bool isForwardChecked();
93 
94  /*!
95  \brief It returns a boolean that indicates if the time slider animation
96  is supposed to be displayed looping or not.
97 
98  \return A boolean that indicates if the animation is supposed to be displayed on a loop.
99  */
100  bool isLoopChecked();
101 
102  /*!
103  \brief It returns a boolean that indicates if the time slider animation
104  is to reverse it's direction on ce a loop is finished.
105 
106  \return A boolean that indicates if the animation is supposed to have it's direction reversed.
107  */
108  bool isGoBackChecked();
109 
110  /*!
111  \brief It gets the initial time as QDateTime.
112 
113  \return The initial time.
114  */
115  QDateTime getInitialQDate();
116 
117  /*!
118  \brief It gets the final time as QDateTime.
119 
120  \return The final time.
121  */
122  QDateTime getFinalQDate();
123 
124  /*!
125  \brief It gets the initial time.
126 
127  \return The initial time.
128  */
129  te::dt::TimeInstant getInitialTime();
130 
131  /*!
132  \brief It gets the final time.
133 
134  \return The final time.
135  */
136  te::dt::TimeInstant getFinalTime();
137 
138  protected slots:
139 
140  //void onOkPushButtonClicked();
141  void onHelpPushButtonClicked();
142 
143  /*!
144  \brief AutoPan radio button clicked.
145 
146  \param b True if the button is checked, or false if the button is unchecked
147  */
148  //void onAutoPanCheckBoxClicked(bool b);
149 
150  /*!
151  \brief Draw track radio button clicked.
152 
153  \param b True if the button is checked, or false if the button is unchecked
154  */
155  void onDrawTrackCheckBoxClicked(bool b);
156 
157  /*!
158  \brief It takes the necessary steps after changing the duration.
159  \param v Value of opacity (0 - 255).
160  */
161  //void onOpacityValueChanged(int v);
162 
163  /*!
164  \brief Trajectory color combo box activated.
165 
166  \param i The index of combo box.
167  */
168  //void onTrajectoryColorComboBoxActivated(int i);
169 
170  /*!
171  \brief Opacity combo box activated.
172 
173  \param i The index of combo box.
174  */
175  //void onOpacityComboBoxActivated(int i);
176 
177  /*!
178  \brief Reset initial time button clicked.
179  */
180  //void onResetInitialTimePushButtonClicked();
181 
182 
183  /*!
184  \brief Reset final time button clicked.
185  */
186  //void onResetFinalTimePushButtonClicked();
187 
188  private:
189 
190  std::auto_ptr<Ui::SliderPropertiesDialogForm> m_ui; //!< The widget form.
191  TimeSliderWidget* m_tsw; //!< The Timer Slider Widget pointer
192  //te::dt::TimePeriod m_temporalExtent; //!< The temporal extent.
193  //QList<QGraphicsItem*> m_trajectories; //!< The trajectory items
194  };
195  } // end namespace widgets
196  } // end namespace qt
197 } // end namespace te
198 
199 #endif // __TERRALIB_QT_WIDGETS_INTERNAL_SLIDERPROPERTIESDIALOG_H
std::auto_ptr< Ui::SliderPropertiesDialogForm > m_ui
It takes the necessary steps after changing the duration.
TimeSliderWidget * m_tsw
The Timer Slider Widget pointer.
A class to represent time instant.
Definition: TimeInstant.h:55
URI C++ Library.
This file defines a class for a Trajectory Item.
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63
A dialog used to configure the behaviour of the SliderSliderWidget.
A wdiget used to control the visualization of temporal data.