AlmondMenuWidget.h 884 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef ALMONDMENUWIDGET_H
  2. #define ALMONDMENUWIDGET_H
  3. #include <QWidget>
  4. #include <QList>
  5. #include <QStackedWidget>
  6. #include <QPushButton>
  7. class AlmondMenuWidget : public QWidget
  8. {
  9. Q_OBJECT
  10. QWidget* mainMenu;
  11. QWidget* rightWidget;
  12. QPushButton* rightOK;
  13. QPushButton* rightCancel;
  14. QStackedWidget* subMenuContainer;
  15. QList<QWidget*> subMenus;
  16. public:
  17. AlmondMenuWidget(QWidget* parent = nullptr);
  18. void setMainMenu(QWidget* mainMenu);
  19. void addSubMenu(QWidget* subMenu);
  20. virtual QSize sizeHint(void) const override;
  21. virtual QSize minimumSizeHint(void) const override;
  22. protected slots:
  23. void clickedRightOK(void);
  24. void clickedRightCancel(void);
  25. public slots:
  26. void showMainMenu(void);
  27. void showSubMenu(int index);
  28. signals:
  29. void submenuOK(int index);
  30. void submenuCancel(int index);
  31. };
  32. #endif // ALMONDMENUWIDGET_H