diff --git a/dde-dock/abstractdockitem.h b/dde-dock/abstractdockitem.h new file mode 100644 index 000000000..bec11d7eb --- /dev/null +++ b/dde-dock/abstractdockitem.h @@ -0,0 +1,39 @@ +#ifndef ABSTRACTDOCKITEM_H +#define ABSTRACTDOCKITEM_H + +#include +#include +#include +#include + +class AbstractDockItem : public QFrame +{ + Q_OBJECT +public: + explicit AbstractDockItem(QWidget *parent = 0); + virtual ~AbstractDockItem() = 0; + + virtual QWidget * getContents() = 0; + + virtual void setTitle(const QString &title) = 0; + virtual void setIcon(const QString &iconPath, int size = 42) = 0; + virtual void setMoveable(bool value) = 0; + virtual bool moveable() = 0; + virtual void setActived(bool value) = 0; + virtual bool actived() = 0; + virtual void setIndex(int value) = 0; + virtual int index() = 0; + +protected: + QPixmap * m_appIcon = NULL; + + bool m_itemMoveable = true; + bool m_itemActived = false; + + QString m_itemTitle = ""; + QString m_itemIconPath = ""; + int m_itemIndex = 0; + +}; + +#endif // ABSTRACTDOCKITEM_H diff --git a/dde-dock/dde-dock.pro b/dde-dock/dde-dock.pro index 8723e7724..54b782141 100644 --- a/dde-dock/dde-dock.pro +++ b/dde-dock/dde-dock.pro @@ -39,7 +39,9 @@ HEADERS += mainwidget.h \ Widgets/docklayout.h \ Widgets/windowpreview.h \ Widgets/dockitem.h \ - Widgets/screenmask.h + Widgets/screenmask.h \ + dockplugininterface.h \ + abstractdockitem.h RESOURCES += \ images.qrc diff --git a/dde-dock/dockplugininterface.h b/dde-dock/dockplugininterface.h new file mode 100644 index 000000000..9858e8556 --- /dev/null +++ b/dde-dock/dockplugininterface.h @@ -0,0 +1,23 @@ +#ifndef DOCKPLUGININTERFACE_H +#define DOCKPLUGININTERFACE_H + +#include +#include "abstractdockitem.h" + +class DockPluginInterface : public QObject +{ + Q_OBJECT +public: + virtual ~DockPluginInterface() {} + virtual QList items(); +}; + +QT_BEGIN_NAMESPACE + +#define DockPluginInterface_iid "org.deepin.Dock.PluginInterface" + +Q_DECLARE_INTERFACE(DockPluginInterface, DockPluginInterface_iid) + +QT_END_NAMESPACE + +#endif // DOCKPLUGININTERFACE_H