00001
00002
00003
00004
00005
00006 #ifndef FEPINTERFACE_H
00007 #define FEPINTERFACE_H
00008
00009 #include <qnamespace.h>
00010 #include <qstring.h>
00011 #include <qcom.h>
00012
00013 #ifndef QT_NO_COMPONENT
00014 # ifndef IID_Fep
00015 # define IID_Fep QUuid( 0xf30b390c, 0xcee6, 0x4b81, 0xa8, 0x16, 0x16, 0x2d, 0xb6, 0x58, 0x1e, 0x3f)
00016 # endif
00017 #endif
00018
00019 enum IMStatusMode {
00020 NON_ACTIVE,
00021 WAIT_INPUT,
00022 INPUT_STATUS,
00023 COMPOSITION_STATUS,
00024 CANDIDATE_STATUS,
00025 ONKUN_STATUS,
00026 TANSYUKU_STATUS,
00027 SYNSYUKU_STATUS,
00028 PARTINPUT_STATUS,
00029 IM_OTHER_STATUS = 100
00030 };
00031
00032 #ifdef QT_QWS_SHARP
00033 #define COMPOSITION_WIN 0x01
00034 #define CANDIDATE_WIN 0x02
00035 #define KEY_EVENT_FILTER 0x04
00036 #define STATUS_WIN 0x08
00037 #define FEP_NOT_WORK 0x10
00038 #define NOT_CONVERTION_MODE 0x20
00039
00040 #define CIM_None 0x01
00041 #define CIM_Hiragana 0x02
00042 #define CIM_Katakana 0x04
00043 #define CIM_Alpanum 0x08
00044 #define CZM_Hankaku 0x40
00045 #define CZM_Zenkaku 0x80
00046
00047 #define FepConfigFileName "fepmode.ja"
00048
00049 #define FMode_GroupName "FMode"
00050 #define FMode_KeyOnOff "FModeOnOff"
00051 #define FMode_KeyInp "FModeInp"
00052 #define FMode_KeyHen "FModeHen"
00053 #define FMode_PadInp "FModePad"
00054 #define FMode_CRimOnOff "FModeCrimOnOff"
00055 #define FMode_FepDisableCt "FModeDisableCt"
00056
00057 #define FModeNo_KeyOnOff 0
00058 #define FModeNo_KeyInp 1
00059 #define FModeNo_KeyHen 2
00060 #define FModeNo_PadInp 3
00061 #define FModeNo_CRimOnOff 4
00062 #define FModeNo_FepOffDisable 5
00063 #define FModeNo_Dmy0 6
00064 #define FModeNo_Dmy1 7
00065 #define FModeNo_Dmy2 8
00066 #define FModeNo_Dmy3 9
00067 #define FModeNo_Dmy4 10
00068 #define FModeNo_Dmy5 11
00069 #define FModeNo_Dmy6 12
00070 #define FModeNo_Dmy7 13
00071 #define FModeNo_Dmy8 14
00072 #define FModeNo_Dmy9 15
00073 #define FModeNo_MAX 16
00074 #endif
00075
00076 class QWidget;
00077 class QPixmap;
00078 class QObject;
00079
00080 struct FepInterface : public QUnknownInterface
00081 {
00082
00083 virtual void resetState()=0;
00084 virtual QPixmap *icon()=0;
00085 virtual QString name()=0;
00086
00087
00088 virtual QObject *CreateIM(void)=0;
00089 virtual QObject *CreateIM(QWidget *parent)=0;
00090 virtual QObject *CreateIM(QRect rect,QPoint curpos,int IMMode)=0;
00091 virtual QObject *CreateIM(QWidget *parent,QRect rect, QPoint curpos,
00092 int IMMode)=0;
00093 virtual void DeleteIM()=0;
00094 virtual void startIM(void)=0;
00095 virtual void endIM(void)=0;
00096 virtual QObject *SetParentWidgetIM(QWidget *parent,QPoint pos,
00097 QRect rect)=0;
00098 virtual QWidget *GetParentWidgetIM(void)=0;
00099 virtual void StartKeyEventFilter(void)=0;
00100 virtual void EndKeyEventFilter(void)=0;
00101 virtual void update(void)=0;
00102 virtual void SetFocus(void)=0;
00103 virtual void unSetFocus(void)=0;
00104 virtual bool isReasonFocusOutFepWin(QFocusEvent *fe)=0;
00105 virtual bool doKeyEvent(QObject* o,QEvent * e,int *result_dec,
00106 int *result_douon,int *result_douon_disp,
00107 int *result_inpmodechg,int *result_henmodechdg)=0;
00108
00109
00110 virtual int GetIMStatus(void) = 0;
00111 virtual bool GetIMStatusChg(int *result_dec, int *result_douon,
00112 int *result_douon_disp,
00113 int *result_inpmodechg,
00114 int *result_henmodechdg)=0;
00115 virtual void SetIMMode(int IMMode, bool isUseFep)=0;
00116 virtual bool GetIMMode(int *IMMode)=0;
00117 virtual void SetConversionMode(int set)=0;
00118 virtual int GetConversionMode(void)=0;
00119
00120
00121 virtual void SetCompositionCursorPos(QPoint pos)=0;
00122 virtual QPoint GetCompositionCursorPos(void)=0;
00123 virtual void SetCompositionWindowRect(QRect rect)=0;
00124 virtual QRect GetCompositionWindowRect(void)=0;
00125 virtual void SetCompositionWindowFont(QFont &font)=0;
00126 virtual QFont GetCompositionWindowFont(void)=0;
00127 virtual void SetCompositionWindowColorFg(QColor &fg)=0;
00128 virtual QColor GetCompositionWindowColorFg(void)=0;
00129 virtual void SetCompositionWindowColorBg(QColor &bg)=0;
00130 virtual QColor GetCompositionWindowColorBg(void)=0;
00131
00132
00133 virtual void SetCandidateWindowPos(QPoint &gl_pos,
00134 bool setBtmLeft)=0;
00135 virtual QPoint GetCandidateWindowPos(bool *getBtmLeft)=0;
00136 virtual void SetCandidateWindowRect(QRect &gl_rect,
00137 bool setBtmLeft)=0;
00138 virtual QRect GetCandidateWindowRect(bool *getBtmLeft)=0;
00139 virtual void SetCandidateWindowFont(QFont &font)=0;
00140 virtual QFont GetCandidateWindowFont(void)=0;
00141 virtual void SetCandidateWindowColorFg(QColor &fg)=0;
00142 virtual QColor GetCandidateWindowColorFg(void)=0;
00143 virtual void SetCandidateWindowColorBg(QColor &bg)=0;
00144 virtual QColor GetCandidateWindowColorBg(void)=0;
00145 virtual bool isOpenCandidateWindow(void)=0;
00146
00147
00148 virtual QStringList GetCompositionString(void)=0;
00149 virtual QStringList GetCandidateStringList(void)=0;
00150 virtual QString GetDecideString(void)=0;
00151 virtual QString GetReadingString(void)=0;
00152 virtual void SetInputString(QString &inputstr)=0;
00153
00154
00155 virtual void SetEditCursorNo(int no)=0;
00156 virtual int GetEditCursorNo(void)=0;
00157 virtual void SetAttentionPharseNo(int no)=0;
00158 virtual int GetAttentionPharseNo(void)=0;
00159 virtual void SetDouonSelectNo(int no)=0;
00160 virtual int GetDouonSelectNo(void)=0;
00161
00162
00163 virtual void SetPadMode(int set)=0;
00164 virtual int GetPadMode(void)=0;
00165
00166
00167 virtual bool setFepUse(void)=0;
00168 virtual bool resetFepUse(void)=0;
00169 virtual bool isFepUse(void)=0;
00170
00171
00172 virtual void SetDouonJumpNo(int no)=0;
00173 virtual bool directKUI(int InEventType,
00174 int InEventCode,
00175 int InEventParam,
00176 uchar *InEventString,
00177 int *result_dec,
00178 int *result_douon,
00179 int *result_douon_disp,
00180 int *result_inpmodechg,
00181 int *result_henmodechdg)=0;
00182 };
00183
00184
00185 #endif
00186