From: Alberto G. <alb...@gm...> - 2005-04-28 12:58:55
|
> I see that all of the existing widgets have codegen routines for > Python, C++ and XRC in their codegen.py, but all have a separate > perl_codegen.py module. My original query was related to the fact that > my custom widget's perl_codegen.py is not being loaded. And, if I put > the PerlCodeGenerator class inside codegen.py, it doesn't seem to be > used. At this point, I am *ONLY* testing/using the perl code generator. So, let's look at an example, I'm sure it is clearer than my poor Engrish... I have a custom widget for wxHtmlWindow in a "html_window" package. Its __init__.py is: def initialize(): import common import codegen codegen.initialize() if common.use_gui: import html_window return html_window.initialize() Its codegen.initialize is: def initialize(): common.class_names['EditHtmlWindow'] = 'wxHtmlWindow' # python code generation functions pygen = common.code_writers.get("python") if pygen: pygen.add_widget_handler('wxHtmlWindow', PythonCodeGenerator()) cppgen = common.code_writers.get('C++') if cppgen: cppgen.add_widget_handler('wxHtmlWindow', CppCodeGenerator()) xrcgen = common.code_writers.get('XRC') if xrcgen: xrcgen.add_widget_handler('wxHtmlWindow', xrc_code_generator) Now, as you can see I haven't a Perl code generator (I don't know perl that much, and I don't use it for GUIs). But if I had one, I would just add a couple of lines to initialize: plgen = common.code_writers.get('perl') if plgen: plgen.add_widget_handler('wxHtmlWindow', PerlCodeGenerator()) (Of course, assuming I have a proper PerlCodeGenerator defined...) Is this what you did? If so, can you send me the code so I can look at it? Because it should work... > It's been quite a while since I posted this on the first pass, have > any notes or docs been written up that I've missed since then? Not yet, sorry :-( HTH, Alberto |