SXXXXXXX_PyBusMonitor1553/cpp/GrifoScope/QgPython/qgpythoninterface.h
2025-12-17 07:59:30 +01:00

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