import wx
import vAps
import mAps 

class Controller:
    def __init__(self, app):
        self.app = app
        self.view = vAps.View(self)
        self.model = mAps.Model(self)
        self.view.Show()

from wx.lib.mixins.inspection import InspectionMixin

class App(wx.App, InspectionMixin):
    def __init__(self, redirect=False, filename=None):
        wx.App.__init__(self, redirect, filename)
        self.controller = Controller(self)
        self.Init()

    def setViewObject(self, view):
        self.view = view

    def bindClicks(self):
        self.Bind(wx.EVT_LEFT_UP, self.onLeftUp)

    def onLeftUp(self, evt):
        eventObject = evt.GetEventObject()

        if eventObject.GetTopLevelParent()==self.view:
            self.controller.view.onLeftUp(evt)

        else:
            evt.Skip()
            
        return True

        
if __name__ == "__main__":
    app = App(redirect=False)

    app.MainLoop()

