dialog_select_ros_topics.h
Go to the documentation of this file.
00001 #ifndef DIALOG_SELECT_ROS_TOPICS_H
00002 #define DIALOG_SELECT_ROS_TOPICS_H
00003 
00004 #include <QDialog>
00005 #include <QString>
00006 #include <QFile>
00007 #include <QStringList>
00008 #include <QCheckBox>
00009 #include <QShortcut>
00010 #include "PlotJuggler/optional.hpp"
00011 #include <ros_type_introspection/ros_introspection.hpp>
00012 
00013 namespace Ui {
00014 class dialogSelectRosTopics;
00015 }
00016 
00017 class DialogSelectRosTopics : public QDialog
00018 {
00019     Q_OBJECT
00020 
00021 public:
00022 
00023     struct Configuration
00024     {
00025         QStringList selected_topics;
00026         size_t max_array_size;
00027         bool use_header_stamp;
00028         bool use_renaming_rules;
00029         bool discard_large_arrays;
00030     };
00031 
00032     explicit DialogSelectRosTopics(const std::vector<std::pair<QString,QString>>& topic_list,
00033                                    const Configuration& default_info,
00034                                    QWidget *parent = nullptr);
00035 
00036     ~DialogSelectRosTopics() override;
00037 
00038     Configuration getResult() const;
00039 
00040 public slots:
00041 
00042     void updateTopicList(std::vector<std::pair<QString,QString>> topic_list);
00043 
00044 private slots:
00045 
00046     void on_buttonBox_accepted();
00047 
00048     void on_listRosTopics_itemSelectionChanged();
00049 
00050     void on_checkBoxEnableRules_toggled(bool checked);
00051 
00052     void on_pushButtonEditRules_pressed();
00053 
00054     void on_maximumSizeHelp_pressed();
00055 
00056     void on_lineEditFilter_textChanged(const QString &search_string);
00057 
00058     void on_spinBoxArraySize_valueChanged(int value);
00059 
00060 private:
00061 
00062     void closeEvent(QCloseEvent *event) override;
00063 
00064     QStringList _topic_list;
00065     QStringList _default_selected_topics;
00066 
00067     QShortcut _select_all;
00068     QShortcut _deselect_all;
00069 
00070     Ui::dialogSelectRosTopics *ui;
00071 
00072 };
00073 
00074 nonstd::optional<double>FlatContainerContainHeaderStamp(const RosIntrospection::FlatMessage& flat_msg);
00075 
00076 
00077 
00078 #endif // DIALOG_SELECT_ROS_TOPICS_H


plotjuggler
Author(s): Davide Faconti
autogenerated on Wed Jul 3 2019 19:28:04