dock plugin interface changes

1, add title() to get title
2, change getContent to getApplets which makes more sense
3, plugin now can access to mode of dock by calling dockMode on
   its proxy
This commit is contained in:
Hualet Wang 2015-07-14 09:36:38 +08:00
parent 7116e4d030
commit 146019a0aa
6 changed files with 19 additions and 7 deletions

View File

@ -85,4 +85,4 @@ headers.files += src/dockconstants.h \
src/dockpluginproxyinterface.h
headers.path = /usr/include/dock
INSTALLS += target headers
INSTALLS += headers

View File

@ -13,12 +13,13 @@ public:
virtual ~DockPluginInterface() {}
virtual void init(DockPluginProxyInterface *proxy) = 0;
virtual QString name() = 0;
virtual QString title() = 0;
virtual QStringList uuids() = 0;
virtual QWidget * getItem(QString uuid) = 0;
virtual QWidget * getContents(QString uuid) = 0;
virtual QWidget * getApplets(QString uuid) = 0;
virtual void changeMode(Dock::DockMode newMode, Dock::DockMode oldMode) = 0;
virtual QString name() = 0;
};
QT_BEGIN_NAMESPACE

View File

@ -1,5 +1,6 @@
#include "dockpluginproxy.h"
#include "pluginitemwrapper.h"
#include "Controller/dockmodedata.h"
DockPluginProxy::DockPluginProxy(DockPluginInterface * plugin, QObject * parent) :
QObject(parent),
@ -12,6 +13,11 @@ DockPluginInterface * DockPluginProxy::plugin()
return m_plugin;
}
Dock::DockMode DockPluginProxy::dockMode()
{
return DockModeData::instance()->getDockMode();
}
void DockPluginProxy::itemAddedEvent(QString uuid)
{
qDebug() << "Item added on plugin " << m_plugin->name() << uuid;

View File

@ -13,6 +13,8 @@ public:
DockPluginInterface * plugin();
Dock::DockMode dockMode() Q_DECL_OVERRIDE;
void itemAddedEvent(QString uuid) Q_DECL_OVERRIDE;
void itemRemovedEvent(QString uuid) Q_DECL_OVERRIDE;
void itemSizeChangedEvent(QString uuid) Q_DECL_OVERRIDE;

View File

@ -3,9 +3,13 @@
#include <QString>
#include "dockconstants.h"
class DockPluginProxyInterface
{
public:
virtual Dock::DockMode dockMode() = 0;
virtual void itemAddedEvent(QString uuid) = 0;
virtual void itemRemovedEvent(QString uuid) = 0;

View File

@ -12,8 +12,7 @@ PluginItemWrapper::PluginItemWrapper(DockPluginInterface *plugin,
if (m_plugin) {
QWidget * item = m_plugin->getItem(uuid);
m_pluginItemContents = m_plugin->getContents(uuid);
// setFixedSize(item->size());
m_pluginItemContents = m_plugin->getApplets(uuid);
if (item) {
setFixedSize(item->size());
@ -27,7 +26,7 @@ PluginItemWrapper::PluginItemWrapper(DockPluginInterface *plugin,
QWidget * PluginItemWrapper::getContents()
{
return m_plugin->getContents(m_uuid);
return m_plugin->getApplets(m_uuid);
}
void PluginItemWrapper::enterEvent(QEvent *)