Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef RTABMAP_PROGRESSDIALOG_H_
00029 #define RTABMAP_PROGRESSDIALOG_H_
00030
00031 #include "rtabmap/gui/RtabmapGuiExp.h"
00032
00033 #include <QDialog>
00034
00035 class QLabel;
00036 class QTextEdit;
00037 class QProgressBar;
00038 class QPushButton;
00039 class QCheckBox;
00040
00041 namespace rtabmap {
00042
00043 class RTABMAPGUI_EXP ProgressDialog : public QDialog
00044 {
00045 Q_OBJECT
00046
00047 public:
00048 ProgressDialog(QWidget *parent = 0, Qt::WindowFlags flags = 0);
00049 virtual ~ProgressDialog();
00050
00051 void setEndMessage(const QString & message) {_endMessage = message;}
00052 void setValue(int value);
00053 int maximumSteps() const;
00054 void setMaximumSteps(int steps);
00055 void setAutoClose(bool on, int delayedClosingTimeMsec = -1);
00056 void setCancelButtonVisible(bool visible);
00057 bool isCanceled() const {return _canceled;}
00058
00059 Q_SIGNALS:
00060 void canceled();
00061
00062 protected:
00063 virtual void closeEvent(QCloseEvent * event);
00064
00065 public Q_SLOTS:
00066 void appendText(const QString & text ,const QColor & color = Qt::black);
00067 void incrementStep(int steps = 1);
00068 void clear();
00069 void resetProgress();
00070
00071 private Q_SLOTS:
00072 void closeDialog();
00073 void cancel();
00074
00075 private:
00076 QLabel * _text;
00077 QTextEdit * _detailedText;
00078 QProgressBar * _progressBar;
00079 QPushButton * _closeButton;
00080 QPushButton * _cancelButton;
00081 QCheckBox * _closeWhenDoneCheckBox;
00082 QString _endMessage;
00083 int _delayedClosingTime;
00084 bool _canceled;
00085 };
00086
00087 }
00088
00089 #endif