QtAWT Status


 
Java class Qt Peer Status Notes
Toolkit QApplication Started  
QtEventThread none (uses QApplication) Started Fairly inefficient implementation right now
ComponentPeer QWidget Started  Lots of stuff still to be done
ContainerPeer QWidget Started  
WindowPeer QWidget Started  Borderless toplevel widget
FramePeer QFrame? Started  
ButtonPeer QPushButton Started  
LabelPeer QLabel Complete  At last!
CheckBoxPeer QCheckBox Started  
ChoicePeer QComboBox Complete  You can even delete things :-)
DialogPeer QDialog Todo  
PanelPeer ? Todo  
FileDialogPeer QFileDialog Todo  
ScrollPanePeer QScrollView Todo  
TextComponentPeer ? Todo  
TextAreaPeer QTextArea Todo  
TextFieldPeer QTextField Todo  
MenuComponentPeer QMenuData Started  Menus are currently FUBAR
MenuBarPeer QMenuBar Started  
MenuItemPeer none Started This is part of QMenuData in Qt
MenuPeer QPopupMenu Started  
PopupMenuPeer QPopupMenu Todo  
CheckboxMenuItemPeer none Todo This is part of QMenuData in Qt
Note: If you start working on a class then please update this table.
Note 2: There are also the Graphics, Font and Image peers not listed here.
Note 3: No events are sent to the Java code yet, so you cannot respond to user actions.

The Plan

The plan is currently to try to get Frames and Buttons to work in a clean way. Once I've figured out a good way to write the peers it should be easy enough to increase the coverage to include the whole AWT. The only other big problem is event dispatching which I haven't even started yet.

When will QtAWT be finished?

That depends on how much time I get, and how many people give me hand. If you find some particular feature you want has not been written yet, then why not have a go at writing it yourself?

Java 2 Support

You've got to be kidding - lets finish Java 1.1 first.

How can I help?

Well, basically just pick any class in the java.awt.peer package and start typing. If you don't know anything about Qt programming, but you know some Java then you could still help by writing the Java side of a peer (like the ones in the javax/org/kde/qtawt directory of the source tree). I'll try to knock together a HOWTO style document explaining how to write a peer when the mechanism has stabalised a bit. The commincation between the native code and the Java peers is handled using the JNI, so in theory this should port should work with any JVM that supports JNI and Java 1.1. If you are using a JVM other than the Blackdown JDK port, then please let me know how you get on. I have also tried the code with Japhar, but for some reason it refuses to load the toolkit correctly - I suspect this is really a bug in Japhar, but I'm not sure yet.
QtAWT by Richard Moore