88 lines
2.6 KiB
C
88 lines
2.6 KiB
C
|
//
|
||
|
// fnrecon.h
|
||
|
//
|
||
|
|
||
|
#ifndef FNRECON_H
|
||
|
#define FNRECON_H
|
||
|
|
||
|
#include "private.h"
|
||
|
#include "candlstx.h"
|
||
|
|
||
|
class CFunctionProvider;
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// CFunction
|
||
|
//
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
class CFunction
|
||
|
{
|
||
|
public:
|
||
|
CFunction(CFunctionProvider *pFuncPrv);
|
||
|
~CFunction();
|
||
|
|
||
|
protected:
|
||
|
HRESULT GetTarget(TfEditCookie ec, ITfContext *pic, ITfRange *pRange, BOOL bAdjust, ITfRange **ppRangeTmp, WCHAR **ppszText, ULONG *pcch);
|
||
|
BOOL GetFocusedTarget(TfEditCookie ec, ITfContext *pic, ITfRange *pRange, BOOL bAdjust, ITfRange **ppRangeTmp);
|
||
|
|
||
|
friend CKorIMX;
|
||
|
CFunctionProvider *_pFuncPrv;
|
||
|
};
|
||
|
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// CFnRecovnersion
|
||
|
//
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
// !!! WARNING !!!
|
||
|
// This is temp code should be removed in the future
|
||
|
#define MAXREADING 256
|
||
|
|
||
|
class CFnReconversion : public ITfFnReconversion,
|
||
|
public CFunction
|
||
|
{
|
||
|
public:
|
||
|
CFnReconversion(CKorIMX* pKorImx, CFunctionProvider *pFuncPrv);
|
||
|
~CFnReconversion();
|
||
|
|
||
|
//
|
||
|
// IUnknown methods
|
||
|
//
|
||
|
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
|
||
|
STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
STDMETHODIMP_(ULONG) Release(void);
|
||
|
|
||
|
//
|
||
|
// ITfFunction
|
||
|
//
|
||
|
STDMETHODIMP GetDisplayName(BSTR *pbstrCand);
|
||
|
STDMETHODIMP IsEnabled(BOOL *pfEnable);
|
||
|
|
||
|
//
|
||
|
// ITfFnReconversion
|
||
|
//
|
||
|
STDMETHODIMP QueryRange(ITfRange *pRange, ITfRange **ppNewRange, BOOL *pfConvertable);
|
||
|
STDMETHODIMP GetReconversion(ITfRange *pRange, ITfCandidateList **ppCandList);
|
||
|
STDMETHODIMP Reconvert(ITfRange *pRange);
|
||
|
|
||
|
static HRESULT SetResult(ITfContext *pic, ITfRange *pRange, CCandidateListEx *pCandList, CCandidateStringEx *pCand, TfCandidateResult imcr);
|
||
|
|
||
|
HRESULT _QueryRange(TfEditCookie ec, ITfContext *pic, ITfRange *pRange, ITfRange **ppNewRange);
|
||
|
HRESULT _GetReconversion(TfEditCookie ec, ITfContext *pic, ITfRange *pRange, CCandidateListEx **ppCandList, BOOL fSelection);
|
||
|
|
||
|
private:
|
||
|
HRESULT GetReconversionProc( ITfContext *pic, ITfRange *pRange, CCandidateListEx **ppCandList, BOOL fSelection);
|
||
|
HRESULT ShowCandidateList(ITfContext *pic, ITfRange *pRange, CCandidateListEx *pCandList);
|
||
|
// static HRESULT _EditSessionCallback2(TfEditCookie ec, CEditSession2 *pes);
|
||
|
|
||
|
WCHAR _szReading[MAXREADING];
|
||
|
CKorIMX* m_pKorImx;
|
||
|
long _cRef;
|
||
|
};
|
||
|
|
||
|
#endif // FNRECON_H
|
||
|
|