input_cloud.hpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef QT_INPUT_CLOUD_HPP
  2. #define QT_INPUT_CLOUD_HPP
  3. #include <QFrame>
  4. #include <QVBoxLayout>
  5. #include <QHBoxLayout>
  6. #include <QLabel>
  7. #include <QLineEdit>
  8. #include <QPushButton>
  9. #include <QGroupBox>
  10. #include <QDoubleValidator>
  11. #include "source.hpp"
  12. class QtInputCloud:public QFrame{
  13. Q_OBJECT
  14. private:
  15. Source* source;
  16. Cloud* cloud;
  17. QGroupBox* init_groupbox;
  18. QGroupBox* final_groupbox;
  19. QWidget* init_final_widget;
  20. QWidget* amplitude_init_widget;
  21. QWidget* left_right_init_widget;
  22. QWidget* amplitude_final_widget;
  23. QWidget* left_right_final_widget;
  24. QVBoxLayout* main_layout;
  25. QHBoxLayout* init_final_layout;
  26. QVBoxLayout* init_layout;
  27. QVBoxLayout* final_layout;
  28. QHBoxLayout* amplitude_init_layout;
  29. QHBoxLayout* left_right_init_layout;
  30. QHBoxLayout* amplitude_final_layout;
  31. QHBoxLayout* left_right_final_layout;
  32. QPushButton* remove_button;
  33. QLabel* amplitude_init_label;
  34. QLabel* left_init_label;
  35. QLabel* right_init_label;
  36. QLabel* delta_left_init_label;
  37. QLabel* delta_right_init_label;
  38. QLineEdit* amplitude_init_input;
  39. QLineEdit* left_init_input;
  40. QLineEdit* right_init_input;
  41. QLineEdit* delta_left_init_input;
  42. QLineEdit* delta_right_init_input;
  43. QLabel* amplitude_final_label;
  44. QLabel* left_final_label;
  45. QLabel* right_final_label;
  46. QLabel* delta_left_final_label;
  47. QLabel* delta_right_final_label;
  48. QLineEdit* amplitude_final_input;
  49. QLineEdit* left_final_input;
  50. QLineEdit* right_final_input;
  51. QLineEdit* delta_left_final_input;
  52. QLineEdit* delta_right_final_input;
  53. QDoubleValidator* double_validator;
  54. QDoubleValidator* double_amplitude_validator;
  55. public:
  56. QtInputCloud(Source*);
  57. ~QtInputCloud();
  58. QWidget* validate();
  59. public slots:
  60. void emitRemove();
  61. signals:
  62. void remove(QtInputCloud* input_cloud);
  63. };
  64. inline
  65. QtInputCloud::~QtInputCloud(){
  66. source->removeCloud(cloud);
  67. delete double_validator;
  68. delete double_amplitude_validator;
  69. }
  70. inline void
  71. QtInputCloud::emitRemove(){
  72. emit remove(this);
  73. }
  74. #endif