ibus-qt 1.3.1
|
00001 #ifndef __Q_IBUS_INPUT_CONTEXT_H_ 00002 #define __Q_IBUS_INPUT_CONTEXT_H_ 00003 00004 #include "qibusbus.h" 00005 #include "qibustext.h" 00006 #include "qibusproperty.h" 00007 #include "qibusproplist.h" 00008 #include "qibuslookuptable.h" 00009 00010 class IBusInputContextProxy; 00011 00012 namespace IBus { 00013 00014 class Bus; 00015 typedef Pointer<Bus> BusPointer; 00016 00017 class InputContext; 00018 typedef Pointer<InputContext> InputContextPointer; 00019 00020 class InputContext : public Object 00021 { 00022 Q_OBJECT; 00023 00024 public: 00025 InputContext (const BusPointer &bus, const QString &path); 00026 ~InputContext (void); 00027 00028 void reset (void); 00029 void destroy (void); 00030 void enable (void); 00031 void disable (void); 00032 void focusIn (void); 00033 void focusOut (void); 00034 void getEngine (void); 00035 bool isEnabled (void); 00036 bool processKeyEvent (uint keyval, uint keycode, uint state); 00037 void setCapabilities (uint caps); 00038 void setCursorLocation (int x, int y, int w, int h); 00039 void setEngine (const QString &name); 00040 00041 public: 00042 static InputContextPointer create (const BusPointer &bus, const QString &name); 00043 00044 Q_SIGNALS: 00045 void commitText (const TextPointer &text); 00046 00047 void updatePreeditText (const TextPointer &text, uint cursor_pos, bool visible); 00048 void showPreeditText (void); 00049 void hidePreeditText (void); 00050 00051 void updateAuxiliaryText (const TextPointer &text, bool visible); 00052 void showAuxiliaryText (void); 00053 void hideAuxiliaryText (void); 00054 00055 void updateLookupTable (const LookupTablePointer &table, bool visible); 00056 void showLookupTable (void); 00057 void hideLookupTable (void); 00058 void cursorUpLookupTable (void); 00059 void cursorDownLookupTable (void); 00060 void pageUpLookupTable (void); 00061 void pageDownLookupTable (void); 00062 00063 void registerProperties (const PropListPointer &props); 00064 void updateProperty (const PropertyPointer &property); 00065 00066 void enabled (void); 00067 void disabled (void); 00068 00069 void forwardKeyEvent (uint keyval, uint keycode, uint state); 00070 00071 private Q_SLOTS: 00072 void slotCommitText (const QDBusVariant &text); 00073 00074 void slotUpdatePreeditText(const QDBusVariant &text, uint cursor_pos, bool visible); 00075 void slotHidePreeditText(); 00076 void slotShowPreeditText(); 00077 00078 void slotUpdateAuxiliaryText(const QDBusVariant &text, bool visible); 00079 void slotShowAuxiliaryText(); 00080 void slotHideAuxiliaryText(); 00081 00082 void slotUpdateLookupTable(const QDBusVariant &table, bool visible); 00083 void slotShowLookupTable(); 00084 void slotHideLookupTable(); 00085 void slotCursorUpLookupTable(); 00086 void slotCursorDownLookupTable(); 00087 void slotPageUpLookupTable(); 00088 void slotPageDownLookupTable(); 00089 00090 void slotRegisterProperties(const QDBusVariant &props); 00091 void slotUpdateProperty(const QDBusVariant &prop); 00092 00093 void slotEnabled(); 00094 void slotDisabled(); 00095 00096 void slotForwardKeyEvent(uint keyval, uint keycode, uint state); 00097 00098 /* 00099 signals: 00100 void disconnected (void); 00101 void connected (void); 00102 00103 private slots: 00104 void slotAddressChanged (const QString &path); 00105 void slotIBusDisconnected (void); 00106 */ 00107 private: 00108 BusPointer m_bus; 00109 IBusInputContextProxy *m_context; 00110 }; 00111 00112 }; 00113 00114 #endif