# Path: venster/atl.py
# class AxWindow(wtl.Window):
#     def __init__(self, ctrlId, *args, **kwargs):
#     def GetControl(self):
# 
# Path: venster/lib/form.py
# EXIT_NONE = 0
# EXIT_ONDESTROY = 1 #exit app on destroy of form
# EXIT_ONLASTDESTROY = 2 #exit app on destroy of last form
# ID_NEW = 5001
# ID_OPEN = 5002
# ID_EXIT = 5003
# ID_SAVE = 5004
# ID_SAVEAS = 5005
# ID_CLOSE = 5006
# ID_UNDO = 5101
# ID_REDO = 5102
# ID_COPY = 5103
# ID_PASTE = 5104
# ID_CUT = 5105
# ID_SELECTALL = 5106
# ID_CLEAR = 5107
# ID_HELP_CONTENTS = 5201
# ID_ABOUT = 5202
# CTRL_VIEW = "form_CtrlView"
# CTRL_STATUSBAR = "form_CtrlStatusBar"
# CTRL_COOLBAR = "form_CtrlCoolbar"
# class Controls(dict):
# class Form(Window):
#     class CmdUIUpdateEvent(object):
# class CMD_UI_UPDATE(object):
#     def Add(self, *args):
#     def dispose(self):
#     def __getattr__(self, key):
#     def __init__(self, *args, **kwargs):
#     def dispose(self):
#     def CreateAccels(self):
#     def PreTranslateMessage(self, msg):
#     def OnMenuSelect(self, event):
#         def __init__(self):
#         def Enable(self, fEnable):
#     def OnInitMenuPopup(self, event):
#     def DoLayout(self, cx, cy):
#     def OnDestroy(self, event):
#     def OnSize(self, event):
#     def OnCreate(self, event):
#     def OnExitCmd(self, event):
#     def OnCloseCmd(self, event):
#     def OnClose(self, event):
#     def __init__(self, id, handler):
#     def __install__(self, msgMap):
#     def __call__(self, receiver, event):


from venster.windows import *
from venster.wtl import *
from venster import atl
from venster.lib import form
from ctypes import *
from comtypes.client import GetEvents, wrap
        import os
    def __init__(self, *args, **kwargs):
        atl.AxWindow.__init__(self, "ShockwaveFlash.ShockwaveFlash", *args, **kwargs)

        pUnk = self.GetControl()
        #get the Flash interface of the control
        pFlash = wrap(pUnk) # XXX replace 'wrap' with 'GetBestInterface'

        #receive events
        self.flashEvents = GetEvents(pFlash, self)

        #start the flash movie
        pFlash.LoadMovie(0, os.getcwd() + os.sep + "cow.swf")
        pFlash.Play()

    def _IShockwaveFlashEvents_OnReadyStateChange(self, this, state):
        # flash event handler
        print "OnReadyStateChange: ", state

    def dispose(self):
        #disconnect connectionpoint
        del self.flashEvents
        atl.AxWindow.dispose(self)

        
class MyForm(form.Form):
    _window_icon_ = _window_icon_sm_ = Icon("COW.ICO")
    
    _window_title_ = "Venster Flash Player"
    
    def OnCreate(self, event):

# Path: venster/atl.py
# class AxWindow(wtl.Window):
#     def __init__(self, ctrlId, *args, **kwargs):
#     def GetControl(self):
# 
# Path: venster/lib/form.py
# EXIT_NONE = 0
# EXIT_ONDESTROY = 1 #exit app on destroy of form
# EXIT_ONLASTDESTROY = 2 #exit app on destroy of last form
# ID_NEW = 5001
# ID_OPEN = 5002
# ID_EXIT = 5003
# ID_SAVE = 5004
# ID_SAVEAS = 5005
# ID_CLOSE = 5006
# ID_UNDO = 5101
# ID_REDO = 5102
# ID_COPY = 5103
# ID_PASTE = 5104
# ID_CUT = 5105
# ID_SELECTALL = 5106
# ID_CLEAR = 5107
# ID_HELP_CONTENTS = 5201
# ID_ABOUT = 5202
# CTRL_VIEW = "form_CtrlView"
# CTRL_STATUSBAR = "form_CtrlStatusBar"
# CTRL_COOLBAR = "form_CtrlCoolbar"
# class Controls(dict):
# class Form(Window):
#     class CmdUIUpdateEvent(object):
# class CMD_UI_UPDATE(object):
#     def Add(self, *args):
#     def dispose(self):
#     def __getattr__(self, key):
#     def __init__(self, *args, **kwargs):
#     def dispose(self):
#     def CreateAccels(self):
#     def PreTranslateMessage(self, msg):
#     def OnMenuSelect(self, event):
#         def __init__(self):
#         def Enable(self, fEnable):
#     def OnInitMenuPopup(self, event):
#     def DoLayout(self, cx, cy):
#     def OnDestroy(self, event):
#     def OnSize(self, event):
#     def OnCreate(self, event):
#     def OnExitCmd(self, event):
#     def OnCloseCmd(self, event):
#     def OnClose(self, event):
#     def __init__(self, id, handler):
#     def __install__(self, msgMap):
#     def __call__(self, receiver, event):


# Path: test/test_flash.py
from venster.windows import *
from venster.wtl import *
from venster import atl
from venster.lib import form
from ctypes import *
from comtypes.client import GetEvents, wrap
        import os

    def __init__(self, *args, **kwargs):
        atl.AxWindow.__init__(self, "ShockwaveFlash.ShockwaveFlash", *args, **kwargs)

        pUnk = self.GetControl()
        #get the Flash interface of the control
        pFlash = wrap(pUnk) # XXX replace 'wrap' with 'GetBestInterface'

        #receive events
        self.flashEvents = GetEvents(pFlash, self)

        #start the flash movie
        pFlash.LoadMovie(0, os.getcwd() + os.sep + "cow.swf")
        pFlash.Play()

    def _IShockwaveFlashEvents_OnReadyStateChange(self, this, state):
        # flash event handler
        print "OnReadyStateChange: ", state

    def dispose(self):
        #disconnect connectionpoint
        del self.flashEvents
        atl.AxWindow.dispose(self)

        
class MyForm(form.Form):
    _window_icon_ = _window_icon_sm_ = Icon("COW.ICO")
    
    _window_title_ = "Venster Flash Player"
    
    def OnCreate(self, event):

        self.controls.Add(form.CTRL_VIEW, FlashWindow(parent = self))