Expose attribute to Python to access icon of view provider

This commit is contained in:
wmayer
2015-06-02 16:21:56 +02:00
parent 4e94c02dda
commit 1808fd83ed
4 changed files with 41 additions and 0 deletions

View File

@@ -24,6 +24,8 @@
#include "PreCompiled.h"
#ifndef _PreComp_
# include <Inventor/nodes/SoSeparator.h>
# include <QByteArray>
# include <QDataStream>
#endif
#include <Inventor/SoDB.h>
@@ -32,6 +34,7 @@
#include <Inventor/nodes/SoSeparator.h>
#include "ViewProvider.h"
#include "WidgetFactory.h"
// inclusion of the generated files (generated out of ViewProviderPy2.xml)
#include "ViewProviderPy.h"
@@ -232,3 +235,19 @@ Py::String ViewProviderPy::getIV(void) const
SbString buf = buffer_writeaction(getViewProviderPtr()->getRoot());
return Py::String(buf.getString());
}
Py::Object ViewProviderPy::getIcon(void) const
{
#if 0
QByteArray ba;
QDataStream str(&ba, QIODevice::WriteOnly);
QIcon icon = getViewProviderPtr()->getIcon();
str << icon;
return Py::String(ba.constData(), ba.size());
#else
PythonWrapper wrap;
wrap.loadGuiModule();
QIcon icon = getViewProviderPtr()->getIcon();
return wrap.fromQIcon(new QIcon(icon));
#endif
}