RE: [Boa Constr] newbie question -- using Boa for creating a drawing canvas
Status: Beta
Brought to you by:
riaan
From: John B. <joh...@om...> - 2002-07-05 18:41:29
|
Hello Riaan, John, and all. The wraparound for the wxShapeCanvas widget still seems to have one problem in it. I created the custom canvas, as we discussed, but it does not seem to handle mouse events. Using wxBell() as a test, I can get a mousedown event to ring the bell on a regular wxPanel, but on the new canvas it causes python to crash. No message is given, just a python crash. The applicable code is: class wxBoaShapeCanvas(wxShapeCanvas): def __init__(self, parent=NULL, id=-1, pos=wxPoint(224, 16), size=wxSize(200, 304), style=wxBORDER, name='shapecanvas'): wxShapeCanvas.__init__(self, parent, id, pos, size, style) self.SetName(name) ------------------------------- class wxFrame1(wxFrame): _custom_classes = {'wxScrolledWindow': ['wxBoaShapeCanvas']} def _init_ctrls(self, prnt): wxFrame.__init__(self, id = wxID_WXFRAME1, name = '', parent = prnt, pos = wxPoint(353, 110), size = wxSize(484, 424), style = wxDEFAULT_FRAME_STYLE, title = 'wxFrame1') self._init_utils() self.SetClientSize(wxSize(476, 397)) self.panel1 = wxPanel(id = wxID_WXFRAME1PANEL1, name = 'panel1', parent = self, pos = wxPoint(8, 0), size = wxSize(176, 384), style = wxTAB_TRAVERSAL) self.panel1.SetForegroundColour(wxColour(255, 128, 255)) self.panel1.SetBackgroundColour(wxColour(0, 255, 0)) EVT_LEFT_DOWN(self.panel1, self.OnPanel1LeftDown) self.scrolledWindow1 = wxBoaShapeCanvas(id = wxID_WXFRAME1SCROLLEDWINDOW1, name = 'scrolledWindow1', parent = self, pos = wxPoint(216, 16), size = wxSize(232, 368), style = wxTAB_TRAVERSAL) self.scrolledWindow1.SetForegroundColour(wxColour(128, 0, 255)) self.scrolledWindow1.SetBackgroundColour(wxColour(0, 0, 255)) EVT_LEFT_DOWN(self.scrolledWindow1, self.OnScrolledwindow1LeftDown) ----------------------------------- def OnScrolledwindow1LeftDown(self, event): wxBell() ------------------------------ Actually, the bell goes off and then Python crashes. Again, I am using Win XP. Any ideas as to why this might be occuring? I am stumped. I can, however, place a static bitmap on the canvas. That seems to work just fine. John John Boik Oregon Medical Press www.ompress.com joh...@om... |