1 #ifndef CALLBACKEVENT_H 2 #define CALLBACKEVENT_H 3 4 #include <jni.h> 5 #include <QWidget> 6 #include <QEvent> 7 #include <QColor> 8 #include <QCursor> 9 #include <QFont> 10 #include <QPoint> 11 #include <QWidget> 12 #include <QSize> 13 14 #include "mainthreadinterface.h" 15 16 class AWTInitEvent : public AWTEvent { 17 18 private: 19 JavaVM* vm; 20 jobject target; 21 22 public: 23 AWTInitEvent(JNIEnv *env, jobject obj); 24 void runEvent(); 25 }; 26 27 class AWTDestroyEvent : public AWTEvent { 28 29 private: 30 QWidget *widget; 31 32 public: AWTDestroyEvent(QWidget * w)33 AWTDestroyEvent(QWidget *w) 34 { 35 widget = w; 36 } 37 runEvent()38 void runEvent() 39 { 40 if( widget != NULL ) 41 delete widget; 42 } 43 }; 44 45 class AWTFontEvent : public AWTEvent { 46 47 private: 48 QWidget *widget; 49 QFont *font; 50 51 public: AWTFontEvent(QWidget * w,QFont * f)52 AWTFontEvent(QWidget *w, QFont *f) 53 { 54 widget = w; 55 font = f; 56 } 57 runEvent()58 void runEvent() 59 { 60 widget->setFont( *font ); 61 } 62 }; 63 64 class AWTUpdateEvent : public AWTEvent { 65 66 private: 67 QWidget *widget; 68 int x,y,w,h; 69 bool updateAll; 70 71 public: AWTUpdateEvent(QWidget * src,bool all,int x0,int y0,int w0,int h0)72 AWTUpdateEvent(QWidget *src, bool all, int x0, int y0, int w0, int h0) 73 { 74 widget = src; 75 updateAll = all; 76 x = x0; y = y0; w = w0; h = h0; 77 } 78 runEvent()79 void runEvent() 80 { 81 if(updateAll) 82 widget->update(); 83 else 84 widget->update(x,y,w,h); 85 } 86 }; 87 88 class AWTShowEvent : public AWTEvent { 89 90 private: 91 QWidget *widget; 92 bool visible; 93 94 public: 95 AWTShowEvent(QWidget *w, bool v); 96 void runEvent(); 97 }; 98 99 class AWTEnableEvent : public AWTEvent { 100 101 private: 102 QWidget *widget; 103 bool enabled; 104 105 public: 106 AWTEnableEvent(QWidget *w, bool v); 107 void runEvent(); 108 }; 109 110 class AWTCursorEvent : public AWTEvent { 111 112 private: 113 QWidget *widget; 114 Qt::CursorShape shape; 115 116 public: 117 AWTCursorEvent(QWidget *w, Qt::CursorShape s); 118 void runEvent(); 119 }; 120 121 class AWTResizeEvent : public AWTEvent { 122 123 private: 124 QWidget *widget; 125 int x, y, w, h; 126 127 public: 128 AWTResizeEvent(QWidget *wid, int x0, int y0, int w0, int h0); 129 void runEvent(); 130 }; 131 132 class AWTBackgroundEvent : public AWTEvent { 133 134 private: 135 QWidget *widget; 136 bool foreground; 137 QColor *color; 138 139 public: 140 AWTBackgroundEvent(QWidget *wid, bool fg, QColor *clr); 141 void runEvent(); 142 }; 143 144 class AWTReqFocusEvent : public AWTEvent { 145 146 private: 147 QWidget *widget; 148 149 public: AWTReqFocusEvent(QWidget * w)150 AWTReqFocusEvent(QWidget *w) : AWTEvent() 151 { 152 widget = w; 153 } runEvent()154 void runEvent() 155 { 156 widget->setFocus(); 157 } 158 }; 159 160 class AWTGetOriginEvent : public AWTEvent { 161 162 private: 163 JavaVM* vm; 164 jobject target; 165 QWidget *widget; 166 167 public: 168 AWTGetOriginEvent(QWidget *w, JNIEnv *env, jobject obj); 169 void runEvent(); 170 }; 171 172 class GetSizeEvent : public AWTEvent { 173 174 private: 175 JavaVM* vm; 176 jobject target; 177 QWidget *widget; 178 bool pref; 179 180 public: 181 GetSizeEvent(QWidget *w, JNIEnv *env, jobject obj, bool p); 182 void runEvent(); 183 }; 184 185 class AWTReparent : public AWTEvent { 186 187 private: 188 QWidget *widget; 189 QWidget *parent; 190 191 public: AWTReparent(QWidget * w,QWidget * p)192 AWTReparent(QWidget *w, QWidget *p) : AWTEvent() 193 { 194 widget = w; 195 parent = p; 196 } runEvent()197 void runEvent() 198 { 199 widget->setParent( parent ); 200 } 201 }; 202 203 #endif 204