view_solution.cpp 1017 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "qt/view_solution.hpp"
  2. QtViewSolution::QtViewSolution(Kernel* _kernel):QWidget(){
  3. kernel=_kernel;
  4. main_layout=new QVBoxLayout;
  5. time_bar=new QScrollBar(Qt::Horizontal);
  6. solution_geometry=new QtViewSolutionGeometry(_kernel);
  7. info_widget=new QWidget;
  8. info_layout=new QGridLayout;
  9. time_label=new QLabel;
  10. time_bar->setMinimum(0);
  11. time_bar->setMaximum(Time::nT);
  12. info_layout->addWidget(time_label);
  13. info_widget->setLayout(info_layout);
  14. main_layout->addWidget(solution_geometry,1);
  15. main_layout->addWidget(time_bar);
  16. main_layout->addWidget(info_widget);
  17. setLayout(main_layout);
  18. step=0;
  19. update();
  20. connect(time_bar,&QScrollBar::valueChanged,this,&QtViewSolution::time_change);
  21. }
  22. QtViewSolution::~QtViewSolution(){
  23. }
  24. void
  25. QtViewSolution::update(){
  26. update_infos();
  27. solution_geometry->draw(step);
  28. }
  29. void
  30. QtViewSolution::update_infos(){
  31. time_label->setText("Time : "+QString::number(step*Time::dT));
  32. }
  33. void
  34. QtViewSolution::time_change(int val){
  35. step=val;
  36. update();
  37. }