input.hpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef QT_INPUT_HPP
  2. #define QT_INPUT_HPP
  3. #include <QTabWidget>
  4. #include <QHBoxLayout>
  5. #include <QVBoxLayout>
  6. #include <QPushButton>
  7. #include <QMessageBox>
  8. #include <QFileDialog>
  9. #include <fstream>
  10. #include "input_physics.hpp"
  11. #include "input_time.hpp"
  12. #include "input_geometry.hpp"
  13. #include "input_initial_state.hpp"
  14. #include "input_sources.hpp"
  15. #include "input_view.hpp"
  16. #include "geometry.hpp"
  17. using namespace std;
  18. class QtInput:public QWidget{
  19. Q_OBJECT
  20. private:
  21. int previous_index;
  22. Geometry* geometry;
  23. QVBoxLayout* main_layout;
  24. QHBoxLayout* button_layout;
  25. QTabWidget* tab_widget;
  26. QWidget* button_widget;
  27. QPushButton* button_save;
  28. QPushButton* button_run;
  29. QPushButton* button_cancel;
  30. QtInputPhysics* input_physics;
  31. QtInputTime* input_time;
  32. QtInputGeometry* input_geometry;
  33. QtInputInitialState* input_initial_state;
  34. QtInputSources* input_sources;
  35. QtInputView* input_view;
  36. bool validate();
  37. void load(string filename);
  38. public:
  39. QtInput();
  40. QtInput(QString filename);
  41. ~QtInput();
  42. void save_input(string filename);
  43. signals:
  44. void run_signal();
  45. void exit_signal();
  46. private slots:
  47. void run();
  48. void save();
  49. void cancel();
  50. void changeTabIndex(int index);
  51. void updateGeometry();
  52. };
  53. #endif