? gnu/java/awt/peer/qt/QtRepaintThread.java Index: gnu/java/awt/peer/qt/MainQtThread.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/MainQtThread.java,v retrieving revision 1.1 diff -U3 -r1.1 MainQtThread.java --- gnu/java/awt/peer/qt/MainQtThread.java 11 Aug 2005 17:06:48 -0000 1.1 +++ gnu/java/awt/peer/qt/MainQtThread.java 21 Aug 2005 00:12:06 -0000 @@ -50,10 +50,12 @@ long mainThreadInterface; String theme; private boolean running; + private boolean doublebuffer; - public MainQtThread( String theme ) + public MainQtThread( String theme, boolean doublebuffer ) { this.theme = theme; + this.doublebuffer = doublebuffer; running = false; } @@ -65,7 +67,7 @@ /** * Creates the QApplication */ - public native long init(String theme); + public native long init(String theme, boolean doublebuffer); /** * Runs the QApplication (doesn't return.) @@ -74,7 +76,7 @@ public void run() { - QApplicationPointer = init(theme); + QApplicationPointer = init(theme, doublebuffer); running = true; exec(QApplicationPointer); } Index: gnu/java/awt/peer/qt/QtComponentGraphics.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtComponentGraphics.java,v retrieving revision 1.2 diff -U3 -r1.2 QtComponentGraphics.java --- gnu/java/awt/peer/qt/QtComponentGraphics.java 16 Aug 2005 23:22:09 -0000 1.2 +++ gnu/java/awt/peer/qt/QtComponentGraphics.java 21 Aug 2005 00:12:06 -0000 @@ -87,7 +87,7 @@ else setColor( c ); setup(); - // setClip( initialClip ); + setClip( initialClip ); } /** Index: gnu/java/awt/peer/qt/QtComponentPeer.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtComponentPeer.java,v retrieving revision 1.4 diff -U3 -r1.4 QtComponentPeer.java --- gnu/java/awt/peer/qt/QtComponentPeer.java 19 Aug 2005 01:29:26 -0000 1.4 +++ gnu/java/awt/peer/qt/QtComponentPeer.java 21 Aug 2005 00:12:06 -0000 @@ -73,6 +73,8 @@ import java.util.Timer; import java.util.TimerTask; +import javax.swing.DebugGraphics; + public class QtComponentPeer extends NativeWrapper implements ComponentPeer { @@ -111,15 +113,12 @@ */ private QtImage backBuffer; - /** - * Stores if the backBuffer is dirty or not - */ - private boolean dirtyBackBuffer; - protected long qtApp; private boolean settingUp; + private boolean ignoreResize = false; + QtComponentPeer( QtToolkit kit, Component owner ) { this.owner = owner; @@ -166,10 +165,10 @@ setEnabled( owner.isEnabled() ); backBuffer = null; - dirtyBackBuffer = true; updateBounds(); setVisible( owner.isVisible() ); + QtToolkit.repaintThread.queueComponent(this); } settingUp = false; } @@ -352,25 +351,28 @@ toolkit.eventQueue.postEvent(e); } - protected void moveEvent() + protected void moveEvent(int x, int y, int oldx, int oldy) { - ComponentEvent e = new ComponentEvent(owner, - ComponentEvent.COMPONENT_MOVED); - toolkit.eventQueue.postEvent(e); + if( !ignoreResize ) + { + // Since Component.setLocation calls back to setBounds, + // we need to ignore that. + ignoreResize = true; + owner.setLocation( x, y ); + ignoreResize = false; + } } protected void resizeEvent(int oldWidth, int oldHeight, int width, int height) { - dirtyBackBuffer = true; - if( drawableComponent() ) - { - // backBuffer.dispose(); - backBuffer = new QtImage(width, height); - } + if(!(owner instanceof Window)) + return; + ignoreResize = true; owner.setSize(width, height); + ignoreResize = false; ComponentEvent e = new ComponentEvent(owner, - ComponentEvent.COMPONENT_RESIZED); + ComponentEvent.COMPONENT_RESIZED); toolkit.eventQueue.postEvent(e); } @@ -495,7 +497,7 @@ public Graphics getGraphics() { - if( backBuffer == null) + if( backBuffer == null ) { Rectangle r = owner.getBounds(); backBuffer = new QtImage( r.width, r.height ); @@ -512,7 +514,7 @@ public native Point getLocationOnScreen(); - public Dimension getMinimumSize() + public synchronized Dimension getMinimumSize() { Dimension d = getMinimumSizeNative(); if(d == null) @@ -520,12 +522,15 @@ return d; } - public Dimension getPreferredSize() + public synchronized Dimension getPreferredSize() { - Dimension d = getPreferredSizeNative(); - if(d == null) - return owner.getSize(); - return d; + synchronized(toolkit) + { + Dimension d = getPreferredSizeNative(); + if(d == null) + return owner.getSize(); + return d; + } } public Toolkit getToolkit() @@ -574,7 +579,6 @@ int width, int height) { - dirtyBackBuffer = true; setBounds( x, y, width, height ); } @@ -587,9 +591,12 @@ public void setBounds(int x, int y, int width, int height) { + if( ignoreResize ) + return; if(width > 0 && height > 0 && (drawableComponent() || backBuffer != null)) backBuffer = new QtImage(width, height); setBoundsNative(x, y, width, height); + QtToolkit.repaintThread.queueComponent(this); } public void setCursor(Cursor cursor) @@ -629,8 +636,7 @@ case ComponentEvent.COMPONENT_SHOWN: case PaintEvent.PAINT: case PaintEvent.UPDATE: - dirtyBackBuffer = true; - QtUpdate(); + QtToolkit.repaintThread.queueComponent(this); break; case KeyEvent.KEY_PRESSED: break; @@ -640,22 +646,23 @@ } /** - * Paint() is called back from the native side in response to a native + * paint() is called back from the native side in response to a native * repaint event. */ public void paint(Graphics g) { if (backBuffer != null) + backBuffer.drawPixels((QtGraphics)g, 0, 0, 0, 0, 0, false ); + } + + public void paintBackBuffer() + { + if( backBuffer != null) { - if (dirtyBackBuffer) - { - backBuffer.clear(); - Graphics2D bbg = (Graphics2D)backBuffer.getGraphics(); - owner.paint(bbg); - bbg.dispose(); - dirtyBackBuffer = false; - } - backBuffer.drawPixels((QtGraphics)g, 0, 0, 0, 0, 0, false ); + backBuffer.clear(); + Graphics2D bbg = (Graphics2D)backBuffer.getGraphics(); + owner.paint(bbg); + bbg.dispose(); } } Index: gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java,v retrieving revision 1.1 diff -U3 -r1.1 QtEmbeddedWindowPeer.java --- gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java 16 Aug 2005 23:22:09 -0000 1.1 +++ gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java 21 Aug 2005 00:12:06 -0000 @@ -41,7 +41,11 @@ import java.awt.peer.WindowPeer; import gnu.java.awt.peer.EmbeddedWindowPeer; -public class QtEmbeddedWindowPeer extends QtWindowPeer implements WindowPeer +/** + * Embedded window peer for applets. + * FIXME: EmbeddedWindowPeer and this class should extend Window, NOT Frame. + */ +public class QtEmbeddedWindowPeer extends QtFramePeer implements EmbeddedWindowPeer { public QtEmbeddedWindowPeer( QtToolkit kit, Component owner ) { Index: gnu/java/awt/peer/qt/QtFramePeer.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtFramePeer.java,v retrieving revision 1.4 diff -U3 -r1.4 QtFramePeer.java --- gnu/java/awt/peer/qt/QtFramePeer.java 19 Aug 2005 01:29:26 -0000 1.4 +++ gnu/java/awt/peer/qt/QtFramePeer.java 21 Aug 2005 00:12:06 -0000 @@ -37,6 +37,7 @@ package gnu.java.awt.peer.qt; +import java.awt.Component; import java.awt.Frame; import java.awt.Image; import java.awt.Insets; @@ -50,7 +51,7 @@ long frameObject; - public QtFramePeer( QtToolkit kit, Frame owner ) + public QtFramePeer( QtToolkit kit, Component owner ) { super( kit, owner ); } @@ -65,15 +66,9 @@ setMenuBar( ((Frame)owner).getMenuBar() ); } - private void setIcon(QtImage image) - { - // FIXME - Implement! - } + private native void setIcon(QtImage image); - private void setMaximizedBounds(int w, int h) - { - // FIXME - Implement. - } + private native void setMaximizedBounds(int w, int h); private native void setMenu(QtMenuBarPeer mb); @@ -103,8 +98,9 @@ public void setIconImage(Image im) { if (im instanceof QtImage) - setIcon ((QtImage)im); - // FIXME + setIcon( (QtImage)im ); + else + setIcon( new QtImage( im.getSource() ) ); } public void setMaximizedBounds(Rectangle rect) Index: gnu/java/awt/peer/qt/QtImage.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtImage.java,v retrieving revision 1.2 diff -U3 -r1.2 QtImage.java --- gnu/java/awt/peer/qt/QtImage.java 16 Aug 2005 23:22:09 -0000 1.2 +++ gnu/java/awt/peer/qt/QtImage.java 21 Aug 2005 00:12:06 -0000 @@ -408,9 +408,9 @@ { if (isLoaded) { - if( painters != null ) - for(int i = 0; i < painters.size(); i++) - ((QtImageGraphics)painters.elementAt(i)).dispose(); +// if( painters != null ) +// for(int i = 0; i < painters.size(); i++) +// ((QtImageGraphics)painters.elementAt(i)).dispose(); freeImage(); } } Index: gnu/java/awt/peer/qt/QtListPeer.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtListPeer.java,v retrieving revision 1.2 diff -U3 -r1.2 QtListPeer.java --- gnu/java/awt/peer/qt/QtListPeer.java 16 Aug 2005 23:22:09 -0000 1.2 +++ gnu/java/awt/peer/qt/QtListPeer.java 21 Aug 2005 00:12:07 -0000 @@ -165,8 +165,7 @@ /** * Sets multiple-selection mode. - * WONTFIX: QAbstractItemView::MultiSelection does not work as it should - * in Qt 4.0.0, Trolltech bug reporter says this will be fixed in 4.1.0. + * Note there's a bug in multiple selection in Qt 4.0.0, use 4.0.1. */ public native void setMultipleMode(boolean multi); Index: gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java,v retrieving revision 1.2 diff -U3 -r1.2 QtScreenDeviceConfiguration.java --- gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java 19 Aug 2005 01:29:26 -0000 1.2 +++ gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java 21 Aug 2005 00:12:07 -0000 @@ -139,9 +139,9 @@ return nTrans; } - public VolatileImage createCompatibleVolatileImage(int width, int height, int transparency) + public VolatileImage createCompatibleVolatileImage(int width, int height, + int transparency) { - // TODO Auto-generated method stub - return null; + return createCompatibleVolatileImage(width, height); } } Index: gnu/java/awt/peer/qt/QtToolkit.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtToolkit.java,v retrieving revision 1.2 diff -U3 -r1.2 QtToolkit.java --- gnu/java/awt/peer/qt/QtToolkit.java 16 Aug 2005 23:22:09 -0000 1.2 +++ gnu/java/awt/peer/qt/QtToolkit.java 21 Aug 2005 00:12:07 -0000 @@ -127,12 +127,14 @@ public class QtToolkit extends ClasspathToolkit { public static EventQueue eventQueue = null; // the native event queue + public static QtRepaintThread repaintThread = null; public static MainQtThread guiThread = null; public static QtGraphicsEnvironment graphicsEnv = null; private static void initToolkit() { eventQueue = new EventQueue(); + repaintThread = new QtRepaintThread(); System.loadLibrary("qtpeer"); String theme = null; @@ -149,8 +151,23 @@ { } - guiThread = new MainQtThread( theme ); + boolean doublebuffer = true; + try + { + String style = System.getProperty("qtoptions.nodoublebuffer"); + if(style != null) + doublebuffer = false; + } + catch(SecurityException e) + { + } + catch(IllegalArgumentException e) + { + } + + guiThread = new MainQtThread( theme, doublebuffer ); guiThread.start(); + repaintThread.start(); } /** @@ -450,28 +467,9 @@ throw new UnsupportedOperationException(); } - // REMOVE. - public void registerImageIOSpis(IIORegistry reg) - { - } - public EmbeddedWindowPeer createEmbeddedWindow(EmbeddedWindow w) { - return null; // FIXME - } - - // Yucky. - - public boolean nativeQueueEmpty() - { - return false; - } - - public void wakeNativeQueue() - { - } - - public void iterateNativeQueue(EventQueue locked, boolean block) - { + // return new QtEmbeddedWindowPeer( this, w ); + return null; } } Index: include/gnu_java_awt_peer_qt_MainQtThread.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_MainQtThread.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_MainQtThread.h --- include/gnu_java_awt_peer_qt_MainQtThread.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_MainQtThread.h 21 Aug 2005 00:12:07 -0000 @@ -10,7 +10,7 @@ { #endif -JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_qt_MainQtThread_init (JNIEnv *env, jobject, jstring); +JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_qt_MainQtThread_init (JNIEnv *env, jobject, jstring, jboolean); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_MainQtThread_exec (JNIEnv *env, jobject, jlong); #ifdef __cplusplus Index: include/gnu_java_awt_peer_qt_QMatrix.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QMatrix.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QMatrix.h --- include/gnu_java_awt_peer_qt_QMatrix.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QMatrix.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QMatrix__ #define __gnu_java_awt_peer_qt_QMatrix__ Index: include/gnu_java_awt_peer_qt_QPainterPath.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QPainterPath.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QPainterPath.h --- include/gnu_java_awt_peer_qt_QPainterPath.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QPainterPath.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QPainterPath__ #define __gnu_java_awt_peer_qt_QPainterPath__ Index: include/gnu_java_awt_peer_qt_QPen.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QPen.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QPen.h --- include/gnu_java_awt_peer_qt_QPen.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QPen.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QPen__ #define __gnu_java_awt_peer_qt_QPen__ Index: include/gnu_java_awt_peer_qt_QtAudioClip.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtAudioClip.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtAudioClip.h --- include/gnu_java_awt_peer_qt_QtAudioClip.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtAudioClip.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtAudioClip__ #define __gnu_java_awt_peer_qt_QtAudioClip__ Index: include/gnu_java_awt_peer_qt_QtButtonPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtButtonPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtButtonPeer.h --- include/gnu_java_awt_peer_qt_QtButtonPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtButtonPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtButtonPeer__ #define __gnu_java_awt_peer_qt_QtButtonPeer__ Index: include/gnu_java_awt_peer_qt_QtCanvasPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtCanvasPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtCanvasPeer.h --- include/gnu_java_awt_peer_qt_QtCanvasPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtCanvasPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtCanvasPeer__ #define __gnu_java_awt_peer_qt_QtCanvasPeer__ Index: include/gnu_java_awt_peer_qt_QtCheckboxPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtCheckboxPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtCheckboxPeer.h --- include/gnu_java_awt_peer_qt_QtCheckboxPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtCheckboxPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtCheckboxPeer__ #define __gnu_java_awt_peer_qt_QtCheckboxPeer__ Index: include/gnu_java_awt_peer_qt_QtChoicePeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtChoicePeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtChoicePeer.h --- include/gnu_java_awt_peer_qt_QtChoicePeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtChoicePeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtChoicePeer__ #define __gnu_java_awt_peer_qt_QtChoicePeer__ Index: include/gnu_java_awt_peer_qt_QtComponentPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtComponentPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtComponentPeer.h --- include/gnu_java_awt_peer_qt_QtComponentPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtComponentPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtComponentPeer__ #define __gnu_java_awt_peer_qt_QtComponentPeer__ Index: include/gnu_java_awt_peer_qt_QtContainerPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtContainerPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtContainerPeer.h --- include/gnu_java_awt_peer_qt_QtContainerPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtContainerPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtContainerPeer__ #define __gnu_java_awt_peer_qt_QtContainerPeer__ Index: include/gnu_java_awt_peer_qt_QtDialogPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtDialogPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtDialogPeer.h --- include/gnu_java_awt_peer_qt_QtDialogPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtDialogPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtDialogPeer__ #define __gnu_java_awt_peer_qt_QtDialogPeer__ Index: include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h,v retrieving revision 1.1 diff -U3 -r1.1 gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h --- include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h 17 Aug 2005 02:03:33 -0000 1.1 +++ include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__ #define __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__ Index: include/gnu_java_awt_peer_qt_QtFileDialogPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtFileDialogPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtFileDialogPeer.h --- include/gnu_java_awt_peer_qt_QtFileDialogPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtFileDialogPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtFileDialogPeer__ #define __gnu_java_awt_peer_qt_QtFileDialogPeer__ Index: include/gnu_java_awt_peer_qt_QtFontMetrics.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtFontMetrics.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtFontMetrics.h --- include/gnu_java_awt_peer_qt_QtFontMetrics.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtFontMetrics.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtFontMetrics__ #define __gnu_java_awt_peer_qt_QtFontMetrics__ Index: include/gnu_java_awt_peer_qt_QtFontPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtFontPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtFontPeer.h --- include/gnu_java_awt_peer_qt_QtFontPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtFontPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtFontPeer__ #define __gnu_java_awt_peer_qt_QtFontPeer__ Index: include/gnu_java_awt_peer_qt_QtFramePeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtFramePeer.h,v retrieving revision 1.4 diff -U3 -r1.4 gnu_java_awt_peer_qt_QtFramePeer.h --- include/gnu_java_awt_peer_qt_QtFramePeer.h 17 Aug 2005 10:50:33 -0000 1.4 +++ include/gnu_java_awt_peer_qt_QtFramePeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtFramePeer__ #define __gnu_java_awt_peer_qt_QtFramePeer__ @@ -11,6 +9,8 @@ #endif JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFramePeer_init (JNIEnv *env, jobject); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFramePeer_setIcon (JNIEnv *env, jobject, jobject); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFramePeer_setMaximizedBounds (JNIEnv *env, jobject, jint, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFramePeer_setMenu (JNIEnv *env, jobject, jobject); JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFramePeer_menuBarHeight (JNIEnv *env, jobject); Index: include/gnu_java_awt_peer_qt_QtGraphics.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtGraphics.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtGraphics.h --- include/gnu_java_awt_peer_qt_QtGraphics.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtGraphics.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtGraphics__ #define __gnu_java_awt_peer_qt_QtGraphics__ Index: include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtGraphicsEnvironment.h --- include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtGraphicsEnvironment__ #define __gnu_java_awt_peer_qt_QtGraphicsEnvironment__ Index: include/gnu_java_awt_peer_qt_QtImage.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtImage.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtImage.h --- include/gnu_java_awt_peer_qt_QtImage.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtImage.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtImage__ #define __gnu_java_awt_peer_qt_QtImage__ Index: include/gnu_java_awt_peer_qt_QtLabelPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtLabelPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtLabelPeer.h --- include/gnu_java_awt_peer_qt_QtLabelPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtLabelPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtLabelPeer__ #define __gnu_java_awt_peer_qt_QtLabelPeer__ Index: include/gnu_java_awt_peer_qt_QtListPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtListPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtListPeer.h --- include/gnu_java_awt_peer_qt_QtListPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtListPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtListPeer__ #define __gnu_java_awt_peer_qt_QtListPeer__ Index: include/gnu_java_awt_peer_qt_QtMenuBarPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtMenuBarPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtMenuBarPeer.h --- include/gnu_java_awt_peer_qt_QtMenuBarPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtMenuBarPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtMenuBarPeer__ #define __gnu_java_awt_peer_qt_QtMenuBarPeer__ Index: include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtMenuComponentPeer.h --- include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtMenuComponentPeer__ #define __gnu_java_awt_peer_qt_QtMenuComponentPeer__ Index: include/gnu_java_awt_peer_qt_QtMenuItemPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtMenuItemPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtMenuItemPeer.h --- include/gnu_java_awt_peer_qt_QtMenuItemPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtMenuItemPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtMenuItemPeer__ #define __gnu_java_awt_peer_qt_QtMenuItemPeer__ Index: include/gnu_java_awt_peer_qt_QtMenuPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtMenuPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtMenuPeer.h --- include/gnu_java_awt_peer_qt_QtMenuPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtMenuPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtMenuPeer__ #define __gnu_java_awt_peer_qt_QtMenuPeer__ Index: include/gnu_java_awt_peer_qt_QtPanelPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtPanelPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtPanelPeer.h --- include/gnu_java_awt_peer_qt_QtPanelPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtPanelPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtPanelPeer__ #define __gnu_java_awt_peer_qt_QtPanelPeer__ Index: include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtPopupMenuPeer.h --- include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtPopupMenuPeer__ #define __gnu_java_awt_peer_qt_QtPopupMenuPeer__ Index: include/gnu_java_awt_peer_qt_QtScreenDevice.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtScreenDevice.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtScreenDevice.h --- include/gnu_java_awt_peer_qt_QtScreenDevice.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtScreenDevice.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtScreenDevice__ #define __gnu_java_awt_peer_qt_QtScreenDevice__ Index: include/gnu_java_awt_peer_qt_QtScrollPanePeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtScrollPanePeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtScrollPanePeer.h --- include/gnu_java_awt_peer_qt_QtScrollPanePeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtScrollPanePeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtScrollPanePeer__ #define __gnu_java_awt_peer_qt_QtScrollPanePeer__ Index: include/gnu_java_awt_peer_qt_QtScrollbarPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtScrollbarPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtScrollbarPeer.h --- include/gnu_java_awt_peer_qt_QtScrollbarPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtScrollbarPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtScrollbarPeer__ #define __gnu_java_awt_peer_qt_QtScrollbarPeer__ Index: include/gnu_java_awt_peer_qt_QtTextAreaPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtTextAreaPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtTextAreaPeer.h --- include/gnu_java_awt_peer_qt_QtTextAreaPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtTextAreaPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtTextAreaPeer__ #define __gnu_java_awt_peer_qt_QtTextAreaPeer__ Index: include/gnu_java_awt_peer_qt_QtTextFieldPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtTextFieldPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtTextFieldPeer.h --- include/gnu_java_awt_peer_qt_QtTextFieldPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtTextFieldPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtTextFieldPeer__ #define __gnu_java_awt_peer_qt_QtTextFieldPeer__ Index: include/gnu_java_awt_peer_qt_QtToolkit.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtToolkit.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtToolkit.h --- include/gnu_java_awt_peer_qt_QtToolkit.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtToolkit.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtToolkit__ #define __gnu_java_awt_peer_qt_QtToolkit__ Index: include/gnu_java_awt_peer_qt_QtVolatileImage.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtVolatileImage.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtVolatileImage.h --- include/gnu_java_awt_peer_qt_QtVolatileImage.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtVolatileImage.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtVolatileImage__ #define __gnu_java_awt_peer_qt_QtVolatileImage__ Index: include/gnu_java_awt_peer_qt_QtWindowPeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtWindowPeer.h,v retrieving revision 1.3 diff -U3 -r1.3 gnu_java_awt_peer_qt_QtWindowPeer.h --- include/gnu_java_awt_peer_qt_QtWindowPeer.h 17 Aug 2005 02:03:33 -0000 1.3 +++ include/gnu_java_awt_peer_qt_QtWindowPeer.h 21 Aug 2005 00:12:07 -0000 @@ -1,5 +1,3 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - #ifndef __gnu_java_awt_peer_qt_QtWindowPeer__ #define __gnu_java_awt_peer_qt_QtWindowPeer__ Index: native/jni/qt-peer/componentevent.cpp =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/componentevent.cpp,v retrieving revision 1.1 diff -U3 -r1.1 componentevent.cpp --- native/jni/qt-peer/componentevent.cpp 11 Aug 2005 17:06:48 -0000 1.1 +++ native/jni/qt-peer/componentevent.cpp 21 Aug 2005 00:12:10 -0000 @@ -101,7 +101,9 @@ void AWTResizeEvent::runEvent() { - widget->setGeometry( x, y, w, h ); + QRect g = widget->geometry(); + if(g.x() != x || g.y() != y || g.width() != w || g.height() != h) + widget->setGeometry( x, y, w, h ); } AWTBackgroundEvent::AWTBackgroundEvent(QWidget *wid, bool fg, QColor *clr) Index: native/jni/qt-peer/componentevent.h =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/componentevent.h,v retrieving revision 1.1 diff -U3 -r1.1 componentevent.h --- native/jni/qt-peer/componentevent.h 11 Aug 2005 17:06:48 -0000 1.1 +++ native/jni/qt-peer/componentevent.h 21 Aug 2005 00:12:10 -0000 @@ -173,31 +173,4 @@ } }; -class AWTGetSizeEvent : public AWTEvent { - - private: - QWidget *widget; - bool preferred; - - public: - - QSize **size; - - AWTGetSizeEvent(QWidget *w, QSize **s, bool pref) : AWTEvent() - { - widget = w; - preferred = pref; - size = s; - } - void runEvent() - { - QSize s; - if( preferred ) - s = widget->sizeHint(); - else - s = widget->minimumSizeHint(); - *size = new QSize( s.width(), s.height() ); - } -}; - #endif Index: native/jni/qt-peer/eventmethods.h =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/eventmethods.h,v retrieving revision 1.1 diff -U3 -r1.1 eventmethods.h --- native/jni/qt-peer/eventmethods.h 16 Aug 2005 23:22:09 -0000 1.1 +++ native/jni/qt-peer/eventmethods.h 21 Aug 2005 00:12:10 -0000 @@ -186,7 +186,8 @@ void moveEvent( QMoveEvent *e ) { PARENT::moveEvent(e); - callVoidMethod("moveEvent"); + callMouseMethod("moveEvent", e->pos().x(), e->pos().y(), + e->oldPos().x(), e->oldPos().y()); } void resizeEvent( QResizeEvent *e ) @@ -228,7 +229,7 @@ // call QtComponentPeer.paintEvent() jmethodID paintEventID = env->GetMethodID( componentCls, - "paint", + "paint", "(Ljava/awt/Graphics;)V" ); env->CallVoidMethod( target, paintEventID, graphics ); env->DeleteLocalRef( cls ); Index: native/jni/qt-peer/mainqtthread.cpp =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/mainqtthread.cpp,v retrieving revision 1.2 diff -U3 -r1.2 mainqtthread.cpp --- native/jni/qt-peer/mainqtthread.cpp 15 Aug 2005 21:53:12 -0000 1.2 +++ native/jni/qt-peer/mainqtthread.cpp 21 Aug 2005 00:12:10 -0000 @@ -45,11 +45,15 @@ MainThreadInterface *mainThread; QApplication *qApplication; +#if defined(Q_WS_X11) +extern void qt_x11_set_global_double_buffer( bool ); +#endif + /** * Starts up a QApplication */ JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_qt_MainQtThread_init -(JNIEnv *env, jobject obj, jstring theme) +(JNIEnv *env, jobject obj, jstring theme, jboolean doublebuffer) { int *argc; char **argv; @@ -87,6 +91,11 @@ jclass cls = env->GetObjectClass(obj); jfieldID nofid = env->GetFieldID( cls, "mainThreadInterface", "J" ); env->SetLongField( obj, nofid, (jlong)mainThread ); + +#if defined(Q_WS_X11) + // turn off double-buffering. + qt_x11_set_global_double_buffer( (doublebuffer == JNI_TRUE) ); +#endif return (jlong)qtApp; } Index: native/jni/qt-peer/mainthreadinterface.cpp =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/mainthreadinterface.cpp,v retrieving revision 1.1 diff -U3 -r1.1 mainthreadinterface.cpp --- native/jni/qt-peer/mainthreadinterface.cpp 11 Aug 2005 17:06:48 -0000 1.1 +++ native/jni/qt-peer/mainthreadinterface.cpp 21 Aug 2005 00:12:10 -0000 @@ -50,6 +50,7 @@ */ bool MainThreadInterface::event ( QEvent * e ) { + QObject::event( e ); if( e->type() == QEvent::User) { AWTEvent *fe = (AWTEvent *)e; Index: native/jni/qt-peer/mainthreadinterface.h =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/mainthreadinterface.h,v retrieving revision 1.1 diff -U3 -r1.1 mainthreadinterface.h --- native/jni/qt-peer/mainthreadinterface.h 11 Aug 2005 17:06:48 -0000 1.1 +++ native/jni/qt-peer/mainthreadinterface.h 21 Aug 2005 00:12:10 -0000 @@ -20,9 +20,6 @@ }; -#define AWT_INIT 0 -#define AWT_SETVISIBLE 1 - class MainThreadInterface : public QObject { private: Index: native/jni/qt-peer/qtcomponentpeer.cpp =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/qtcomponentpeer.cpp,v retrieving revision 1.3 diff -U3 -r1.3 qtcomponentpeer.cpp --- native/jni/qt-peer/qtcomponentpeer.cpp 16 Aug 2005 23:22:09 -0000 1.3 +++ native/jni/qt-peer/qtcomponentpeer.cpp 21 Aug 2005 00:12:10 -0000 @@ -122,14 +122,10 @@ { QWidget *widget = (QWidget *) getNativeObject( env, obj ); assert( widget ); - QSize *size = NULL; - AWTGetSizeEvent *e = new AWTGetSizeEvent( widget, &size, false ); - mainThread->postEventToMain( e ); - while(size == NULL); - return makeDimension(env, size); - - delete size; + QSize s = widget->minimumSizeHint(); + jobject q = makeDimension(env, &s); + return q; } /* @@ -141,15 +137,10 @@ { QWidget *widget = (QWidget *) getNativeObject( env, obj ); assert( widget ); - QSize *size = NULL; - - AWTGetSizeEvent *e = new AWTGetSizeEvent( widget, &size, true ); - mainThread->postEventToMain( e ); - while(size == NULL); - - return makeDimension(env, size); - - delete size; + + QSize s = widget->sizeHint(); + jobject q = makeDimension(env, &s); + return q; } /* @@ -202,14 +193,8 @@ { QWidget *widget = (QWidget *) getNativeObject( env, obj ); assert( widget ); - - QRect g = widget->geometry(); - if(g.x() != x || g.y() != y || - g.width() != width || g.height() != height) - { - mainThread->postEventToMain - (new AWTResizeEvent( widget, x, y, width, height ) ); - } + mainThread->postEventToMain + (new AWTResizeEvent( widget, x, y, width, height ) ); } /* Index: native/jni/qt-peer/qtframepeer.cpp =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/qtframepeer.cpp,v retrieving revision 1.3 diff -U3 -r1.3 qtframepeer.cpp --- native/jni/qt-peer/qtframepeer.cpp 16 Aug 2005 23:22:09 -0000 1.3 +++ native/jni/qt-peer/qtframepeer.cpp 21 Aug 2005 00:12:10 -0000 @@ -37,13 +37,16 @@ #include #include +#include #include #include +#include #include #include #include #include "qtcomponent.h" #include "qtstrings.h" +#include "qtimage.h" #include "containers.h" #include "keybindings.h" #include "mainthreadinterface.h" @@ -160,6 +163,32 @@ } /** + * Sets the icon image. + */ +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFramePeer_setIcon +(JNIEnv *env, jobject obj, jobject image) +{ + QMainWindow *frame = (QMainWindow *) getNativeObject( env, obj ); + assert( frame ); + + QIcon *i; + if( image == NULL ) + { + // remove icon + i = new QIcon(); + } + else + { + // set icon + QImage *img = getQtImage( env, image ); + assert( img ); + i = new QIcon( QPixmap::fromImage( *img ) ); + } + frame->setWindowIcon( *i ); + delete i; +} + +/** * Returns the menu bar height for insets. */ JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFramePeer_menuBarHeight @@ -197,4 +226,13 @@ mainThread->postEventToMain( new FrameMenuEvent( frame, menubar ) ); } +/** + * Set the bounds of the maximized frame + */ +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFramePeer_setMaximizedBounds (JNIEnv *env, jobject obj, jint w, jint h) +{ + QMainWindow *frame = (QMainWindow *) getNativeObject( env, obj ); + assert( frame ); + // FIXME +} Index: native/jni/qt-peer/qtgraphics.cpp =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/qt-peer/qtgraphics.cpp,v retrieving revision 1.3 diff -U3 -r1.3 qtgraphics.cpp --- native/jni/qt-peer/qtgraphics.cpp 16 Aug 2005 23:22:09 -0000 1.3 +++ native/jni/qt-peer/qtgraphics.cpp 21 Aug 2005 00:12:10 -0000 @@ -211,7 +211,6 @@ { QPainter *painter = getPainter( env, obj ); assert( painter ); - qreal x, y, w, h; painter->clipPath().boundingRect().getRect(&x, &y, &w, &h);