Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

87 lines
2.6 KiB

//
// 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