From: Kevin A. <al...@se...> - 2007-06-14 14:38:26
|
On Jun 13, 2007, at 12:12 PM, fabio natali wrote: > hi guys, > > i have a htmlwindow component in my pythoncard script. i wish i could > modify htmlwindow code the way i read in [0]. > > unluckily it happens i'm not such a long time python programmer and > i'm not able to do it. i don't know where i'm supposed to write > def OnLinkClicked(self, link): > and the following lines. > > (well, actually i could do the job if i modified the main htmlwindow > file of my pythoncard bundle, but it sounds to be such a dirty way!) > > hope that someone will kindly help me. > > best regards, > fabio. > > [0] http://aspn.activestate.com/ASPN/Mail/Message/PythonCard/1556758 > > -- > fabio natali I'm not entirely sure why David McNab's suggestion wasn't adopted, though it appears it would need some tweaks to work with the various types of containers we support now. But in general I think the reason we never allowed for directly overriding the event is that OnLinkClicked just doesn't work like most wxWidgets events and we probably need to create our own wrapper event to do this properly. Anyway, the solution for you is to create an appcomponents directory where you have your main application files. Copy the components/ htmlwindow.py file to that directory and modify OnLinkClicked in that file to do what you want. Alternatively, create an htmlwindow.py file in the appcomponents directory and subclass the HtmlWindow component that only modifies the OnLinkClicked method. The appcomponents directory is checked for components before PythonCard looks at PythonCard/components so that allows you to add your own components as well as override any of the defaults. ka |