DockPluginInterface add getContents function

This commit is contained in:
杨万青 2015-07-13 11:29:05 +08:00
parent 3a6a2b7344
commit 487ed2d733
5 changed files with 17 additions and 3 deletions

View File

@ -24,6 +24,7 @@ public:
QStringList uuids() Q_DECL_OVERRIDE;
QWidget * getItem(QString uuid) Q_DECL_OVERRIDE;
QWidget * getContents(QString uuid){return NULL;}
void changeMode(Dock::DockMode newMode, Dock::DockMode oldMode);
QString name() Q_DECL_OVERRIDE;

View File

@ -81,7 +81,8 @@ CONFIG += c++11 link_pkgconfig
target.path = /usr/bin/
headers.files += src/dockconstants.h \
src/dockplugininterface.h
src/dockplugininterface.h \
src/dockpluginproxyinterface.h
headers.path = /usr/include/dock
INSTALLS += target headers

View File

@ -14,7 +14,8 @@ public:
virtual void init(DockPluginProxyInterface *proxy) = 0;
virtual QStringList uuids() = 0;
virtual QWidget* getItem(QString uuid) = 0;
virtual QWidget * getItem(QString uuid) = 0;
virtual QWidget * getContents(QString uuid) = 0;
virtual void changeMode(Dock::DockMode newMode, Dock::DockMode oldMode) = 0;
virtual QString name() = 0;

View File

@ -12,7 +12,8 @@ PluginItemWrapper::PluginItemWrapper(DockPluginInterface *plugin,
if (m_plugin) {
QWidget * item = m_plugin->getItem(uuid);
setFixedSize(item->size());
m_pluginItemContents = m_plugin->getContents(uuid);
// setFixedSize(item->size());
if (item) {
setFixedSize(item->size());
@ -24,6 +25,14 @@ PluginItemWrapper::PluginItemWrapper(DockPluginInterface *plugin,
}
}
QWidget * PluginItemWrapper::getContents()
{
if (m_pluginItemContents)
return m_pluginItemContents;
else
return NULL;
}
PluginItemWrapper::~PluginItemWrapper()
{
qDebug() << "PluginItemWrapper destroyed " << m_plugin->name() << m_uuid;

View File

@ -11,9 +11,11 @@ public:
PluginItemWrapper(DockPluginInterface *plugin, QString uuid, QWidget * parent = 0);
virtual ~PluginItemWrapper();
QWidget * getContents();
QString uuid() const;
private:
QWidget *m_pluginItemContents = NULL;
DockPluginInterface * m_plugin;
QString m_uuid;
};