[Mono-list] Qt-CSharp-0.3
Adam Treat
manyoso@yahoo.com
Mon, 20 May 2002 12:20:31 -0700
Hello Everyone,
Qt-CSharp-0.3 has been released. Changes from the 0.2 version are numerous.
The binding generator itself has been rewritten in CSharp using the Mono CLR
and associated libraries (http://go-mono.org). Thanks Mono! Other
improvements include:
* A preliminary Signal/Slot mechanism has been implemented and the bindings
now support custom csharp slots.
* Complete overloaded constructors and methods for the Qt API's default
parameters.
* The object hierarchy is complete. Interfaces have been provided for classes
with multiple inheritance.
* Type mappings are in a much better shape, ie QString is now mapped to
System.String and so on... Work is needed to make this more efficient.
* Automatic boxing for methods which return a QObject. More work is needed to
keep track of these operations though...
* Enums have been greatly improved although Mono still has some trouble with
nested enums.
* Numerous small bug fixes and improvements.
Things in the pipeline:
* Events and the Event handling mechanism are in the works. The bindings will
register with the QtC event callbacks and then custom event handling will be
performed in the Qt-CSharp API.
* The namespace will likely be broken up into different sections along the
lines of the PyQt bindings.
* Toying with the idea of changing the syntax of simple Qt properties/methods
to use the csharp property syntax. The benefits are a more closely
integrated API, but this would change the naming scheme for many methods and
could impact the enums.
* Along the same lines I am considering a changing the naming standard from
Qt's camel case to the .NET standard pascal case. Again, the benefits are
conformance, but this introduces complexity into the generator and could have
other effects.
I would like to thank all of the Mono project developers and specifically
Dietmar Maurer, Miguel De Icaza, Mike Kestner, Paolo Molaro and Richard Dale
for there help and ideas.
There is still quite a bit of work to be done before the bindings are stable,
however some basic applications are now possible. You can find the
obligatory screenshot here
(http://qtcsharp.sourceforge.net/qt-csharp-0.3.png). This is a picture of a
simple Qt-CSharp application with file menu, csharp slot and about message
box that displays it's own source ;-)
Cheers,
Adam Treat