for label in labels:
self.values.append((label, 0))
- self.font = wxFont(12, wxSWISS, wxNORMAL, wxBOLD)
- self.SetFont(self.font)
+ font = wxFont(12, wxSWISS, wxNORMAL, wxBOLD)
+ self.SetFont(font)
self.colors = [ wxRED, wxGREEN, wxBLUE, wxCYAN,
- wxNamedColour("Yellow"), wxNamedColor("Navy") ]
+ "Yellow", "Navy" ]
EVT_ERASE_BACKGROUND(self, self.OnEraseBackground)
EVT_PAINT(self, self.OnPaint)
self.barHeight = hmax
+ def GetBestHeight(self):
+ return 2 * (self.barHeight + 1) * len(self.values)
+
+
def Draw(self, dc, size):
- dc.SetFont(self.font)
+ dc.SetFont(self.GetFont())
dc.SetTextForeground(wxBLUE)
dc.SetBackground(wxBrush(self.GetBackgroundColour()))
dc.Clear()
self.graph = GraphWindow(self, ['Zero', 'One', 'Two', 'Three', 'Four',
'Five', 'Six', 'Seven'])
+ self.graph.SetSize((-1, self.graph.GetBestHeight()))
sizer = wxBoxSizer(wxVERTICAL)
sizer.Add(panel, 0, wxEXPAND)
self.SetSizer(sizer)
self.SetAutoLayout(true)
+ sizer.Fit(self)
#self.graph.SetValue(0, 25)
#self.graph.SetValue(1, 50)
void SetId(int id);
void SetTimestamp(long timeStamp);
void Skip(bool skip = TRUE);
+
+ wxEvent *Clone();
};
//---------------------------------------------------------------------------
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) {
wxSizeEvent *src;
wxEvent *dest;
{ "new_wxCloseEvent", (PyCFunction) _wrap_new_wxCloseEvent, METH_VARARGS | METH_KEYWORDS },
{ "wxSizeEvent_GetSize", (PyCFunction) _wrap_wxSizeEvent_GetSize, 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_SetTimestamp", (PyCFunction) _wrap_wxEvent_SetTimestamp, METH_VARARGS | METH_KEYWORDS },
{ "wxEvent_SetId", (PyCFunction) _wrap_wxEvent_SetId, METH_VARARGS | METH_KEYWORDS },
def Skip(self, *_args, **_kwargs):
val = apply(eventsc.wxEvent_Skip,(self,) + _args, _kwargs)
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):
return "<C wxEvent instance at %s>" % (self.this,)
class wxEvent(wxEventPtr):
#ifdef WXP_WITH_THREAD
-//PyThreadState* wxPyEventThreadState = NULL;
PyInterpreterState* wxPyInterpreter = NULL;
#endif
#ifdef WXP_WITH_THREAD
PyEval_InitThreads();
-// wxPyEventThreadState = PyThreadState_Get(); // PyThreadState_New(PyThreadState_Get()->interp);
wxPyInterpreter = PyThreadState_Get()->interp;
#endif
}
+IMPLEMENT_ABSTRACT_CLASS(wxPyEvent, wxEvent);
+IMPLEMENT_ABSTRACT_CLASS(wxPyCommandEvent, wxCommandEvent);
+
+
wxPyEvent::wxPyEvent(int id)
: wxEvent(id) {
}
-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);
+wxPyEvent::wxPyEvent(const wxPyEvent& evt)
+ : wxEvent(evt)
+{
+ SetSelf(evt.m_self, TRUE);
}
-IMPLEMENT_DYNAMIC_CLASS(wxPyEvent, wxEvent);
+wxPyEvent::~wxPyEvent() {
+}
wxPyCommandEvent::wxPyCommandEvent(wxEventType commandType, int id)
: wxCommandEvent(commandType, id) {
}
-wxPyCommandEvent::~wxPyCommandEvent() {
-}
-void wxPyCommandEvent::CopyObject(wxObject& dest) const {
- wxCommandEvent::CopyObject(dest);
- ((wxPyCommandEvent*)&dest)->SetSelf(m_self, TRUE);
+wxPyCommandEvent::wxPyCommandEvent(const wxPyCommandEvent& evt)
+ : wxCommandEvent(evt)
+{
+ SetSelf(evt.m_self, TRUE);
}
-IMPLEMENT_DYNAMIC_CLASS(wxPyCommandEvent, wxCommandEvent);
+wxPyCommandEvent::~wxPyCommandEvent() {
+}
+
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); }
};
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) {
wxSizeEvent *src;
wxEvent *dest;
{ "new_wxCloseEvent", (PyCFunction) _wrap_new_wxCloseEvent, METH_VARARGS | METH_KEYWORDS },
{ "wxSizeEvent_GetSize", (PyCFunction) _wrap_wxSizeEvent_GetSize, 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_SetTimestamp", (PyCFunction) _wrap_wxEvent_SetTimestamp, METH_VARARGS | METH_KEYWORDS },
{ "wxEvent_SetId", (PyCFunction) _wrap_wxEvent_SetId, METH_VARARGS | METH_KEYWORDS },
def Skip(self, *_args, **_kwargs):
val = apply(eventsc.wxEvent_Skip,(self,) + _args, _kwargs)
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):
return "<C wxEvent instance at %s>" % (self.this,)
class wxEvent(wxEventPtr):