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.
68 lines
2.2 KiB
68 lines
2.2 KiB
//
|
|
// emptyic.h
|
|
//
|
|
|
|
#ifndef EMPTYIC_H
|
|
#define EMPTYIC_H
|
|
|
|
#include "private.h"
|
|
#include "globals.h"
|
|
#include "compart.h"
|
|
|
|
class CDocumentInputManager;
|
|
class CEmptyInputContext;
|
|
CEmptyInputContext *EnsureEmptyContext();
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CEmptyInputContext
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
class CEmptyInputContext : public ITfContext,
|
|
public CCompartmentMgr,
|
|
public CComObjectRootImmx
|
|
{
|
|
public:
|
|
CEmptyInputContext(CDocumentInputManager *dim);
|
|
~CEmptyInputContext();
|
|
|
|
BEGIN_COM_MAP_IMMX(CEmptyInputContext)
|
|
COM_INTERFACE_ENTRY(ITfContext)
|
|
COM_INTERFACE_ENTRY(ITfCompartmentMgr)
|
|
END_COM_MAP_IMMX()
|
|
|
|
IMMX_OBJECT_IUNKNOWN_FOR_ATL()
|
|
|
|
//
|
|
// ITfContext
|
|
//
|
|
STDMETHODIMP RequestEditSession(TfClientId tid, ITfEditSession *pes, DWORD dwFlags, HRESULT *phrSession);
|
|
STDMETHODIMP InWriteSession(TfClientId tid, BOOL *pfWriteSession);
|
|
STDMETHODIMP GetSelection(TfEditCookie ec, ULONG ulIndex, ULONG ulCount, TF_SELECTION *pSelection, ULONG *pcFetched);
|
|
STDMETHODIMP SetSelection(TfEditCookie ec, ULONG ulCount, const TF_SELECTION *pSelection);
|
|
STDMETHODIMP GetStart(TfEditCookie ec, ITfRange **ppStart);
|
|
STDMETHODIMP GetEnd(TfEditCookie ec, ITfRange **ppEnd);
|
|
STDMETHODIMP GetStatus(TS_STATUS *pdcs);
|
|
STDMETHODIMP GetActiveView(ITfContextView **ppView);
|
|
STDMETHODIMP EnumViews(IEnumTfContextViews **ppEnum);
|
|
STDMETHODIMP GetProperty(REFGUID guidProp, ITfProperty **ppv);
|
|
|
|
STDMETHODIMP GetAppProperty(REFGUID guidProp, ITfReadOnlyProperty **ppProp);
|
|
STDMETHODIMP TrackProperties(const GUID **pguidProp, ULONG cProp, const GUID **pguidAppProp, ULONG cAppProp, ITfReadOnlyProperty **ppPropX);
|
|
|
|
STDMETHODIMP EnumProperties(IEnumTfProperties **ppEnum);
|
|
STDMETHODIMP GetDocumentMgr(ITfDocumentMgr **ppDoc);
|
|
STDMETHODIMP CreateRangeBackup(TfEditCookie ec, ITfRange *pRange, ITfRangeBackup **ppBackup);
|
|
|
|
HRESULT Init();
|
|
|
|
private:
|
|
CDocumentInputManager *_dim;
|
|
|
|
DBG_ID_DECLARE;
|
|
};
|
|
|
|
|
|
#endif // EMPTYIC_H
|