[Kde-bindings] Qt# Bindings: news and status

Adam Treat manyoso at yahoo.com
Tue Jun 29 16:28:18 UTC 2004


Hello All,

So, after some recent conversations with Marcus, I have begun working on Binge 
and the new Qt# bindings again.  Scroll down for some reasoning.

Richard, I don't know how far you are along with the Smoke based C# bindings - 
or if you're still working on them - but I've decided to continue with Binge 
in lieu of your alternative.  Don't worry, Binge doesn't require any QtC 
bindings anymore ;)  It also is being generated via Doxygen xml, so that's 
nice.
 
** Here is more for those interested **

I just wanted to drop a note letting you know that I am working on Binge 
again.  I haven"t talked with either of you, but I"ve seen, through the  
lists, that you are both working on the respective writer classes for 
Bugtussle.
 
Here is the *current status* of Binge:
 
1) It produces a complete binding of Qt including all modules.  
 
2) The respective replacement of QtC is also produced and working properly.  
 
3) Support for all all of the virtual/override object tree is complete 
including C# properties.  
 
4) Signals/Slots, both native and C#, are seemlessly integrated.  Andreas, 
Marcus pointed out that you"ve been working on this aspect.  If you are 
interested, have a look at qtsharp/src/newbindings/static/SigSlot.cs for the 
implementation.  It corresponds to some research that you have been doing 
lately.
 
5) It uses an older xml schema that was produced using a tool that Marcus 
wrote to parse the actual qt c++ header sources.
 
I would like it very much if the team would take a look at Binge and the code 
it produces.  The cvs version is working.  Now.
 
Binge has been nearly complete for quite awhile.  When I left the code was 
almost done.  At the time, I was confronted with some seemingly 
insurmountable problems involving the virual/override code and also some 
messy problems with using C# properties to represent Qt C++ properties.  
After some recent conversations with Marcus and corresponding revelations,  I 
realized that the various open source implementations of the CLR can now 
workaround these problems.  A change in the C# spec for the upcoming Whidbey 
release also is very useful.
 
Binge was written after extensive experience packaging and producing C# 
bindings for Qt.  It incorporates quite a few lessons -- some incredibly 
nuanced and subtle -- painstakingly learned over the course of the last few 
years.  The code produced is clean and, IMO, the proper focus of future 
development.
 
I know you"ve both put in quite a bit of work on the writer classes for 
Bugtussle.  With that understood, I leave it up to you whether to take a look 
at Binge, but at the risk of splitting efforts I urge you to take a look at 
Binge.  You will find an object oriented next generation binding tool that is 
extensible.  We can use this to generate Qt/KDE and other future KDE related 
bindings in a clean and separable manner.

If you have any questions or would like a walk through of the Binge binding 
process (including building from current cvs -- there are two issues 
requiring manual steps -- and running the examples), please let me know.
 
Sincerely,
 
Adam Treat
Qt# creator



More information about the Kde-bindings mailing list