PyObject* klass,
int setThisOwn=0);
PyObject* wxPyClassExists(const char* className);
-PyObject* wxPyMake_wxObject(wxObject* source);
+PyObject* wxPyMake_wxObject(wxObject* source, bool checkEvtHandler=TRUE);
+PyObject* wxPyMake_wxSizer(wxSizer* source);
void wxPyPtrTypeMap_Add(const char* commonName, const char* ptrName);
PyObject* wxPy_ConvertList(wxListBase* list, const char* className);
wxBitmap** wxBitmap_LIST_helper(PyObject* source);
wxString* wxString_LIST_helper(PyObject* source);
wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
+wxPen** wxPen_LIST_helper(PyObject* source);
bool wxSize_helper(PyObject* source, wxSize** obj);
bool wxPoint_helper(PyObject* source, wxPoint** obj);
bool wxRect_helper(PyObject* source, wxRect** obj);
bool wxColour_helper(PyObject* source, wxColour** obj);
+#if PYTHON_API_VERSION < 1009
+#define PySequence_Fast_GET_ITEM(o, i) \
+ (PyList_Check(o) ? PyList_GET_ITEM(o, i) : PyTuple_GET_ITEM(o, i))
+#endif
+
+bool _2int_seq_helper(PyObject* source, int* i1, int* i2);
+bool _4int_seq_helper(PyObject* source, int* i1, int* i2, int* i3, int* i4);
+
+
+PyObject* wxArrayString2PyList_helper(const wxArrayString& app);
+
+
+#define RETURN_NONE() { Py_INCREF(Py_None); return Py_None; }
+
//----------------------------------------------------------------------
#ifndef SWIGCODE
class wxPyEvent : public wxEvent, public wxPyEvtSelfRef {
- DECLARE_DYNAMIC_CLASS(wxPyEvent)
+ DECLARE_ABSTRACT_CLASS(wxPyEvent)
public:
wxPyEvent(int id=0);
+ wxPyEvent(const wxPyEvent& evt);
~wxPyEvent();
- void CopyObject(wxObject& dest) const;
+ virtual wxEvent* Clone() const { return new wxPyEvent(*this); }
};
class wxPyCommandEvent : public wxCommandEvent, public wxPyEvtSelfRef {
- DECLARE_DYNAMIC_CLASS(wxPyCommandEvent)
+ DECLARE_ABSTRACT_CLASS(wxPyCommandEvent)
public:
wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0);
+ wxPyCommandEvent(const wxPyCommandEvent& evt);
~wxPyCommandEvent();
- void CopyObject(wxObject& dest) const;
+ virtual wxEvent* Clone() const { return new wxPyCommandEvent(*this); }
};
void (*p_wxPyCBH_delete)(wxPyCallbackHelper* cbh);
PyObject* (*p_wxPyClassExists)(const char* className);
- PyObject* (*p_wxPyMake_wxObject)(wxObject* source);
+ PyObject* (*p_wxPyMake_wxObject)(wxObject* source, bool checkEvtHandler);
+ PyObject* (*p_wxPyMake_wxSizer)(wxSizer* source);
void (*p_wxPyPtrTypeMap_Add)(const char* commonName, const char* ptrName);
};
#define IMP_PYCALLBACK_bool_any(CLASS, PCLASS, CBNAME, Type) \
bool CLASS::CBNAME(Type& a) { \
- bool rv; \
+ bool rv=FALSE; \
bool found; \
wxPyTState* state = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
#define IMP_PYCALLBACK_BOOL_ME(CLASS, PCLASS, CBNAME) \
bool CLASS::CBNAME(wxMouseEvent& e) { \
- bool rval; \
+ bool rval=FALSE; \
bool found; \
wxPyTState* state = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
wxPyEndBlockThreads(state); \
if (! found) \
return PCLASS::CBNAME(e); \
+ return rval; \
} \
bool CLASS::base_##CBNAME(wxMouseEvent& e) { \
return PCLASS::CBNAME(e); \