TsneControlPanel.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include <QWidget>
  3. #include "TsnePlott.h"
  4. #include "RangeSlider.h"
  5. #include "ColorGradient.h"
  6. #include <QProgressBar>
  7. #include "TsneSettings.h"
  8. #include "tSneAlgo.h"
  9. #include <string>
  10. #include <vector>
  11. #include "RunData.h"
  12. class TsneControlPanel : public QWidget
  13. {
  14. Q_OBJECT
  15. public:
  16. TsneControlPanel(QWidget *parent);
  17. ~TsneControlPanel();
  18. TsnePlott* plott = new TsnePlott(this);
  19. void assignData(std::vector<SolutionPointData>::iterator begin, std::vector<SolutionPointData>::iterator end, QString runName);
  20. void clear();
  21. protected:
  22. RangeSlider* slider = new RangeSlider(this);
  23. ColorGradient* gradient = new ColorGradient(this);
  24. QProgressBar* progressBar = new QProgressBar();
  25. TsneSettings* tsneSettings = new TsneSettings(this);
  26. QLabel* iterationLabel = new QLabel();
  27. bool isOptionHidden = false;
  28. void toggleOptions();
  29. void resetPanel();
  30. private:
  31. QString runName;
  32. std::vector<SolutionPointData>::iterator begin, end;
  33. tSneAlgo* algo = nullptr;
  34. QPushButton* showOptionsButton;
  35. public slots:
  36. void start();
  37. void pause();
  38. void iterationChanged(int iter);
  39. signals:
  40. void started();
  41. void finished();
  42. };