ReactOS 0.4.15-dev-7998-gdb93cb1
CLBarInatItem Class Reference

Language Bar international item. More...

Inheritance diagram for CLBarInatItem:
Collaboration diagram for CLBarInatItem:

Public Member Functions

 CLBarInatItem (DWORD dwThreadId)
 
STDMETHOD() InitMenu (ITfMenu *pMenu) override
 
STDMETHOD() OnMenuSelect (INT nCommandId)
 
STDMETHOD() GetIcon (HICON *phIcon) override
 
STDMETHOD() GetText (BSTR *pbstr) override
 
- Public Member Functions inherited from CLBarItemButtonBase
 CLBarItemButtonBase ()
 
 ~CLBarItemButtonBase () override
 
STDMETHOD() QueryInterface (REFIID riid, void **ppvObject) override
 
 STDMETHOD_ (ULONG, AddRef)() override
 
 STDMETHOD_ (ULONG, Release)() override
 
STDMETHOD() GetInfo (TF_LANGBARITEMINFO *pInfo) override
 
STDMETHOD() GetStatus (DWORD *pdwStatus) override
 
STDMETHOD() Show (BOOL fShow) override
 
STDMETHOD() GetTooltipString (BSTR *pbstrToolTip) override
 
STDMETHOD() OnClick (TfLBIClick click, POINT pt, LPCRECT prc) override
 @unimplemented
 
STDMETHOD() InitMenu (ITfMenu *pMenu) override
 
STDMETHOD() OnMenuSelect (UINT wID) override
 
STDMETHOD() GetIcon (HICON *phIcon) override
 
STDMETHOD() GetText (BSTR *pbstr) override
 
STDMETHOD() AdviseSink (REFIID riid, IUnknown *punk, DWORD *pdwCookie) override
 
STDMETHOD() UnadviseSink (DWORD dwCookie) override
 
- Public Member Functions inherited from CLBarItemBase
 CLBarItemBase ()
 
virtual ~CLBarItemBase ()
 
HRESULT ShowInternal (BOOL bShow, BOOL bUpdate)
 
void InitNuiInfo (REFIID clsidService, REFGUID guidItem, DWORD dwStyle, DWORD ulSort, LPCWSTR Source)
 
HRESULT GetInfo (TF_LANGBARITEMINFO *pInfo)
 
HRESULT GetStatus (DWORD *pdwStatus)
 
HRESULT Show (BOOL fShow)
 
HRESULT GetTooltipString (BSTR *pbstrToolTip)
 
HRESULT AdviseSink (REFIID riid, IUnknown *punk, DWORD *pdwCookie)
 
HRESULT UnadviseSink (DWORD dwCookie)
 
HRESULT GetInfo ([out] TF_LANGBARITEMINFO *pInfo)
 
HRESULT GetStatus ([out] DWORD *pdwStatus)
 
HRESULT Show ([in] BOOL fShow)
 
HRESULT GetTooltipString ([out] BSTR *pbstrToolTip)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from ITfLangBarItemButton
HRESULT OnClick ([in] TfLBIClick click, [in] POINT pt, [in] const RECT *prcArea)
 
HRESULT InitMenu ([in] ITfMenu *pMenu)
 
HRESULT OnMenuSelect ([in] UINT wID)
 
HRESULT GetIcon ([out] HICON *phIcon)
 
HRESULT GetText ([out] BSTR *pbstrText)
 
HRESULT AdviseSink ([in] REFIID riid, [in, iid_is(riid)] IUnknown *punk, [out] DWORD *pdwCookie)
 
HRESULT UnadviseSink ([in] DWORD dwCookie)
 

Protected Attributes

HKL m_hKL
 
DWORD m_dwThreadId
 
- Protected Attributes inherited from CLBarItemBase
DWORD m_dwItemStatus
 
TF_LANGBARITEMINFO m_NewUIInfo
 
WCHAR m_szToolTipText [256]
 
LONG m_cRefs
 
ITfLangBarItemSinkm_pLangBarItemSink
 

Additional Inherited Members

- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Attributes inherited from CLBarItemButtonBase
HICON m_hIcon
 

Detailed Description

Language Bar international item.

Definition at line 1281 of file msutb.cpp.

Constructor & Destructor Documentation

◆ CLBarInatItem()

CLBarInatItem::CLBarInatItem ( DWORD  dwThreadId)

Definition at line 3766 of file msutb.cpp.

3767{
3768 WCHAR szText[256];
3769 ::LoadStringW(g_hInst, IDS_LANGUAGE, szText, _countof(szText));
3770 InitNuiInfo(CLSID_SYSTEMLANGBARITEM, GUID_LBI_INATITEM, 0x20001, 0, szText);
3771
3776
3779}
DWORD m_dwThreadId
Definition: msutb.cpp:1285
WCHAR m_szToolTipText[256]
Definition: msutb.cpp:1214
void InitNuiInfo(REFIID clsidService, REFGUID guidItem, DWORD dwStyle, DWORD ulSort, LPCWSTR Source)
Definition: msutb.cpp:3507
HRESULT ShowInternal(BOOL bShow, BOOL bUpdate)
Definition: msutb.cpp:3522
#define IDS_LANGUAGE
Definition: resource.h:52
#define IDS_LANGUAGEBUTTON
Definition: resource.h:19
DWORD dwThreadId
Definition: fdebug.c:31
EXTERN_C INT WINAPI TF_MlngInfoCount(VOID)
Definition: mlng.cpp:614
HRESULT WINAPI TF_InitMlngInfo(void)
Definition: msctf.c:704
HINSTANCE g_hInst
Definition: msutb.cpp:29
#define _countof(array)
Definition: sndvol32.h:68
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:149
HKL WINAPI GetKeyboardLayout(_In_ DWORD)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
__wchar_t WCHAR
Definition: xmlstorage.h:180

Member Function Documentation

◆ GetIcon()

STDMETHODIMP CLBarInatItem::GetIcon ( HICON phIcon)
override

Implements ITfLangBarItemButton.

Definition at line 3781 of file msutb.cpp.

3782{
3783 HICON hIcon = NULL;
3784 INT iIndex = GetIconIndexFromhKL(m_hKL);
3785 if (iIndex != -1)
3786 hIcon = TF_InatExtractIcon(iIndex);
3787 *phIcon = hIcon;
3788 return S_OK;
3789}
#define NULL
Definition: types.h:112
#define S_OK
Definition: intsafe.h:52
EXTERN_C HICON WINAPI TF_InatExtractIcon(_In_ INT iKL)
Definition: mlng.cpp:629
static HICON
Definition: imagelist.c:84
HICON hIcon
Definition: msconfig.c:44
INT GetIconIndexFromhKL(_In_ HKL hKL)
Definition: msutb.cpp:275
int32_t INT
Definition: typedefs.h:58

◆ GetText()

STDMETHODIMP CLBarInatItem::GetText ( BSTR pbstr)
override

Implements ITfLangBarItemButton.

Definition at line 3791 of file msutb.cpp.

3792{
3793 if (!pbstr)
3794 return E_INVALIDARG;
3795
3796 WCHAR szText[256];
3797 if (!GethKLDesc(m_hKL, szText, _countof(szText)))
3798 return GetText(pbstr);
3799
3800 *pbstr = ::SysAllocString(szText);
3801 return S_OK;
3802}
STDMETHOD() GetText(BSTR *pbstr) override
Definition: msutb.cpp:3791
#define E_INVALIDARG
Definition: ddrawi.h:101
BOOL GethKLDesc(_In_ HKL hKL, _Out_ LPWSTR pszDesc, _In_ UINT cchDesc)
Definition: msutb.cpp:292
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238

Referenced by GetText().

◆ InitMenu()

STDMETHODIMP CLBarInatItem::InitMenu ( ITfMenu pMenu)
override

Implements ITfLangBarItemButton.

Definition at line 3804 of file msutb.cpp.

3805{
3807
3808 INT iKL, cKLs = TF_MlngInfoCount();
3809 for (iKL = 0; iKL < cKLs; ++iKL)
3810 {
3811 HKL hKL;
3812 WCHAR szDesc[128];
3813 if (TF_GetMlngHKL(iKL, &hKL, szDesc, _countof(szDesc)))
3814 {
3815 HICON hIcon = NULL;
3816 INT iIndex = GetIconIndexFromhKL(hKL);
3817 if (iIndex != -1)
3818 hIcon = TF_InatExtractIcon(iIndex);
3819
3820 LangBarInsertMenu(pMenu, iKL, szDesc, (hKL == m_hKL), hIcon);
3821 }
3822 }
3823
3825 if (g_pTipbarWnd &&
3828 (dwStatus & (TF_SFT_DESKBAND | TF_SFT_MINIMIZED)))
3829 {
3831
3832 WCHAR szText[256];
3834 LangBarInsertMenu(pMenu, 2000, szText, FALSE, NULL);
3835 }
3836
3837 return S_OK;
3838}
ITfLangBarMgr_P * m_pLangBarMgr
Definition: msutb.cpp:1483
#define FALSE
Definition: types.h:117
#define IDS_RESTORELANGBAR2
Definition: resource.h:26
unsigned long DWORD
Definition: ntddk_ex.h:95
HRESULT GetShowFloatingStatus([out] DWORD *pdwFlags)
#define SUCCEEDED(hr)
Definition: intsafe.h:50
EXTERN_C BOOL WINAPI TF_GetMlngHKL(_In_ INT iKL, _Out_opt_ HKL *phKL, _Out_opt_ LPWSTR pszDesc, _In_ INT cchDesc)
Definition: mlng.cpp:664
UINT_PTR HKL
Definition: msctf.idl:143
HRESULT LangBarInsertMenu(_In_ ITfMenu *pMenu, _In_ UINT uId, _In_ LPCWSTR pszText, _In_ BOOL bChecked, _Inout_opt_ HICON hIcon)
Definition: msutb.cpp:307
CTipbarWnd * g_pTipbarWnd
Definition: msutb.cpp:104
HRESULT LangBarInsertSeparator(_In_ ITfMenu *pMenu)
Definition: msutb.cpp:333
DWORD dwStatus
Definition: mediaobj.idl:95

◆ OnMenuSelect()

STDMETHODIMP CLBarInatItem::OnMenuSelect ( INT  nCommandId)

Definition at line 3840 of file msutb.cpp.

3841{
3842 HKL hKL;
3843
3844 if (nCommandId == 2000)
3845 {
3846 if (g_pTipbarWnd)
3847 {
3849 if (pLangBarMgr)
3850 pLangBarMgr->ShowFloating(TF_SFT_SHOWNORMAL);
3851 }
3852 }
3853 else if (TF_GetMlngHKL(nCommandId, &hKL, NULL, 0))
3854 {
3856 HWND hwndFore = ::GetForegroundWindow();
3858 {
3859 BOOL FontSig = GetFontSig(hwndFore, hKL);
3860 ::PostMessage(hwndFore, WM_INPUTLANGCHANGEREQUEST, FontSig, (LPARAM)hKL);
3861 }
3862 }
3863
3864 return S_OK;
3865}
DWORD m_dwTipbarWndFlags
Definition: msutb.cpp:1473
void RestoreLastFocus(DWORD *pdwThreadId, BOOL fPrev)
Definition: msutb.cpp:5083
unsigned int BOOL
Definition: ntddk_ex.h:94
HRESULT ShowFloating([in] DWORD dwFlags)
BOOL GetFontSig(HWND hWnd, HKL hKL)
Definition: msutb.cpp:138
@ TIPBAR_CHILD
Definition: msutb.cpp:1441
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
LONG_PTR LPARAM
Definition: windef.h:208
HWND WINAPI GetForegroundWindow(void)
Definition: ntwrapper.h:392
#define PostMessage
Definition: winuser.h:5832

Member Data Documentation

◆ m_dwThreadId

DWORD CLBarInatItem::m_dwThreadId
protected

Definition at line 1285 of file msutb.cpp.

Referenced by CLBarInatItem(), and OnMenuSelect().

◆ m_hKL

HKL CLBarInatItem::m_hKL
protected

Definition at line 1284 of file msutb.cpp.

Referenced by CLBarInatItem(), GetIcon(), GetText(), and InitMenu().


The documentation for this class was generated from the following file: