#!python
## Windows 7 and 2.9.5.0 msw (classic)
##
## PROBLEM ##
## 
## Pressing Enter in wx.DatePickerCtrl will not move focus to next field
##
import sys
import wx
import locale
import traceback
from wx.lib.masked import TextCtrl  
from wx.lib.masked import NumCtrl 
import locale
locale.setlocale(locale.LC_ALL, "uk_uk")
print wx.DateTime.Now().Format("%x")

def show_error():
    message = ''.join(traceback.format_exception(*sys.exc_info()))
    dialog = wx.MessageDialog(None, message, 'Error!', wx.OK|wx.ICON_ERROR)
    dialog.ShowModal()

class MyForm( wx.Frame) :
    def __init__(self,parent,title) :
        wx.Frame.__init__(self,parent,size =(300,200),title=title)
        panel=wx.Panel(self)
        
        lb0=wx.StaticText(panel,label="Name")
        nm=TextCtrl(panel,style=wx.TE_PROCESS_ENTER)
        
        lb1=wx.StaticText(panel,label='Date of Birth')
        #dt1=wx.DatePickerCtrl(panel, style=wx.TE_PROCESS_ENTER)
        dt1=TextCtrl(panel,value=wx.DateTime_Now().Format("%d/%m/%Y"),
                          style= wx.TE_PROCESS_ENTER,
                          mask = "##/##/####",
                          formatcodes="D",
                          validRequired=True,
                          )
        
        lb2=wx.StaticText(panel,label='Place')
        place=TextCtrl(panel,style=wx.TE_PROCESS_ENTER)
        
        #dt1.Bind(wx.EVT_KEY_DOWN,self.KeyDown)
        #dt1.Bind(wx.EVT_TEXT_ENTER,self.Enter)
        panel.Bind(wx.EVT_CHAR,self.OnKeyPress)
        
        fsz=wx.FlexGridSizer(4,2,5,5)
        
        fsz.Add(lb0,0,0,0)
        fsz.Add(nm,0,0,0)
        fsz.Add(lb1,0,0,0)
        fsz.Add(dt1,0,0,0)
        fsz.Add(lb2,0,0,0)
        fsz.Add(place,0,0,0)
        panel.SetSizerAndFit(fsz)
        
    def KeyDown(self,e) :
        print "key down Event Occured"
                  
    def Enter(self,e) :
        print "Pressed  Enter Key" 
           
    def OnKeyPress(self, event):
        keycode = event.GetKeyCode()
        print keycode
        if keycode == wx.WXK_SPACE:
            print "you pressed the spacebar!"
        event.Skip()
        
if __name__ == '__main__' :
    app=wx.App(True)
    try :
        frame=MyForm(None,"Title")
        frame.Show()
        #if checkAutho() == True :
        app.MainLoop()
    except :
        show_error()

    
    
        
        
        
        
        
        
    
