40 lines
689 B
C++
40 lines
689 B
C++
#ifndef MENU_H
|
|
#define MENU_H
|
|
|
|
#include <QWidget>
|
|
#include "flatbutton.h"
|
|
|
|
class MenuItem : public FlatButton
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit MenuItem(QWidget *parent = 0);
|
|
explicit MenuItem(const QString &text, QWidget *parent = 0);
|
|
~MenuItem();
|
|
|
|
QSize sizeHint() const Q_DECL_OVERRIDE;
|
|
};
|
|
|
|
class Menu : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Menu(QWidget *parent = 0);
|
|
~Menu();
|
|
|
|
void addMenuItem(MenuItem *item);
|
|
void addMenuItem(const QString &text);
|
|
|
|
inline int itemCount() const { return m_items.count(); }
|
|
|
|
protected:
|
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
|
|
|
private:
|
|
QList<MenuItem *> m_items;
|
|
};
|
|
|
|
#endif // MENU_H
|