#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

# standard imports
import os
import wx

class SampleDialog(wx.Dialog):
    """Sample derived dialog 
    """
    (DEFAULT_WIDTH, DEFAULT_HEIGHT) = (807, 470)
    
    def __init__(self, parent):
        """Constructor
        """
        wx.Dialog.__init__(self, parent, title='dummy',
                           style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER,
                           size=(self.DEFAULT_WIDTH, self.DEFAULT_HEIGHT))
                
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        
        title = wx.StaticText(self, -1, 'test')
        title.SetFont(wx.Font(16, wx.SWISS, wx.NORMAL, wx.BOLD))
        self.sizer.AddWindow(title, 0, wx.ALIGN_LEFT|wx.ALL, 5)
        self.sizer.AddWindow(wx.StaticLine(self, -1), 0, wx.EXPAND|wx.ALL, 0)
        
        
        btn_sizer = self.CreateStdDialogButtonSizer(wx.OK|wx.CANCEL)
        self.sizer.Add(btn_sizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5)
        myCancel = wx.Button(self, wx.ID_CANCEL, 'my cancel')
        myOk = wx.Button(self, wx.ID_OK, 'my ok')
        self.sizer.Add(myCancel)
        self.sizer.Add(myOk)
               
        self.SetSizer(self.sizer)
        
        self._wxTextCtrl = wx.TextCtrl(self, value='555')
        self.sizer.Add(self._wxTextCtrl)
        
        self.SetAffirmativeId(wx.ID_OK)
        self.SetEscapeId(wx.ID_CANCEL)
        
        self.Bind(wx.EVT_CLOSE, self.OnClose)        
        
    def OnClose(self, evt):
        """
        """
        print 'OnClose'
        evt.Skip()

class DemoFrame(wx.Frame):
    """
    """
    def __init__(self):
        """
        """        
        wx.Frame.__init__(self, None, wx.ID_ANY,'A demo frame')
        self.panel = wx.Panel(self)
        
        self._wxBtn = wx.Button(self.panel, label='Open')
        self._wxBtn.Bind(wx.EVT_BUTTON, self.OnBtn)
        self._wxBtn.SetFocus()

        self.Show()
        
    def OnBtn(self, event):
        """
        """
        with SampleDialog(self) as dlg:
        
            val = dlg.ShowModal()        
            if val == wx.ID_OK:
                # do the close action on ok
                print "You pressed OK\n"
            else:
                # do the close action on cancel and "X"
                print "You pressed Cancel\n"
            
            print 'return %s' % val

if __name__ == '__main__':

    print wx.version()

    import wx.lib.mixins.inspection as WIT
    app = WIT.InspectableApp()
    #app = wx.App()
    frame = DemoFrame()
    app.MainLoop()
    
    
    
    

  
  
  
  
  
  
  
  
  
  
  