metavis.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #pragma once
  2. #include <QtWidgets/QMainWindow>
  3. #include <QSettings>
  4. #include <vector>
  5. #include "ui_metavis.h"
  6. #include "RunData.h"
  7. #include "GraphView.h"
  8. #include "BitfieldControlPanel.h"
  9. #include "TsneControlPanel.h"
  10. #include "GraphPlott.h"
  11. #include "BitInspectorPanel.h"
  12. #include "Scratchpad.h"
  13. #include "tsneIteractive.h"
  14. #include "ProjectManager.h"
  15. class ProjectManager;
  16. /**
  17. * Main class of the GUI.
  18. */
  19. class metavis : public QMainWindow
  20. {
  21. Q_OBJECT
  22. public:
  23. metavis(QWidget *parent = Q_NULLPTR);
  24. ~metavis();
  25. GraphPlott* selectedBestAverageGraph;
  26. GraphPlott* selectedParticleGraph;
  27. GraphPlott* selectedMinMaxGraph;
  28. GraphPlott* selectedMeanHammingDistanceGraph;
  29. GraphPlott* selectedBestGraph;
  30. GraphPlott* multiBestGraph;
  31. GraphPlott* multiAvgGraph;
  32. GraphPlott* multiMinGraph;
  33. GraphPlott* multiMaxGraph;
  34. GraphPlott* multiMeanHammingDistanceGraph;
  35. GraphPlott* plottTest;
  36. BitfieldControlPanel* bitfieldPanel;
  37. BitInspectorPanel* inspectorPanel;
  38. Scratchpad* pad = new Scratchpad(this);
  39. tsneIteractive* tsneWidget;
  40. TsneControlPanel* tsnePanel;
  41. GraphView* bitField;
  42. enum dockOption{left, right, bottom, top, splitLeft, splitRight, splitBottom, splitTop, tab};
  43. void selectRunData(RunData* data);
  44. void selectSingleRun(SingleRun* run);
  45. void removeRunDataFromAllViews(RunData* data);
  46. private:
  47. Ui::metavisClass ui;
  48. QSettings* settings;
  49. ProjectManager* manager;
  50. //To Tab all
  51. QDockWidget* lastDocked;
  52. dockOption option;
  53. void dockWidget(QDockWidget* dock);
  54. private:
  55. /* Widget functions */
  56. GraphView* createCustomWidget(QString titleString, bool tabToLast = false);
  57. void createBitFieldV2();
  58. void createProjectManager();
  59. void createTSNE(QDockWidget* dockto);
  60. GraphPlott* initGraphPlott(QString title, QString YAxisLegend = "ObjectiveFunction", QString XAxisLegend = "Iteration");
  61. void initPlotter();
  62. void createBitInSpector();
  63. void createScratchpad(QDockWidget* dockto);
  64. /* Setting functions*/
  65. void writeActualMainWindowSettings();
  66. void readMainWindowSettings();
  67. public slots:
  68. /**
  69. * Opens the settingWindows Dialog.
  70. */
  71. void openSetting();
  72. /**
  73. * Open a logFile.
  74. */
  75. void openFile();
  76. void showStatusBarLoading();
  77. void showStatusBarMessage(QString message);
  78. void clearStatusBar();
  79. };