[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