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
00029
00030
00031
00032 #ifndef PARAMETERSTOOLBOX_H_
00033 #define PARAMETERSTOOLBOX_H_
00034
00035 #include <rtabmap/core/Parameters.h>
00036 #include <QWidget>
00037 #include <QSet>
00038
00039 class QVBoxLayout;
00040 class QStackedWidget;
00041 class QComboBox;
00042
00043 namespace rtabmap {
00044
00045 class ParametersToolBox: public QWidget
00046 {
00047 Q_OBJECT
00048
00049 public:
00050 ParametersToolBox(QWidget *parent = 0);
00051 virtual ~ParametersToolBox();
00052
00053 void setupUi(const QSet<QString> & ignoredGroups);
00054 QWidget * getParameterWidget(const QString & key);
00055 void updateParameter(const std::string & key, const std::string & value);
00056 const ParametersMap & getParameters() const {return parameters_;}
00057
00058 private:
00059 void addParameter(QVBoxLayout * layout, const std::string & key, const std::string & value);
00060 void addParameter(QVBoxLayout * layout, const QString & key, const QString & value);
00061 void addParameter(QVBoxLayout * layout, const QString & key, const int & value);
00062 void addParameter(QVBoxLayout * layout, const QString & key, const double & value);
00063 void addParameter(QVBoxLayout * layout, const QString & key, const bool & value);
00064 void addParameter(QVBoxLayout * layout, const QString & name, QWidget * widget);
00065
00066 Q_SIGNALS:
00067 void parametersChanged(const QStringList & name);
00068
00069 private Q_SLOTS:
00070 void changeParameter();
00071 void changeParameter(const QString & value);
00072 void changeParameter(const int & value);
00073 void resetCurrentPage();
00074 void resetAllPages();
00075
00076 private:
00077 QStringList resetPage(int index);
00078 void updateParametersVisibility();
00079
00080 private:
00081 QComboBox * comboBox_;
00082 QStackedWidget * stackedWidget_;
00083 ParametersMap parameters_;
00084 QSet<QString> ignoredGroups_;
00085 };
00086
00087 }
00088
00089 #endif