[wxPython] How to determin event raise in other python class

Dear All,

How to trigger an event in other python class

I have a main frame (wxFrame) that call wxMiniFrame to show on the screen.While in wxMiniFrame that is a button that can view frame.When i click the button, my programme will import other python class that will view another frame.My problem is to determine the event that raise in this frame to send back to main frame so it will close the wxMiniFrame or to pass parameter back to the wxMiniFrame.

Example:

passParam.py

#!c:\Program Files\Python\python.exe

from wxPython.wx import *
from secClass import secFrame

class AppFrame(wxFrame):
def init(self, parent, id, title):
self.a=1
wxFrame.init(self,parent,id,title,wxPyDefaultPosition, wxSize(800,600),
wxDEFAULT_FRAME_STYLE|wxHSCROLL|wxVSCROLL)

mainmenu=wxMenuBar()

    menu=self.MakeSystem()
    mainmenu.Append(menu,'&File')
   
    self.SetMenuBar(mainmenu)
def MakeSystem(self):
   
    menu=wxMenu()
   
    menu.Append(100,'List Data')
    EVT_MENU(self,100,self.OnList)
   
    return menu

def OnList(self,event):
self.ViewList=wxMiniFrame(self,-1,‘Login Data- Need To Change’,wxDefaultPosition,wxSize(300,350))
nPanel=wxPanel(self.ViewList,-1)

    self.Reset=wxButton(nPanel,1002,'View')
    self.Reset.SetPosition(wxPoint(100,100))
    
    EVT_BUTTON(self,1002,self.On_ButtonView)
    self.ViewList.Show(true)
   
def On_ButtonView(self,event):
    """Here i import python class in different file (secClass.py)"""
    self.ViewSecFrame=secFrame(self,-1,"Edit Data",wxDefaultPosition,wxSize(456,510))

class MyApp(wxApp):
def OnInit(self):

    self.frame = AppFrame(NULL, -1, "Registration (Client Server) r 1.0")
   
    self.frame.Show(true)
   
    getVal=0
    #self.scrol = AppScroll(self.frame,-1)
    #if self.scrol.On_Des() == 'true':
    #    print 'Yes'
    #else:
    #    print 'Nope'
    #    self.frame.msg('Authenticate Fail','Login Error')
    #    self.frame.GetMenuBar().Enable(ID_NEW_DATA,FALSE)
    #    self.frame.GetMenuBar().Enable(ID_NEW_REG,FALSE)
    #    self.frame.GetMenuBar().Enable(ID_LIST,FALSE)
    """self.scrol.result()
    print self.scrol.lgname
    while self.scrol.result() =='false':
            print 'test'
            print getVal
            getVal=getVal+1
            if getVal > 2:
                self.scrol.Destroy()
                self.frame.Destroy()
                break
            else:
                print 'etetst'
                self.scrol = AppScroll(self.frame,-1)
           
     #self.frame.GetMenuBar().Enable(ID_NEW_DATA,FALSE)
     
    #else:
    #        print 'b'
    """
    self.SetTopWindow(self.frame)
    return true

app = MyApp(0)
app.MainLoop()

pasParam.py (2.49 KB)

secClass.py (652 Bytes)

···

#############################

secClass.py

#!c:\Program Files\Python\python.exe

from wxPython.wx import *

class secFrame(wxFrame):
def init(self,parent,id,title,pos,size):
wxFrame.init(self,parent,id,title,pos,size,wxDEFAULT_FRAME_STYLE)
nPanel=wxPanel(self,-1)
self.Reset=wxButton(nPanel,1002,‘Cancel’)
self.Reset.SetPosition(wxPoint(300,200))

EVT_BUTTON(self,1002,self.On_ButtonCancel)
self.Show(true)

def On_ButtonCancel(self,event):
    self.Destroy()
    """Here I also need to send parameter back to main frame/or to
    close the self.ViewList.
    How to do that?????"""