comac_desk_app/ThirdpartyLibs/Libs/windows-x86_64/ElaWidgetTools/include/ElaMenu.h

41 lines
1.1 KiB
C++

#ifndef ELAMENU_H
#define ELAMENU_H
#include <QMenu>
#include <QWidget>
#include "Def.h"
#include "stdafx.h"
class ElaMenuPrivate;
class ELA_EXPORT ElaMenu : public QMenu
{
Q_OBJECT
Q_Q_CREATE(ElaMenu)
public:
explicit ElaMenu(QWidget* parent = nullptr);
explicit ElaMenu(const QString& title, QWidget* parent = nullptr);
~ElaMenu();
void setMenuItemHeight(int menuItemHeight);
int getMenuItemHeight() const;
QAction* addMenu(QMenu* menu);
ElaMenu* addMenu(const QString& title);
ElaMenu* addMenu(const QIcon& icon, const QString& title);
ElaMenu* addMenu(ElaIconType::IconName icon, const QString& title);
QAction* addElaIconAction(ElaIconType::IconName icon, const QString& text);
QAction* addElaIconAction(ElaIconType::IconName icon, const QString& text, const QKeySequence& shortcut);
bool isHasChildMenu() const;
bool isHasIcon() const;
Q_SIGNALS:
Q_SIGNAL void menuShow();
protected:
virtual void showEvent(QShowEvent* event) override;
virtual void paintEvent(QPaintEvent* event) override;
};
#endif // ELAMENU_H