Gui: Change ExpressionBindingPy to new PyCXX extension type

This commit is contained in:
marioalexis
2023-08-16 23:01:01 -03:00
committed by wwmayer
parent f6b85d3721
commit 5af2a3c07a
2 changed files with 58 additions and 62 deletions

View File

@@ -29,25 +29,24 @@ class QWidget;
namespace Gui {
class ExpressionBinding;
class ExpressionBindingPy : public Py::PythonExtension<ExpressionBindingPy>
class ExpressionBindingPy : public Py::PythonClass<ExpressionBindingPy>
{
public:
static void init_type(); // announce properties and methods
explicit ExpressionBindingPy(ExpressionBinding*);
ExpressionBindingPy(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kwds);
~ExpressionBindingPy() override;
Py::Object repr() override;
Py::Object bind(const Py::Tuple&);
Py::Object isBound(const Py::Tuple&);
Py::Object isBound();
Py::Object apply(const Py::Tuple&);
Py::Object hasExpression(const Py::Tuple&);
Py::Object autoApply(const Py::Tuple&);
Py::Object hasExpression();
Py::Object autoApply();
Py::Object setAutoApply(const Py::Tuple&);
private:
static PyObject *PyMake(struct _typeobject *, PyObject *, PyObject *);
static ExpressionBinding* asBinding(QWidget*);
private: