00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00027 #ifndef SCIMBRIDGECLIENTIMCONTEXTQT_H_
00028 #define SCIMBRIDGECLIENTIMCONTEXTQT_H_
00029
00030 #include <qapplication.h>
00031 #include <qevent.h>
00032 #include <qfont.h>
00033 #include <qinputcontext.h>
00034 #include <qobject.h>
00035 #include <qptrlist.h>
00036 #include <qpoint.h>
00037 #include <qwidget.h>
00038
00039 #include "scim-bridge.h"
00040 #include "scim-bridge-attribute.h"
00041
00042 #include "scim-bridge-client-imcontext.h"
00043
00047 struct _ScimBridgeClientIMContext: public QInputContext
00048 {
00049
00050 public:
00051
00052
00056 static void static_initialize ();
00057
00058
00062 static void static_finalize ();
00063
00064
00068 static void connection_opened ();
00069
00070
00074 static void connection_closed ();
00075
00076
00082 static _ScimBridgeClientIMContext *alloc ();
00083
00084
00088 virtual ~_ScimBridgeClientIMContext () {}
00089
00090
00091 #if defined(Q_WS_X11)
00092
00099 virtual bool x11FilterEvent (QWidget *widget, XEvent *event) = 0;
00100 #endif
00101
00108 virtual bool filterEvent (const QEvent *event) = 0;
00109
00110
00117 virtual void mouseHandler (int offset, QMouseEvent *event) = 0;
00118
00119
00123 virtual void setFocus () = 0;
00124
00125
00129 virtual void unsetFocus () = 0;
00130
00131
00141 virtual void setMicroFocus (int x, int y, int w, int h, QFont *font = 0) = 0;
00142
00143
00147 virtual void reset () = 0;
00148
00149
00150
00151 protected:
00152
00156 _ScimBridgeClientIMContext () {}
00157
00158 };
00159
00160
00161 #endif