On May 13, 2:43 pm, Iain King <[EMAIL PROTECTED]> wrote:
> On May 13, 2:20 pm, Larry Bates <[EMAIL PROTECTED]> wrote:
>
>
>
> > Iain King wrote:
> > > Hi.  I have a modal dialog whcih has a "Browse..." button which pops
> > > up a file selector.  This all works fine, but the first thing the user
> > > has to do when they open the dialog is select a file, so I would like
> > > the dialog to automatically call the onBrowse function as soon as the
> > > dialog opens.  However, I don't know how to do this.
>
> > > dlg.ShowModal()
> > > onBrowse()
>
> > > obviously doesn't work, and neither does the reverse.  I was hoping
> > > that the dialog would throw some kind of "I have been shown" event,
> > > but it doesn't (as far as I can tell).  How do I make the dialog do
> > > something as soon as it's been shown?
>
> > > Iain
>
> > If the only things on your modal dialog are Browse and cancel, just call the
> > wx.FileDialog directly and eliminate the intermediate modal dialog.  If not
> > don't bind the FileDialog to a button, just create an instance of it as the 
> > last
> >   you do in the __init__ method of the modal dialog code.
>
> > If this doesn't help, you will have better luck posting to wxpython 
> > newsgroup.
>
> > -Larry
>
> The dialog doesn't only let you call the file dialog, it does other
> stuff too.  Your suggestion of __init__ sounded promising, but neither
> giving the dialog an __init__() method nor an OnInit() method worked.
> Thanks anyway.
>
> Iain

After having a hunt through the wxpython mailing list archives I found
the answer:  the event is EVT_INIT_DIALOG:

dlg.Bind(wx.EVT_INIT_DIALOG, onInit, dlg)

work.  Thanks for the pointer.

Iain
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to