cloud.hpp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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 "qt/input/data.hpp"
  12. class QtInputCloud:public QFrame{
  13. Q_OBJECT
  14. private:
  15. QtInputData* data;
  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(QtInputData* data,Cloud* cloud=nullptr);
  57. ~QtInputCloud();
  58. QWidget* validate();
  59. void setCloud();
  60. void getCloud();
  61. public slots:
  62. void emitRemove();
  63. signals:
  64. void remove(QtInputCloud* input_cloud);
  65. };
  66. inline
  67. QtInputCloud::~QtInputCloud(){
  68. delete double_validator;
  69. delete double_amplitude_validator;
  70. }
  71. inline void
  72. QtInputCloud::emitRemove(){
  73. emit remove(this);
  74. }
  75. #endif