select_frame_dialog.h
Go to the documentation of this file.
1 // *****************************************************************************
2 //
3 // Copyright (c) 2014, Southwest Research Institute® (SwRI®)
4 // All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of Southwest Research Institute® (SwRI®) nor the
14 // names of its contributors may be used to endorse or promote products
15 // derived from this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 // ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 //
28 // *****************************************************************************
29 #ifndef MAPVIZ_SELECT_FRAME_DIALOG_H_
30 #define MAPVIZ_SELECT_FRAME_DIALOG_H_
31 
32 #include <string>
33 #include <vector>
34 
35 #include <boost/shared_ptr.hpp>
36 
37 #include <QDialog>
38 
39 QT_BEGIN_NAMESPACE
40 class QLineEdit;
41 class QListWidget;
42 class QPushButton;
43 QT_END_NAMESPACE
44 
45 namespace tf {
46 class TransformListener;
47 } // namespace tf
48 
49 namespace mapviz
50 {
56 class SelectFrameDialog : public QDialog
57 {
58  Q_OBJECT;
59 
60  public:
67  static std::string selectFrame(
69  QWidget *parent=0);
70 
77  static std::vector<std::string> selectFrames(
79  QWidget *parent=0);
80 
85  QWidget *parent=0);
86 
91  void allowMultipleFrames(bool allow);
92 
99  std::string selectedFrame() const;
104  std::vector<std::string> selectedFrames() const;
105 
106  private:
107  void timerEvent(QTimerEvent *);
108  void closeEvent(QCloseEvent *);
109 
110  std::vector<std::string> filterFrames(
111  const std::vector<std::string> &) const;
112 
113  private Q_SLOTS:
114  void fetchFrames();
115  void updateDisplayedFrames();
116 
117  private:
119  std::vector<std::string> known_frames_;
120  std::vector<std::string> displayed_frames_;
122 
123  QPushButton *ok_button_;
124  QPushButton *cancel_button_;
125  QListWidget *list_widget_;
126  QLineEdit *name_filter_;
127 }; // class SelectFrameDialog
128 } // namespace mapviz
129 #endif // MAPVIZ_SELECT_FRAME_DIALOG_H_
mapviz
Definition: color_button.h:36
mapviz::SelectFrameDialog::selectedFrames
std::vector< std::string > selectedFrames() const
Definition: select_frame_dialog.cpp:149
boost::shared_ptr< tf::TransformListener >
mapviz::SelectFrameDialog::updateDisplayedFrames
void updateDisplayedFrames()
Definition: select_frame_dialog.cpp:200
mapviz::SelectFrameDialog::list_widget_
QListWidget * list_widget_
Definition: select_frame_dialog.h:125
mapviz::SelectFrameDialog::cancel_button_
QPushButton * cancel_button_
Definition: select_frame_dialog.h:124
mapviz::SelectFrameDialog::allowMultipleFrames
void allowMultipleFrames(bool allow)
Definition: select_frame_dialog.cpp:129
mapviz::SelectFrameDialog::selectFrame
static std::string selectFrame(boost::shared_ptr< tf::TransformListener > tf_listener, QWidget *parent=0)
Definition: select_frame_dialog.cpp:46
mapviz::SelectFrameDialog::filterFrames
std::vector< std::string > filterFrames(const std::vector< std::string > &) const
Definition: select_frame_dialog.cpp:181
mapviz::SelectFrameDialog
Definition: select_frame_dialog.h:56
mapviz::SelectFrameDialog::known_frames_
std::vector< std::string > known_frames_
Definition: select_frame_dialog.h:119
mapviz::SelectFrameDialog::closeEvent
void closeEvent(QCloseEvent *)
Definition: select_frame_dialog.cpp:122
mapviz::SelectFrameDialog::fetchFrames
void fetchFrames()
Definition: select_frame_dialog.cpp:171
mapviz::SelectFrameDialog::ok_button_
QPushButton * ok_button_
Definition: select_frame_dialog.h:123
mapviz::SelectFrameDialog::timerEvent
void timerEvent(QTimerEvent *)
Definition: select_frame_dialog.cpp:115
mapviz::SelectFrameDialog::name_filter_
QLineEdit * name_filter_
Definition: select_frame_dialog.h:126
mapviz::SelectFrameDialog::fetch_frames_timer_id_
int fetch_frames_timer_id_
Definition: select_frame_dialog.h:121
mapviz::SelectFrameDialog::displayed_frames_
std::vector< std::string > displayed_frames_
Definition: select_frame_dialog.h:120
mapviz::SelectFrameDialog::SelectFrameDialog
SelectFrameDialog(boost::shared_ptr< tf::TransformListener > tf_listener, QWidget *parent=0)
Definition: select_frame_dialog.cpp:72
mapviz::SelectFrameDialog::selectedFrame
std::string selectedFrame() const
Definition: select_frame_dialog.cpp:139
tf
mapviz::SelectFrameDialog::selectFrames
static std::vector< std::string > selectFrames(boost::shared_ptr< tf::TransformListener > tf_listener, QWidget *parent=0)
Definition: select_frame_dialog.cpp:59
mapviz::SelectFrameDialog::tf_
boost::shared_ptr< tf::TransformListener > tf_
Definition: select_frame_dialog.h:118


mapviz
Author(s): Marc Alban
autogenerated on Sun Sep 8 2024 02:27:09