Replaced CopyObject with Clone for wxPython-specific event classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -71,11 +71,11 @@ class GraphWindow(wxWindow):
|
|||||||
for label in labels:
|
for label in labels:
|
||||||
self.values.append((label, 0))
|
self.values.append((label, 0))
|
||||||
|
|
||||||
self.font = wxFont(12, wxSWISS, wxNORMAL, wxBOLD)
|
font = wxFont(12, wxSWISS, wxNORMAL, wxBOLD)
|
||||||
self.SetFont(self.font)
|
self.SetFont(font)
|
||||||
|
|
||||||
self.colors = [ wxRED, wxGREEN, wxBLUE, wxCYAN,
|
self.colors = [ wxRED, wxGREEN, wxBLUE, wxCYAN,
|
||||||
wxNamedColour("Yellow"), wxNamedColor("Navy") ]
|
"Yellow", "Navy" ]
|
||||||
|
|
||||||
EVT_ERASE_BACKGROUND(self, self.OnEraseBackground)
|
EVT_ERASE_BACKGROUND(self, self.OnEraseBackground)
|
||||||
EVT_PAINT(self, self.OnPaint)
|
EVT_PAINT(self, self.OnPaint)
|
||||||
@@ -98,8 +98,12 @@ class GraphWindow(wxWindow):
|
|||||||
self.barHeight = hmax
|
self.barHeight = hmax
|
||||||
|
|
||||||
|
|
||||||
|
def GetBestHeight(self):
|
||||||
|
return 2 * (self.barHeight + 1) * len(self.values)
|
||||||
|
|
||||||
|
|
||||||
def Draw(self, dc, size):
|
def Draw(self, dc, size):
|
||||||
dc.SetFont(self.font)
|
dc.SetFont(self.GetFont())
|
||||||
dc.SetTextForeground(wxBLUE)
|
dc.SetTextForeground(wxBLUE)
|
||||||
dc.SetBackground(wxBrush(self.GetBackgroundColour()))
|
dc.SetBackground(wxBrush(self.GetBackgroundColour()))
|
||||||
dc.Clear()
|
dc.Clear()
|
||||||
@@ -161,6 +165,7 @@ class TestFrame(wxFrame):
|
|||||||
|
|
||||||
self.graph = GraphWindow(self, ['Zero', 'One', 'Two', 'Three', 'Four',
|
self.graph = GraphWindow(self, ['Zero', 'One', 'Two', 'Three', 'Four',
|
||||||
'Five', 'Six', 'Seven'])
|
'Five', 'Six', 'Seven'])
|
||||||
|
self.graph.SetSize((-1, self.graph.GetBestHeight()))
|
||||||
|
|
||||||
sizer = wxBoxSizer(wxVERTICAL)
|
sizer = wxBoxSizer(wxVERTICAL)
|
||||||
sizer.Add(panel, 0, wxEXPAND)
|
sizer.Add(panel, 0, wxEXPAND)
|
||||||
@@ -168,6 +173,7 @@ class TestFrame(wxFrame):
|
|||||||
|
|
||||||
self.SetSizer(sizer)
|
self.SetSizer(sizer)
|
||||||
self.SetAutoLayout(true)
|
self.SetAutoLayout(true)
|
||||||
|
sizer.Fit(self)
|
||||||
|
|
||||||
#self.graph.SetValue(0, 25)
|
#self.graph.SetValue(0, 25)
|
||||||
#self.graph.SetValue(1, 50)
|
#self.graph.SetValue(1, 50)
|
||||||
|
@@ -48,6 +48,8 @@ public:
|
|||||||
void SetId(int id);
|
void SetId(int id);
|
||||||
void SetTimestamp(long timeStamp);
|
void SetTimestamp(long timeStamp);
|
||||||
void Skip(bool skip = TRUE);
|
void Skip(bool skip = TRUE);
|
||||||
|
|
||||||
|
wxEvent *Clone();
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
@@ -469,6 +469,41 @@ static PyObject *_wrap_wxEvent_Skip(PyObject *self, PyObject *args, PyObject *kw
|
|||||||
return _resultobj;
|
return _resultobj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define wxEvent_Clone(_swigobj) (_swigobj->Clone())
|
||||||
|
static PyObject *_wrap_wxEvent_Clone(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||||
|
PyObject * _resultobj;
|
||||||
|
wxEvent * _result;
|
||||||
|
wxEvent * _arg0;
|
||||||
|
PyObject * _argo0 = 0;
|
||||||
|
char *_kwnames[] = { "self", NULL };
|
||||||
|
char _ptemp[128];
|
||||||
|
|
||||||
|
self = self;
|
||||||
|
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_Clone",_kwnames,&_argo0))
|
||||||
|
return NULL;
|
||||||
|
if (_argo0) {
|
||||||
|
if (_argo0 == Py_None) { _arg0 = NULL; }
|
||||||
|
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
|
||||||
|
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_Clone. Expected _wxEvent_p.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
wxPy_BEGIN_ALLOW_THREADS;
|
||||||
|
_result = (wxEvent *)wxEvent_Clone(_arg0);
|
||||||
|
|
||||||
|
wxPy_END_ALLOW_THREADS;
|
||||||
|
if (PyErr_Occurred()) return NULL;
|
||||||
|
} if (_result) {
|
||||||
|
SWIG_MakePtr(_ptemp, (char *) _result,"_wxEvent_p");
|
||||||
|
_resultobj = Py_BuildValue("s",_ptemp);
|
||||||
|
} else {
|
||||||
|
Py_INCREF(Py_None);
|
||||||
|
_resultobj = Py_None;
|
||||||
|
}
|
||||||
|
return _resultobj;
|
||||||
|
}
|
||||||
|
|
||||||
static void *SwigwxSizeEventTowxEvent(void *ptr) {
|
static void *SwigwxSizeEventTowxEvent(void *ptr) {
|
||||||
wxSizeEvent *src;
|
wxSizeEvent *src;
|
||||||
wxEvent *dest;
|
wxEvent *dest;
|
||||||
@@ -7179,6 +7214,7 @@ static PyMethodDef eventscMethods[] = {
|
|||||||
{ "new_wxCloseEvent", (PyCFunction) _wrap_new_wxCloseEvent, METH_VARARGS | METH_KEYWORDS },
|
{ "new_wxCloseEvent", (PyCFunction) _wrap_new_wxCloseEvent, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxSizeEvent_GetSize", (PyCFunction) _wrap_wxSizeEvent_GetSize, METH_VARARGS | METH_KEYWORDS },
|
{ "wxSizeEvent_GetSize", (PyCFunction) _wrap_wxSizeEvent_GetSize, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "new_wxSizeEvent", (PyCFunction) _wrap_new_wxSizeEvent, METH_VARARGS | METH_KEYWORDS },
|
{ "new_wxSizeEvent", (PyCFunction) _wrap_new_wxSizeEvent, METH_VARARGS | METH_KEYWORDS },
|
||||||
|
{ "wxEvent_Clone", (PyCFunction) _wrap_wxEvent_Clone, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxEvent_Skip", (PyCFunction) _wrap_wxEvent_Skip, METH_VARARGS | METH_KEYWORDS },
|
{ "wxEvent_Skip", (PyCFunction) _wrap_wxEvent_Skip, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxEvent_SetTimestamp", (PyCFunction) _wrap_wxEvent_SetTimestamp, METH_VARARGS | METH_KEYWORDS },
|
{ "wxEvent_SetTimestamp", (PyCFunction) _wrap_wxEvent_SetTimestamp, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxEvent_SetId", (PyCFunction) _wrap_wxEvent_SetId, METH_VARARGS | METH_KEYWORDS },
|
{ "wxEvent_SetId", (PyCFunction) _wrap_wxEvent_SetId, METH_VARARGS | METH_KEYWORDS },
|
||||||
|
@@ -41,6 +41,10 @@ class wxEventPtr(wxObjectPtr):
|
|||||||
def Skip(self, *_args, **_kwargs):
|
def Skip(self, *_args, **_kwargs):
|
||||||
val = apply(eventsc.wxEvent_Skip,(self,) + _args, _kwargs)
|
val = apply(eventsc.wxEvent_Skip,(self,) + _args, _kwargs)
|
||||||
return val
|
return val
|
||||||
|
def Clone(self, *_args, **_kwargs):
|
||||||
|
val = apply(eventsc.wxEvent_Clone,(self,) + _args, _kwargs)
|
||||||
|
if val: val = wxEventPtr(val)
|
||||||
|
return val
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<C wxEvent instance at %s>" % (self.this,)
|
return "<C wxEvent instance at %s>" % (self.this,)
|
||||||
class wxEvent(wxEventPtr):
|
class wxEvent(wxEventPtr):
|
||||||
|
@@ -101,7 +101,6 @@ void WXDLLEXPORT wxEntryCleanup();
|
|||||||
|
|
||||||
|
|
||||||
#ifdef WXP_WITH_THREAD
|
#ifdef WXP_WITH_THREAD
|
||||||
//PyThreadState* wxPyEventThreadState = NULL;
|
|
||||||
PyInterpreterState* wxPyInterpreter = NULL;
|
PyInterpreterState* wxPyInterpreter = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -118,7 +117,6 @@ void __wxPreStart()
|
|||||||
|
|
||||||
#ifdef WXP_WITH_THREAD
|
#ifdef WXP_WITH_THREAD
|
||||||
PyEval_InitThreads();
|
PyEval_InitThreads();
|
||||||
// wxPyEventThreadState = PyThreadState_Get(); // PyThreadState_New(PyThreadState_Get()->interp);
|
|
||||||
wxPyInterpreter = PyThreadState_Get()->interp;
|
wxPyInterpreter = PyThreadState_Get()->interp;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -632,37 +630,41 @@ PyObject* wxPyEvtSelfRef::GetSelf() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
IMPLEMENT_ABSTRACT_CLASS(wxPyEvent, wxEvent);
|
||||||
|
IMPLEMENT_ABSTRACT_CLASS(wxPyCommandEvent, wxCommandEvent);
|
||||||
|
|
||||||
|
|
||||||
wxPyEvent::wxPyEvent(int id)
|
wxPyEvent::wxPyEvent(int id)
|
||||||
: wxEvent(id) {
|
: wxEvent(id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxPyEvent::wxPyEvent(const wxPyEvent& evt)
|
||||||
|
: wxEvent(evt)
|
||||||
|
{
|
||||||
|
SetSelf(evt.m_self, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
wxPyEvent::~wxPyEvent() {
|
wxPyEvent::~wxPyEvent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// This one is so the event object can be Cloned...
|
|
||||||
void wxPyEvent::CopyObject(wxObject& dest) const {
|
|
||||||
wxEvent::CopyObject(dest);
|
|
||||||
((wxPyEvent*)&dest)->SetSelf(m_self, TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxPyEvent, wxEvent);
|
|
||||||
|
|
||||||
|
|
||||||
wxPyCommandEvent::wxPyCommandEvent(wxEventType commandType, int id)
|
wxPyCommandEvent::wxPyCommandEvent(wxEventType commandType, int id)
|
||||||
: wxCommandEvent(commandType, id) {
|
: wxCommandEvent(commandType, id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxPyCommandEvent::wxPyCommandEvent(const wxPyCommandEvent& evt)
|
||||||
|
: wxCommandEvent(evt)
|
||||||
|
{
|
||||||
|
SetSelf(evt.m_self, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
wxPyCommandEvent::~wxPyCommandEvent() {
|
wxPyCommandEvent::~wxPyCommandEvent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxPyCommandEvent::CopyObject(wxObject& dest) const {
|
|
||||||
wxCommandEvent::CopyObject(dest);
|
|
||||||
((wxPyCommandEvent*)&dest)->SetSelf(m_self, TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxPyCommandEvent, wxCommandEvent);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -219,22 +219,24 @@ protected:
|
|||||||
|
|
||||||
|
|
||||||
class wxPyEvent : public wxEvent, public wxPyEvtSelfRef {
|
class wxPyEvent : public wxEvent, public wxPyEvtSelfRef {
|
||||||
DECLARE_DYNAMIC_CLASS(wxPyEvent)
|
DECLARE_ABSTRACT_CLASS(wxPyEvent)
|
||||||
public:
|
public:
|
||||||
wxPyEvent(int id=0);
|
wxPyEvent(int id=0);
|
||||||
|
wxPyEvent(const wxPyEvent& evt);
|
||||||
~wxPyEvent();
|
~wxPyEvent();
|
||||||
|
|
||||||
void CopyObject(wxObject& dest) const;
|
virtual wxEvent* Clone() const { return new wxPyEvent(*this); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class wxPyCommandEvent : public wxCommandEvent, public wxPyEvtSelfRef {
|
class wxPyCommandEvent : public wxCommandEvent, public wxPyEvtSelfRef {
|
||||||
DECLARE_DYNAMIC_CLASS(wxPyCommandEvent)
|
DECLARE_ABSTRACT_CLASS(wxPyCommandEvent)
|
||||||
public:
|
public:
|
||||||
wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0);
|
wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0);
|
||||||
|
wxPyCommandEvent(const wxPyCommandEvent& evt);
|
||||||
~wxPyCommandEvent();
|
~wxPyCommandEvent();
|
||||||
|
|
||||||
void CopyObject(wxObject& dest) const;
|
virtual wxEvent* Clone() const { return new wxPyCommandEvent(*this); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -469,6 +469,41 @@ static PyObject *_wrap_wxEvent_Skip(PyObject *self, PyObject *args, PyObject *kw
|
|||||||
return _resultobj;
|
return _resultobj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define wxEvent_Clone(_swigobj) (_swigobj->Clone())
|
||||||
|
static PyObject *_wrap_wxEvent_Clone(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||||
|
PyObject * _resultobj;
|
||||||
|
wxEvent * _result;
|
||||||
|
wxEvent * _arg0;
|
||||||
|
PyObject * _argo0 = 0;
|
||||||
|
char *_kwnames[] = { "self", NULL };
|
||||||
|
char _ptemp[128];
|
||||||
|
|
||||||
|
self = self;
|
||||||
|
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_Clone",_kwnames,&_argo0))
|
||||||
|
return NULL;
|
||||||
|
if (_argo0) {
|
||||||
|
if (_argo0 == Py_None) { _arg0 = NULL; }
|
||||||
|
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
|
||||||
|
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_Clone. Expected _wxEvent_p.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
wxPy_BEGIN_ALLOW_THREADS;
|
||||||
|
_result = (wxEvent *)wxEvent_Clone(_arg0);
|
||||||
|
|
||||||
|
wxPy_END_ALLOW_THREADS;
|
||||||
|
if (PyErr_Occurred()) return NULL;
|
||||||
|
} if (_result) {
|
||||||
|
SWIG_MakePtr(_ptemp, (char *) _result,"_wxEvent_p");
|
||||||
|
_resultobj = Py_BuildValue("s",_ptemp);
|
||||||
|
} else {
|
||||||
|
Py_INCREF(Py_None);
|
||||||
|
_resultobj = Py_None;
|
||||||
|
}
|
||||||
|
return _resultobj;
|
||||||
|
}
|
||||||
|
|
||||||
static void *SwigwxSizeEventTowxEvent(void *ptr) {
|
static void *SwigwxSizeEventTowxEvent(void *ptr) {
|
||||||
wxSizeEvent *src;
|
wxSizeEvent *src;
|
||||||
wxEvent *dest;
|
wxEvent *dest;
|
||||||
@@ -7179,6 +7214,7 @@ static PyMethodDef eventscMethods[] = {
|
|||||||
{ "new_wxCloseEvent", (PyCFunction) _wrap_new_wxCloseEvent, METH_VARARGS | METH_KEYWORDS },
|
{ "new_wxCloseEvent", (PyCFunction) _wrap_new_wxCloseEvent, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxSizeEvent_GetSize", (PyCFunction) _wrap_wxSizeEvent_GetSize, METH_VARARGS | METH_KEYWORDS },
|
{ "wxSizeEvent_GetSize", (PyCFunction) _wrap_wxSizeEvent_GetSize, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "new_wxSizeEvent", (PyCFunction) _wrap_new_wxSizeEvent, METH_VARARGS | METH_KEYWORDS },
|
{ "new_wxSizeEvent", (PyCFunction) _wrap_new_wxSizeEvent, METH_VARARGS | METH_KEYWORDS },
|
||||||
|
{ "wxEvent_Clone", (PyCFunction) _wrap_wxEvent_Clone, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxEvent_Skip", (PyCFunction) _wrap_wxEvent_Skip, METH_VARARGS | METH_KEYWORDS },
|
{ "wxEvent_Skip", (PyCFunction) _wrap_wxEvent_Skip, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxEvent_SetTimestamp", (PyCFunction) _wrap_wxEvent_SetTimestamp, METH_VARARGS | METH_KEYWORDS },
|
{ "wxEvent_SetTimestamp", (PyCFunction) _wrap_wxEvent_SetTimestamp, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxEvent_SetId", (PyCFunction) _wrap_wxEvent_SetId, METH_VARARGS | METH_KEYWORDS },
|
{ "wxEvent_SetId", (PyCFunction) _wrap_wxEvent_SetId, METH_VARARGS | METH_KEYWORDS },
|
||||||
|
@@ -41,6 +41,10 @@ class wxEventPtr(wxObjectPtr):
|
|||||||
def Skip(self, *_args, **_kwargs):
|
def Skip(self, *_args, **_kwargs):
|
||||||
val = apply(eventsc.wxEvent_Skip,(self,) + _args, _kwargs)
|
val = apply(eventsc.wxEvent_Skip,(self,) + _args, _kwargs)
|
||||||
return val
|
return val
|
||||||
|
def Clone(self, *_args, **_kwargs):
|
||||||
|
val = apply(eventsc.wxEvent_Clone,(self,) + _args, _kwargs)
|
||||||
|
if val: val = wxEventPtr(val)
|
||||||
|
return val
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<C wxEvent instance at %s>" % (self.this,)
|
return "<C wxEvent instance at %s>" % (self.this,)
|
||||||
class wxEvent(wxEventPtr):
|
class wxEvent(wxEventPtr):
|
||||||
|
Reference in New Issue
Block a user