#Boa:Frame:wxFrame1

import os
import wx

from reportman import ReportMan

def create(parent):
    return wxFrame1(parent)

[wxID_WXFRAME1, wxID_WXFRAME1BUTTON1, 
] = [wx.NewId() for _init_ctrls in range(2)]

class wxFrame1(wx.Frame):
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Frame.__init__(self, id=wxID_WXFRAME1, name='', parent=prnt,
              pos=wx.Point(422, 275), size=wx.Size(228, 154),
              style=wx.DEFAULT_FRAME_STYLE, title='wxFrame1')
        self.SetClientSize(wx.Size(220, 120))

        self.button1 =wx.Button(id=wxID_WXFRAME1BUTTON1, label='button1',
              name='button1', parent=self, pos=wx.Point(0, 0), size=wx.Size(220,
              120), style=0)
        self.button1.Bind(wx.EVT_BUTTON, self.OnButton1Button, id=wxID_WXFRAME1BUTTON1)

    def __init__(self, parent):
        self._init_ctrls(parent)

    def OnButton1Button(self, event):
        os.chdir(r'C:\Dev\BoaTest04\ReportManager')
        reportfile = r'C:\Dev\BoaTest04\ReportManager\sample4.rep'
        title = 'mytitle'
        try:
            report = ReportMan(reportfile)
            report.preview(title)
        except ValueError, err:
            msg = err.args[0]
            caption = 'Report error'
            dlg = wx.MessageDialog(None, msg, caption, wx.OK | wx.ICON_INFORMATION)
            try:
                result = dlg.ShowModal()
            finally:
                dlg.Destroy()

if __name__ == '__main__':
    app =wx.PySimpleApp()
    wx.InitAllImageHandlers()
    frame = create(None)
    frame.Show()

    app.MainLoop()
