59 lines
1.5 KiB
C++
59 lines
1.5 KiB
C++
#ifndef QGPYTHONINTERFACE_H
|
|
#define QGPYTHONINTERFACE_H
|
|
|
|
class QString;
|
|
class QObject;
|
|
class QWidget;
|
|
class QDialog;
|
|
|
|
class PythonQtObjectPtr;
|
|
|
|
class QgPythonWidgets
|
|
{
|
|
public:
|
|
virtual ~QgPythonWidgets() {}
|
|
|
|
virtual QWidget* createConsole(QWidget* parent=0)=0;
|
|
virtual QDialog* createEditDialog(QWidget* parent=0)=0;
|
|
};
|
|
|
|
class QgPythonInterface
|
|
{
|
|
public:
|
|
virtual ~QgPythonInterface() {}
|
|
|
|
virtual QgPythonWidgets* pythonWidgets()=0;
|
|
|
|
virtual PythonQtObjectPtr* mainModule()=0;
|
|
virtual PythonQtObjectPtr* createModule(const QString& module_name)=0;
|
|
virtual PythonQtObjectPtr* createModuleFromScript(const QString& name, const QString& script)=0;
|
|
virtual PythonQtObjectPtr* createModuleFromFile(const QString& name, const QString& file)=0;
|
|
|
|
virtual bool addObject(const QString& name, QObject*, PythonQtObjectPtr* module)=0;
|
|
|
|
virtual bool evalScript(const QString& script, PythonQtObjectPtr* module)=0;
|
|
virtual bool evalFile(const QString& file, PythonQtObjectPtr* module)=0;
|
|
|
|
};
|
|
|
|
#define QGPYTHON_LIB_INITIALIZE_FUNCTION_ QgPythonLib_Initialize
|
|
#define QGPYTHON_LIB_INITIALIZE_FUNCTION_NAME "QgPythonLib_Initialize"
|
|
|
|
#define QGPYHON_LIB_INSTANCE_FUNCTION_ QgPythonLib_Instance
|
|
|
|
#define QGPYHON_LIB_INSTANCE_FUNCTION_NAME "QgPythonLib_Instance"
|
|
|
|
class QgPythonLibInitFlags
|
|
{
|
|
enum
|
|
{
|
|
None=0
|
|
};
|
|
};
|
|
|
|
typedef const char* (*QgPythonLib_Initialize_function_t)(unsigned int init_flags);
|
|
|
|
typedef QgPythonInterface*(*QgPythonLib_Instance_function_t)(void);
|
|
|
|
#endif // QGPYTHONINTERFACE_H
|