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_
boost::shared_ptr< tf::TransformListener > tf_
std::vector< std::string > displayed_frames_
std::vector< std::string > known_frames_


mapviz
Author(s): Marc Alban
autogenerated on Fri Dec 16 2022 03:59:30