Hy!

I have many small panels with text and I want do bind wx.EVT_LEFT_DOWN 
when clicked on panel, but i need to bind that in parent class. So I 
have instance of that small panel and when i bind it efects only part of 
small panel where is no text.

<code>

import wx

class RequestedFilesItems(wx.Panel):
        def __init__(self, parent, id):
                wx.Panel.__init__(self, parent, -1, style=wx.SUNKEN_BORDER)
                sizer = wx.BoxSizer(wx.HORIZONTAL)
                        
                upButton = PanelButton(self, -1, "Upload")
                upButton.Bind(wx.EVT_LEFT_DOWN, self.upload)
                sizer.Add(upButton, 0, wx.LEFT, 15)



                self.SetSizer(sizer)    

        def upload(self, event):
                print "Please print this"

        
                
class PanelButton(wx.Panel):
        def __init__(self, parent, id, buttonName):
                wx.Panel.__init__(self, parent, -1, style=wx.SUNKEN_BORDER)
                self.SetBackgroundColour("GREY")
                sizer = wx.BoxSizer(wx.HORIZONTAL)
                self.text = wx.StaticText(self, -1, buttonName)         
                sizer.Add(self.text, -1, wx.EXPAND | wx.ALL, 1)
                self.text.Bind(wx.EVT_LEFT_DOWN, self.OnClick)
                self.SetSizer(sizer)

        def OnClick(self, event):
                print "It only works for text, not for panel what I expected 
here"


if __name__ == '__main__':
     app = wx.PySimpleApp()
     frm = wx.Frame(None, wx.ID_ANY, 'Mouse-click test')
     panel = RequestedFilesItems(frm, wx.ID_ANY)
     frm.Show()
     app.MainLoop()



app.MainLoop()

<code>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to