STDAPI CMarkTextService::Activate(ITfThreadMgr *pThreadMgr, TfClientId tfClientId) { _pThreadMgr = pThreadMgr; _pThreadMgr->AddRef(); _tfClientId = tfClientId; if (!_InitLanguageBar()) goto ExitError; if (!_InitThreadMgrSink()) goto ExitError; if (!_InitDisplayAttributeGuidAtom()) goto ExitError; if (!_InitCleanupContextDurationSink()) goto ExitError; if (!_InitGlobalCompartment()) goto ExitError; if (!_InitWorkerWnd()) goto ExitError; if (!_InitKeystrokeSink()) goto ExitError; return S_OK; ExitError: Deactivate(); // cleanup any half-finished init return E_FAIL; }
STDAPI CTextService::Activate(ITfThreadMgr *pThreadMgr, TfClientId tfClientId) { _pThreadMgr = pThreadMgr; _pThreadMgr->AddRef(); // // Initialize ThreadMgrEventSink. // if (!_InitThreadMgrEventSink()) goto ExitError; // // If there is the focus document manager already, // we advise the TextEditSink. // ITfDocumentMgr *pDocMgrFocus; if ((_pThreadMgr->GetFocus(&pDocMgrFocus) == S_OK) && (pDocMgrFocus != NULL)) { _InitTextEditSink(pDocMgrFocus); pDocMgrFocus->Release(); } // // Initialize Language Bar. // if (!_InitLanguageBar()) goto ExitError; return S_OK; ExitError: Deactivate(); // cleanup any half-finished init return E_FAIL; }
STDAPI CTextService::ActivateEx(ITfThreadMgr *ptim, TfClientId tid, DWORD dwFlags) { //_wsetlocale(LC_ALL, L"JPN"); _CreateConfigPath(); _pThreadMgr = ptim; _pThreadMgr->AddRef(); _ClientId = tid; if(!_InitThreadMgrEventSink()) { goto exit; } if(!_InitCompartmentEventSink()) { goto exit; } if(!_InitLanguageBar()) { goto exit; } if(!_InitKeyEventSink()) { goto exit; } _LoadPreservedKey(); if(!_InitPreservedKey()) { goto exit; } if(!_InitFunctionProvider()) { goto exit; } _SetKeyboardOpen(TRUE); _KeyboardOpenCloseChanged(); return S_OK; exit: Deactivate(); return E_FAIL; }
STDAPI CTextService::ActivateEx(ITfThreadMgr *ptim, TfClientId tid, DWORD dwFlags) { _pThreadMgr = ptim; _pThreadMgr->AddRef(); _ClientId = tid; if (!_IsKeyboardOpen()) { _KeyboardSetDefaultMode(); } if(!_InitThreadMgrEventSink()) { goto exit; } if(!_InitThreadFocusSink()) { goto exit; } if(!_InitCompartmentEventSink()) { goto exit; } { ITfDocumentMgr* pDocumentMgr = nullptr; if (SUCCEEDED(_pThreadMgr->GetFocus(&pDocumentMgr)) && (pDocumentMgr != nullptr)) { _InitTextEditSink(pDocumentMgr); SafeRelease(&pDocumentMgr); } } if(!_InitLanguageBar()) { goto exit; } if(!_InitKeyEventSink()) { goto exit; } if(!_InitDisplayAttributeGuidAtom()) { goto exit; } if(!_InitFunctionProvider()) { goto exit; } _KeyboardOpenCloseChanged(FALSE); return S_OK; exit: Deactivate(); return E_FAIL; }
STDAPI CPropertyMonitorTextService::Activate(ITfThreadMgr *pThreadMgr, TfClientId tfClientId) { _pThreadMgr = pThreadMgr; _pThreadMgr->AddRef(); _tfClientId = tfClientId; // // Initialize ThreadMgrEventSink. // if (!_InitThreadMgrEventSink()) goto ExitError; // // If there is the focus document manager already, // we advise the TextEditSink. // ITfDocumentMgr *pDocMgrFocus; if ((_pThreadMgr->GetFocus(&pDocMgrFocus) == S_OK) && (pDocMgrFocus != NULL)) { _InitTextEditSink(pDocMgrFocus); pDocMgrFocus->Release(); } // // Initialize Language Bar. // if (!_InitLanguageBar()) goto ExitError; // // Initialize Thread focus sink. // if (!_InitThreadFocusSink()) goto ExitError; if (CoCreateInstance(CLSID_TF_DisplayAttributeMgr, NULL, CLSCTX_INPROC_SERVER, IID_ITfDisplayAttributeMgr, (void**)&_pDisplayAttributeMgr) != S_OK) { goto ExitError; } if (CoCreateInstance(CLSID_TF_CategoryMgr, NULL, CLSCTX_INPROC_SERVER, IID_ITfCategoryMgr, (void**)&_pCategoryMgr) != S_OK) { goto ExitError; } _pMemStream = CreateMemoryStream(); if (_pMemStream == NULL) { goto ExitError; } return S_OK; ExitError: Deactivate(); // cleanup any half-finished init return E_FAIL; }