class MyButton : public QPushButton { public: MyButton(JNIEnv *env, jobject obj, QWidget *parent) : QPushButton(parent) { setup(env, obj); } ~MyButton() { destroy(); } #define I_KNOW_WHAT_IM_DOING #define PARENT QPushButton #include "eventmethods.cpp" };