GradientMenu.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef GRADIENTMENU_H
  2. #define GRADIENTMENU_H
  3. #include <QWidget>
  4. #include <QVector>
  5. #include <QPair>
  6. #include <QFile>
  7. #include "Gradient.h"
  8. namespace Ui {
  9. class GradientMenu;
  10. }
  11. class MinHeightWrapperWidget :
  12. public QWidget
  13. {
  14. Q_OBJECT
  15. int minHeight;
  16. QWidget* widget;
  17. public:
  18. MinHeightWrapperWidget(QWidget* contains, QWidget* parent);
  19. QSize minimumSizeHint(void) const override;
  20. QSize sizeHint(void) const override;
  21. };
  22. class GradientMenu : public QWidget
  23. {
  24. Q_OBJECT
  25. Ui::GradientMenu *ui;
  26. Gradient before;
  27. static const QString presetNames[];
  28. public:
  29. explicit GradientMenu(QWidget *parent = nullptr);
  30. ~GradientMenu(void);
  31. const Gradient& getGradient(void);
  32. const Gradient& getGradientBefore(void) const;
  33. void setGradient(Gradient grad);
  34. void loadGradient(QFile& file);
  35. signals:
  36. void gradientChanged(void);
  37. private slots:
  38. void onGradientChanged(void);
  39. void on_removeBtn_clicked();
  40. void on_presetCmb_currentIndexChanged(int index);
  41. void on_saveBtn_clicked();
  42. void on_loadBtn_clicked();
  43. void on_maxValSpb_valueChanged(double maxVal);
  44. void on_zoomOutBtn_clicked();
  45. void on_zoomInBtn_clicked();
  46. void on_zoomResetBtn_clicked();
  47. };
  48. #endif // GRADIENTMENU_H