Re: How do I redispatch event?

Kevin Altis <[email protected]>
Newsgroups gmane.comp.python.pythoncard
Message-ID <[email protected]>
There are a couple of issues to deal with. Normally, you need to have  
your event handler finish before wx is going to process the next  
event. Since you want to change the component size during the select,  
the event for that would occur after your handler finishes. On some  
platforms the resize of the component is probably deselecting the  
list, though this might be a bug, I'm not sure. I don't have your  
specific code, but you probably just want to call the redraw() method  
which is defined for all components to force an update after you  
change the component size. The method as defined in widget.py looks  
like this:

     def redraw(self):
         """Force an immediate redraw without waiting for an event  
handler to finish."""
         self.Refresh()
         self.Update()

You would make a call such as...

     event.target.redraw()

If you're losing the selection after the redraw you might be able to  
do just redo the selection...

     temp = event.target.selection
     # resize
     # redraw
     event.target.selection = temp

something like that. Depending on the platform, it might be necessary  
to do some other tweaks.

ka

On Jun 29, 2007, at 5:58 PM, John Henry wrote:

> Hi list,
>
> After I'm done with an event and I wish PythonCard to
> continue processing that event, don't I have to stuff
> the event back onto the event queue?
>
> For instance, let say I wish to change the width of a
> combo box when the user click on the selection list.
> I need to do this at run time because there is no
> space for the field at design time.  So, I set up a
> event handler for the "select" event and change the
> width.  But then if I don't do anything, the list
> won't even open right.  If I do a event.skip(), the
> field gets wider, but then I have to click on the
> selection again.  So, it appears that I need to
> redispatch the "select" event after I'm done with it.
>
> At least that's what one has to do in native Windows
> programming.
>
> Anybody knows?
>
> Regards,
>
>
>
>
> --
> John Henry




-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.