Release 2.13.
[wine.git] / include / ctfutb.idl
blob1a4125be67a2eaaeba0fe84d7ca478bf1b64747f
1 /*
2 * Copyright 2010 Justin Chevrier
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef DO_NO_IMPORTS
20 import "oaidl.idl";
21 #endif
23 interface ITfLangBarEventSink;
24 interface ITfLangBarItemMgr;
25 interface ITfInputProcessorProfiles;
27 const ULONG TF_LBI_DESC_MAXLEN = 32;
29 typedef [uuid(12a1d29f-a065-440c-9746-eb2002c8bd19)] struct TF_LANGBARITEMINFO
31 CLSID clsidService;
32 GUID guidItem;
33 DWORD dwStyle;
34 ULONG ulSort;
35 WCHAR szDescription[TF_LBI_DESC_MAXLEN];
36 } TF_LANGBARITEMINFO;
39 object,
40 uuid(73540d69-edeb-4ee9-96c9-23aa30b25916),
41 pointer_default(unique),
43 interface ITfLangBarItem : IUnknown
45 HRESULT GetInfo(
46 [out] TF_LANGBARITEMINFO *pInfo);
48 HRESULT GetStatus(
49 [out] DWORD *pdwStatus);
51 HRESULT Show(
52 [in] BOOL fShow);
54 HRESULT GetTooltipString(
55 [out] BSTR *pbstrToolTip);
59 object,
60 uuid(583f34d0-de25-11d2-afdd-00105a2799b5),
61 pointer_default(unique),
63 interface IEnumTfLangBarItems : IUnknown
65 HRESULT Clone(
66 [out] IEnumTfLangBarItems **ppEnum);
68 HRESULT Next(
69 [in] ULONG ulCount,
70 [out, size_is(ulCount)] ITfLangBarItem **ppItem,
71 [in, out, unique] ULONG *pcFetched);
73 HRESULT Reset();
75 HRESULT Skip(
76 [in] ULONG ulCount);
80 object,
81 uuid(57dbe1a0-de25-11d2-afdd-00105a2799b5),
82 pointer_default(unique),
84 interface ITfLangBarItemSink : IUnknown
86 HRESULT OnUpdate(
87 [in] DWORD dwFlags);
91 object,
92 uuid(ba468c55-9956-4fb1-a59d-52a7dd7cc6aa),
93 pointer_default(unique),
95 interface ITfLangBarItemMgr : IUnknown
97 HRESULT EnumItems(
98 [out] IEnumTfLangBarItems **ppEnum);
100 HRESULT GetItem(
101 [in] REFGUID rguid,
102 [out] ITfLangBarItem **ppItem);
104 HRESULT AddItem(
105 [in] ITfLangBarItem *punk);
107 HRESULT RemoveItem(
108 [in] ITfLangBarItem *punk);
110 HRESULT AdviseItemSink(
111 [in] ITfLangBarItemSink *punk,
112 [out] DWORD *pdwCookie,
113 [in] REFGUID rguidItem);
115 HRESULT UnadviseItemSink(
116 [in] DWORD dwCookie);
118 HRESULT GetItemFloatingRect(
119 [in] DWORD dwThreadId,
120 [in] REFGUID rguid,
121 [out] RECT *prc);
123 HRESULT GetItemsStatus(
124 [in] ULONG ulCount,
125 [in, size_is(ulCount)] const GUID *prgguid,
126 [out, size_is(ulCount)] DWORD *pdwStatus);
128 HRESULT GetItemNum(
129 [out] ULONG *pulCount);
131 HRESULT GetItems(
132 [in] ULONG ulCount,
133 [out, size_is(ulCount), length_is(*pcFetched)] ITfLangBarItem **ppItem,
134 [out, size_is(ulCount), length_is(*pcFetched)] TF_LANGBARITEMINFO *pInfo,
135 [out, size_is(ulCount), length_is(*pcFetched)] DWORD *pdwStatus,
136 [in, out, unique] ULONG *pcFetched);
138 HRESULT AdviseItemsSink(
139 [in] ULONG ulCount,
140 [in, size_is(ulCount)] ITfLangBarItemSink **ppunk,
141 [in, size_is(ulCount)] const GUID *pguidItem,
142 [out, size_is(ulCount)] DWORD *pdwCookie);
144 HRESULT UnadviseItemsSink(
145 [in] ULONG ulCount,
146 [in, size_is(ulCount)] DWORD *pdwCookie);
150 object,
151 uuid(87955690-e627-11d2-8ddb-00105a2799b5),
152 pointer_default(unique)
154 interface ITfLangBarMgr: IUnknown
156 HRESULT AdviseEventSink(
157 [in] ITfLangBarEventSink *pSink,
158 [in] HWND hwnd,
159 [in] DWORD dwflags,
160 [in] DWORD *pdwCookie);
162 HRESULT UnAdviseEventSink(
163 [in] DWORD dwCookie);
165 HRESULT GetThreadMarshalInterface(
166 [in] DWORD dwThreadId,
167 [in] DWORD dwType,
168 [in] REFIID riid,
169 [out] IUnknown **ppunk);
171 HRESULT GetThreadLangBarItemMgr(
172 [in] DWORD dwThreadId,
173 [out] ITfLangBarItemMgr **pplbie,
174 [out] DWORD *pdwThreadid);
176 HRESULT GetInputProcessorProfiles(
177 [in] DWORD dwThreadId,
178 [out] ITfInputProcessorProfiles **ppaip,
179 [out] DWORD *pdwThreadid);
181 HRESULT RestoreLastFocus(
182 [out] DWORD *dwThreadId,
183 [in] BOOL fPrev);
185 HRESULT SetModalInput(
186 [in] ITfLangBarEventSink *pSink,
187 [in] DWORD dwThreadId,
188 [in] DWORD dwFlags);
190 HRESULT ShowFloating(
191 [in] DWORD dwFlags);
193 HRESULT GetShowFloatingStatus(
194 [out] DWORD *pdwFlags);
198 object,
199 uuid(18a4e900-e0ae-11d2-afdd-00105a2799b5),
200 pointer_default(unique)
202 interface ITfLangBarEventSink: IUnknown
204 HRESULT OnSetFocus(
205 [in] DWORD dwThreadId);
207 HRESULT OnThreadTerminate(
208 [in] DWORD dwThreadId);
210 HRESULT OnThreadItemChange(
211 [in] DWORD dwThreadId);
213 HRESULT OnModalInput(
214 [in] DWORD dwThreadId,
215 [in] UINT uMsg,
216 [in] WPARAM wParam,
217 [in] LPARAM lParam);
219 HRESULT ShowFloating(
220 [in] DWORD dwFlags);
222 HRESULT GetItemFloatingRect(
223 [in] DWORD dwThreadId,
224 [in] REFGUID rguid,
225 [out] RECT *prc);