-%}
-
-//---------------------------------------------------------------------------
-// OOR related typemaps and helper functions
-
-%typemap(python, out) wxGridCellRenderer* { $target = wxPyMake_wxGridCellRenderer($source); }
-%typemap(python, out) wxGridCellEditor* { $target = wxPyMake_wxGridCellEditor($source); }
-%typemap(python, out) wxGridCellAttr* { $target = wxPyMake_wxGridCellAttr($source); }
-%typemap(python, out) wxGridCellAttrProvider* { $target = wxPyMake_wxGridCellAttrProvider($source); }
-%typemap(python, out) wxGridTableBase* { $target = wxPyMake_wxGridTableBase($source); }
-
-%{
-
-
-#define wxPyMake_TEMPLATE(TYPE) \
-PyObject* wxPyMake_##TYPE(TYPE* source) { \
- PyObject* target = NULL; \
- if (source) { \
- /* Check if there is already a pointer to a Python object in the \
- OOR data that we can use. */ \
- wxPyOORClientData* data = (wxPyOORClientData*)source->GetClientObject(); \
- if (data) { \
- target = data->m_obj; \
- Py_INCREF(target); \
- } \
- /* Otherwise make a new wrapper for it the old fashioned way and \
- give it the OOR treatment */ \
- if (! target) { \
- target = wxPyConstructObject(source, #TYPE, FALSE); \
- if (target) \
- source->SetClientObject(new wxPyOORClientData(target)); \
- } \
- } else { /* source was NULL so return None. */ \
- Py_INCREF(Py_None); target = Py_None; \
- } \
- return target; \
-} \
-
-wxPyMake_TEMPLATE(wxGridCellRenderer)
-wxPyMake_TEMPLATE(wxGridCellEditor)
-wxPyMake_TEMPLATE(wxGridCellAttr)
-wxPyMake_TEMPLATE(wxGridCellAttrProvider)
-wxPyMake_TEMPLATE(wxGridTableBase)
-