change plugin interface

Change-Id: I4cb86dff01404d407823e210717a64c1e86ee6fe
This commit is contained in:
石博文 2016-06-28 10:56:28 +08:00 committed by Hualet Wang
parent 654accbaf5
commit 5d014c4642
6 changed files with 16 additions and 9 deletions

View File

@ -28,7 +28,7 @@ private:
private:
PluginsItemInterface * const m_pluginInter;
const QString m_itemKey;
PluginsItemInterface::PluginType m_pluginType;
PluginsItemInterface::ItemType m_pluginType;
bool m_draging;

View File

@ -9,7 +9,7 @@
class PluginsItemInterface
{
public:
enum PluginType
enum ItemType
{
Simple,
Complex,
@ -28,16 +28,23 @@ public:
virtual void positionChanged(const Dock::Position position) {Q_UNUSED(position);}
// plugins type, simple icon or complex widget
virtual PluginType pluginType(const QString &itemKey) = 0;
virtual ItemType pluginType(const QString &itemKey) {Q_UNUSED(itemKey); return Simple;}
// simple string tips or popup widget
virtual ItemType tipsType(const QString &itemKey) {Q_UNUSED(itemKey); return Simple;}
// item sort key
virtual int itemSortKey(const QString &itemKey) {Q_UNUSED(itemKey); return 0;}
// if complex widget mode, only return widget to plugins item
// if pluginType is complex widget mode, return a widget to plugins item
virtual QWidget *itemWidget(const QString &itemKey) {Q_UNUSED(itemKey); return nullptr;}
// in simple icon mode, plugins need to implements some data source functions
// if pluginType is simple icon mode, plugins need to implements these data source functions
virtual const QIcon itemIcon(const QString &itemKey) {Q_UNUSED(itemKey); return QIcon();}
virtual const QString itemCommand(const QString &itemKey) {Q_UNUSED(itemKey); return QString();}
// return simple string tips, call this function when tips type is Simple
virtual const QString simpleTipsString(const QString &itemKey) {Q_UNUSED(itemKey); return QString();}
// return complex widget tips, call this function when tips type is Complex
virtual QWidget *complexTipsWidget(const QString &itemKey) {Q_UNUSED(itemKey); return nullptr;}
protected:
Dock::DisplayMode displayMode() const
{

View File

@ -22,7 +22,7 @@ const QString DatetimePlugin::pluginName()
return "datetime";
}
PluginsItemInterface::PluginType DatetimePlugin::pluginType(const QString &itemKey)
PluginsItemInterface::ItemType DatetimePlugin::pluginType(const QString &itemKey)
{
Q_UNUSED(itemKey);

View File

@ -17,7 +17,7 @@ public:
~DatetimePlugin();
const QString pluginName();
PluginType pluginType(const QString &itemKey);
ItemType pluginType(const QString &itemKey);
void init(PluginProxyInterface *proxyInter);
int itemSortKey(const QString &itemKey) const;

View File

@ -13,7 +13,7 @@ const QString ShutdownPlugin::pluginName()
return "shutdown";
}
PluginsItemInterface::PluginType ShutdownPlugin::pluginType(const QString &itemKey)
PluginsItemInterface::ItemType ShutdownPlugin::pluginType(const QString &itemKey)
{
Q_UNUSED(itemKey);

View File

@ -15,7 +15,7 @@ public:
const QString pluginName();
void init(PluginProxyInterface *proxyInter);
PluginType pluginType(const QString &itemKey);
ItemType pluginType(const QString &itemKey);
const QIcon itemIcon(const QString &itemKey);
const QString itemCommand(const QString &itemKey);