1 #ifndef RQT_BAG_EXPORTER_MAINWINDOW_HPP 2 #define RQT_BAG_EXPORTER_MAINWINDOW_HPP 4 #include <QApplication> 6 #include <QDoubleSpinBox> 10 #include <QMainWindow> 12 #include <QMessageBox> 13 #include <QPushButton> 21 #include <rqt_bag_exporter/CloseBag.h> 22 #include <rqt_bag_exporter/EstimateVideoFps.h> 23 #include <rqt_bag_exporter/ExportToCSVAction.h> 24 #include <rqt_bag_exporter/ExportToVideoAction.h> 25 #include <rqt_bag_exporter/GetDuration.h> 26 #include <rqt_bag_exporter/ListTopics.h> 27 #include <rqt_bag_exporter/OpenBag.h> 42 const QMessageBox::Icon);
53 const QString message,
54 const QString info_msg =
"",
55 const QMessageBox::Icon icon = QMessageBox::Icon::Information);
66 const rqt_bag_exporter::ExportToCSVResultConstPtr &result);
67 void csvFeedbackCb(
const rqt_bag_exporter::ExportToCSVFeedbackConstPtr &feedback);
69 const rqt_bag_exporter::ExportToVideoResultConstPtr &result);
70 void videoFeedbackCb(
const rqt_bag_exporter::ExportToVideoFeedbackConstPtr &feedback);
81 std::unique_ptr<ExportToCSVActionClient>
csv_ac_;
82 std::unique_ptr<ExportToVideoActionClient>
video_ac_;
actionlib::SimpleActionClient< rqt_bag_exporter::ExportToVideoAction > ExportToVideoActionClient
void fillTopicsToExport()
void csvDoneCb(const actionlib::SimpleClientGoalState &state, const rqt_bag_exporter::ExportToCSVResultConstPtr &result)
void closeEvent(QCloseEvent *event)
void updateTimeBegin(const double time_end)
bool isCompressedImageTopic(const std::string topic_type)
void displayMessageBoxHandler(const QString title, const QString message, const QString info_msg="", const QMessageBox::Icon icon=QMessageBox::Icon::Information)
void videoDoneCb(const actionlib::SimpleClientGoalState &state, const rqt_bag_exporter::ExportToVideoResultConstPtr &result)
QDoubleSpinBox * time_begin_
void fillVideoTab(const std::string topic_name)
rqt_bag_exporter::ListTopicsResponse topics_to_export_
QDoubleSpinBox * time_end_
rqt_bag_exporter::ListTopicsResponse topics_list_
std::shared_ptr< ProgressDialog > progress_dialog_
QWidget * topics_container_
MainWindow(QWidget *parent=0)
void csvFeedbackCb(const rqt_bag_exporter::ExportToCSVFeedbackConstPtr &feedback)
actionlib::SimpleActionClient< rqt_bag_exporter::ExportToCSVAction > ExportToCSVActionClient
QWidget * start_end_time_
bool isCsvWritableTopic(const std::string topic_type)
void updateTimeEnd(const double time_begin)
std::unique_ptr< ExportToCSVActionClient > csv_ac_
void displayMessageBox(const QString, const QString, const QString, const QMessageBox::Icon)
void updateFps(const int fps)
void videoFeedbackCb(const rqt_bag_exporter::ExportToVideoFeedbackConstPtr &feedback)
void listTopicsInBagFile()
std::unique_ptr< ExportToVideoActionClient > video_ac_