'''
Created on May 3, 2010
'''

import wx
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
from matplotlib.figure import Figure

class PlotPanel(wx.Panel):
    
    def __init__(self, parent, panel_id):
        
        wx.Panel.__init__(self, parent, panel_id)

        self.fig = Figure()
        self.canvas = FigureCanvasWxAgg(self, -1, self.fig)
        self.fig.add_subplot(111)
        
        self.canvas.mpl_connect('button_press_event', self.onMouseButtonPressEvent)
        
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.canvas, 1, wx.LEFT |wx.TOP | wx.GROW)
        
        self.SetSizer(sizer)
    
    def onMouseButtonPressEvent(self, event):
        answer = wx.MessageBox('Your mouse now doesnt work properly!', 'Mouse not working!', wx.OK | wx.CANCEL)
        
class TestFrame(wx.Frame):
    
    def __init__(self, title, frame_id):
        wx.Frame.__init__(self, None, frame_id, title)
        
        self.backgroundPanel = wx.Panel(self, -1)
        sizer = wx.BoxSizer()
        
        FigurePanel = PlotPanel(self.backgroundPanel, -1)
        
        sizer.Add(FigurePanel, 1, wx.GROW)  
        self.backgroundPanel.SetSizer(sizer)
        
class TestApp(wx.App):
    
    def OnInit(self):
        
        frame = TestFrame('Test', -1)
        self.SetTopWindow(frame)
        frame.SetSize((1024,768))
        frame.CenterOnScreen()
        frame.Show(True)
        
        return True

if __name__ == '__main__':
    app = TestApp(0)   
    app.MainLoop()