dde-dock/item/dockitem.h
石博文 ca52556f5b add menu
Change-Id: I03343f5259c765d0437b2d4f193c35058d700787
2016-08-02 09:28:06 +08:00

43 lines
824 B
C++

#ifndef DOCKITEM_H
#define DOCKITEM_H
#include <QFrame>
#include "util/docksettings.h"
#include "dbus/dbusmenumanager.h"
class DockItem : public QWidget
{
Q_OBJECT
public:
enum ItemType {
Launcher,
App,
Placeholder,
Plugins,
};
public:
explicit DockItem(const ItemType type, QWidget *parent = nullptr);
void setDockSide(const DockSettings::DockSide side);
ItemType itemType() const;
protected:
void paintEvent(QPaintEvent *e);
void mousePressEvent(QMouseEvent *e);
void showContextMenu();
virtual void invokedMenuItem(const QString &itemId, const bool checked);
virtual const QString contextMenu() const;
protected:
DockSettings::DockSide m_side;
ItemType m_type;
DBusMenuManager *m_menuManagerInter;
};
#endif // DOCKITEM_H