From: Eric K. <eri...@gm...> - 2009-04-13 11:25:06
|
Dear wxc users, So a few years ago, Surendra Singhi suggested that we automate the generation of the C wrappers for wxWidgets. Now with wxWidgets 2.8 out for some time and the wxWidgets team is busy working towards 3.0, I would like to suggest that we revisit this discussion. Let's not update this wrapper to work with wxWidgets 3.0. Instead, how about starting over from something that's completely automatically generated? In fact, we've just had some discussion on this on the wxHaskell mailing list, in which we attempt to generate these bindings from the Doxygen XML output (thanks to Kevin Ollivier from the wxWidgets team for the idea): * https://sourceforge.net/mailarchive/message.php?msg_name=20090409175728.GA15805%40brighton.ac.uk * https://sourceforge.net/mailarchive/message.php?msg_name=8AD3AF71-4A6A-4984-8925-3C42F7F9B0E2%40theolliviers.com Having this kind of automatically generated code could save us a lot of work and help us to keep our bindings up to date. If we play our cards right, we may be able to get this script into the official wxWidgets tree (!), which could considerably simplify matters. So are there any wxOcaml and wxEiffel or other wxC users around? If so, could you comment on whether this technique could work well for you, or what you would need from a WXC binding? In particular, wxHaskell seems to make use of extra type information for our marshalling layer: http://code.haskell.org/wxhaskell/wxc/include/wxc_types.h How about you? And how can we move forward? Thanks! Eric PS. Below is a small extract of the automatically-generated code: > /* Constructor */ > wxButton wxButton_wxButton (); > /* Constructor */ > wxButton wxButton_wxButton (wxWindow * _parent, wxWindowID _id, > wxString & _label, wxPoint & _pos, > wxSize & _size, long _style, > wxValidator & _validator, wxString & _name); > void wxButton_Destruct (wxButton * _obj); > bool wxButton_Create (wxButton _obj, wxWindow * _parent, wxWindowID _id, > wxString & _label, wxPoint & _pos, wxSize & _size, > long _style, wxValidator & _validator, > wxString & _name); > wxString wxButton_GetLabel (wxButton _obj); > wxWindow *wxButton_SetDefault (wxButton _obj); > void wxButton_SetLabel (wxButton _obj, wxString & _label); > wxSize wxButton_GetDefaultSize (wxButton _obj); -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9 |