From kde-bindings Sun Sep 11 10:27:53 2005 From: Jochen Becher Date: Sun, 11 Sep 2005 10:27:53 +0000 To: kde-bindings Subject: [Kde-bindings] [Bug 112409] New: overloading qt event handling Message-Id: <20050911122749.112409.jochen_becher () gmx ! de> X-MARC-Message: https://marc.info/?l=kde-bindings&m=112643448009342 ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. http://bugs.kde.org/show_bug.cgi?id=112409 Summary: overloading qt event handling methods in Java subclasses fails Product: bindings Version: unspecified Platform: SuSE RPMs OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: general AssignedTo: kde-bindings kde org ReportedBy: jochen_becher gmx de Version: (using KDE KDE 3.4.0) Installed from: SuSE RPMs OS: Linux The following program defines a widget TestWidget which inherits from QWidget and overloads the event handler mouseReleaseEvent(). It also defines a widget TestWidget2 which inherits from TestWidget and overloads mousePressEvent(). Both widgets should handle the mouseReleaseEvent() but only TestWidget does. If you add a mouseReleaseEvent() to class TestWidget2 which calls the super-method than it works as expected. The calling of Java methods from the C++ wrapper code seems to be broken. import org.kde.qt.QApplication; import org.kde.qt.QCloseEvent; import org.kde.qt.QMouseEvent; import org.kde.qt.QWidget; import org.kde.qt.qtjava; /* * Created on 11.09.2005 * */ public class QtTest { QApplication app; class TestWidget extends QWidget { public TestWidget() { super(); resize(100,100); show(); } protected void mouseReleaseEvent(QMouseEvent arg0) { System.out.println("release"); super.mouseReleaseEvent(arg0); } } class TestWidget2 extends TestWidget { protected void closeEvent(QCloseEvent arg0) { System.out.println("quit"); app.quit(); super.closeEvent(arg0); } protected void mousePressEvent(QMouseEvent arg0) { System.out.println("press"); super.mousePressEvent(arg0); } } public QtTest(String[] args) { app = new QApplication(args); TestWidget w = new TestWidget(); TestWidget w2 = new TestWidget2(); app.exec(); } public static void main(String[] args) { qtjava.initialize(); new QtTest(args); } } _______________________________________________ Kde-bindings mailing list Kde-bindings@kde.org https://mail.kde.org/mailman/listinfo/kde-bindings