dde-dock/frame/item/pluginsitem.h
石博文 dd20d77e3f add calendar
Change-Id: Ic50f6cfb7efdb5b424d9c0b4a04beb682b2737bc
2016-08-02 09:28:06 +08:00

44 lines
933 B
C++

#ifndef PLUGINSITEM_H
#define PLUGINSITEM_H
#include "dockitem.h"
#include "pluginsiteminterface.h"
class PluginsItem : public DockItem
{
Q_OBJECT
public:
explicit PluginsItem(PluginsItemInterface* const pluginInter, const QString &itemKey, QWidget *parent = 0);
~PluginsItem();
int itemSortKey() const;
void detachPluginWidget();
private:
void mousePressEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
void paintEvent(QPaintEvent *e);
bool eventFilter(QObject *o, QEvent *e);
QSize sizeHint() const;
QWidget *popupTips();
private:
void startDrag();
void mouseClicked();
private:
PluginsItemInterface * const m_pluginInter;
const QString m_itemKey;
PluginsItemInterface::ItemType m_pluginType;
bool m_draging;
QLabel *m_simpleTips;
static QPoint MousePressPoint;
};
#endif // PLUGINSITEM_H