[CMAKE]: Use some CMAKE magic to have widl defined as a "host tool", and make the...
[reactos.git] / include / psdk / tom.idl
1 /*
2 * Copyright 2006 Juan Lang
3 *
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.
8 *
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.
13 *
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
17 */
18
19 import "oaidl.idl";
20
21 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
22 cpp_quote("#undef FindText")
23 cpp_quote("#endif")
24
25 typedef enum tagTomConstants
26 {
27 tomFalse = 0,
28 tomTrue = -1,
29 tomUndefined = -9999999,
30 tomToggle = -9999998,
31 tomAutoColor = -9999997,
32 tomDefault = -9999996,
33 tomSuspend = -9999995,
34 tomResume = -9999994,
35 tomApplyNow = 0,
36 tomApplyLater = 1,
37 tomTrackParms = 2,
38 tomCacheParms = 3,
39 tomBackward = 0xc0000001,
40 tomForward = 0x3fffffff,
41 tomMove = 0,
42 tomExtend = 1,
43 tomNoSelection = 0,
44 tomSelectionIP = 1,
45 tomSelectionNormal = 2,
46 tomSelectionFrame = 3,
47 tomSelectionColumn = 4,
48 tomSelectionRow = 5,
49 tomSelectionBlock = 6,
50 tomSelectionInlineShape = 7,
51 tomSelectionShape = 8,
52 tomSelStartActive = 1,
53 tomSelAtEOL = 2,
54 tomSelOvertype = 4,
55 tomSelActive = 8,
56 tomSelReplace = 16,
57 tomEnd = 0,
58 tomStart = 32,
59 tomCollapseEnd = 0,
60 tomCollapseStart = 1,
61 tomClientCoord = 256,
62 tomNone = 0,
63 tomSingle = 1,
64 tomWords = 2,
65 tomDouble = 3,
66 tomDotted = 4,
67 tomDash = 5,
68 tomDashDot = 6,
69 tomDashDotDot = 7,
70 tomWave = 8,
71 tomThick = 9,
72 tomHair = 10,
73 tomLineSpaceSingle = 0,
74 tomLineSpace1pt5 = 1,
75 tomLineSpaceDouble = 2,
76 tomLineSpaceAtLeast = 3,
77 tomLineSpaceExactly = 4,
78 tomLineSpaceMultiple = 5,
79 tomAlignLeft = 0,
80 tomAlignCenter = 1,
81 tomAlignRight = 2,
82 tomAlignJustify = 3,
83 tomAlignDecimal = 3,
84 tomAlignBar = 4,
85 tomAlignInterWord = 3,
86 tomAlignInterLetter = 4,
87 tomAlignScaled = 5,
88 tomAlignGlyphs = 6,
89 tomAlignSnapGrid = 7,
90 tomSpaces = 0,
91 tomDots = 1,
92 tomDashes = 2,
93 tomLines = 3,
94 tomThickLines = 4,
95 tomEquals = 5,
96 tomTabBack = -3,
97 tomTabNext = -2,
98 tomTabHere = -1,
99 tomListBullet = 1,
100 tomListNumberAsArabic = 2,
101 tomListNumberAsLCLetter = 3,
102 tomListNumberAsUCLetter = 4,
103 tomListNumberAsLCRoman = 5,
104 tomListNumberAsUCRoman = 6,
105 tomListNumberAsSequence = 7,
106 tomListParentheses = 0x10000,
107 tomListPeriod = 0x20000,
108 tomListPlain = 0x30000,
109 tomCharacter = 1,
110 tomWord = 2,
111 tomSentence = 3,
112 tomParagraph = 4,
113 tomLine = 5,
114 tomStory = 6,
115 tomScreen = 7,
116 tomSection = 8,
117 tomColumn = 9,
118 tomRow = 10,
119 tomWindow = 11,
120 tomCell = 12,
121 tomCharFormat = 13,
122 tomParaFormat = 14,
123 tomTable = 15,
124 tomObject = 16,
125 tomMatchWord = 2,
126 tomMatchCase = 4,
127 tomMatchPattern = 8,
128 tomUnknownStory = 0,
129 tomMainTextStory = 1,
130 tomFootnotesStory = 2,
131 tomEndnotesStory = 3,
132 tomCommentsStory = 4,
133 tomTextFrameStory = 5,
134 tomEvenPagesHeaderStory = 6,
135 tomPrimaryHeaderStory = 7,
136 tomEvenPagesFooterStory = 8,
137 tomPrimaryFooterStory = 9,
138 tomFirstPageHeaderStory = 10,
139 tomFirstPageFooterStory = 11,
140 tomNoAnimation = 0,
141 tomLasVegasLights = 1,
142 tomBlinkingBackground = 2,
143 tomSparkleText = 3,
144 tomMarchingBlackAnts = 4,
145 tomMarchingRedAnts = 5,
146 tomShimmer = 6,
147 tomWipeDown = 7,
148 tomWipeRight = 8,
149 tomAnimationMax = 8,
150 tomLowerCase = 0,
151 tomUpperCase = 1,
152 tomTitleCase = 2,
153 tomSentenceCase = 4,
154 tomToggleCase = 5,
155 tomReadOnly = 0x100,
156 tomShareDenyRead = 0x200,
157 tomShareDenyWrite = 0x400,
158 tomPasteFile = 0x1000,
159 tomCreateNew = 0x10,
160 tomCreateAlways = 0x20,
161 tomOpenExisting = 0x30,
162 tomOpenAlways = 0x40,
163 tomTruncateExisting = 0x50,
164 tomRTF = 0x1,
165 tomText = 0x2,
166 tomHTML = 0x3,
167 tomWordDocument = 0x4,
168 tomBold = 0x80000001,
169 tomItalic = 0x80000002,
170 tomUnderline = 0x80000004,
171 tomStrikeout = 0x80000008,
172 tomProtected = 0x80000010,
173 tomLink = 0x80000020,
174 tomSmallCaps = 0x80000040,
175 tomAllCaps = 0x80000080,
176 tomHidden = 0x80000100,
177 tomOutline = 0x80000200,
178 tomShadow = 0x80000400,
179 tomEmboss = 0x80000800,
180 tomImprint = 0x80001000,
181 tomDisabled = 0x80002000,
182 tomRevised = 0x80004000,
183 tomNormalCaret = 0,
184 tomKoreanBlockCaret = 0x1,
185 tomIncludeInset = 0x1,
186 tomIgnoreCurrentFont = 0,
187 tomMatchFontCharset = 0x1,
188 tomMatchFontSignature = 0x2,
189 tomCharset = 0x80000000,
190 tomRE10Mode = 0x1,
191 tomNoIME = 0x80000,
192 tomSelfIME = 0x40000
193 } tomConstants;
194
195 interface ITextRange;
196 interface ITextSelection;
197 interface ITextStoryRanges;
198
199 [
200 object,
201 uuid(8cc497c0-a1df-11ce-8098-00aa0047be5d)
202 ]
203 interface ITextDocument : IDispatch
204 {
205 HRESULT GetName([retval, out]BSTR *pName);
206 HRESULT GetSelection([retval, out]ITextSelection **ppSel);
207 HRESULT GetStoryCount([retval, out]LONG *pCount);
208 HRESULT GetStoryRanges([retval, out]ITextStoryRanges **ppStories);
209 HRESULT GetSaved([retval, out]LONG *pValue);
210 HRESULT SetSaved([in]LONG Value);
211 HRESULT GetDefaultTabStop([retval, out]float *pValue);
212 HRESULT SetDefaultTabStop([in]float Value);
213 HRESULT New();
214 HRESULT Open([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
215 HRESULT Save([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
216 HRESULT Freeze([retval, out]LONG *pCount);
217 HRESULT Unfreeze([retval, out]LONG *pCount);
218 HRESULT BeginEditCollection();
219 HRESULT EndEditCollection();
220 HRESULT Undo([in]LONG Count, [retval, out]LONG *prop);
221 HRESULT Redo([in]LONG Count, [retval, out]LONG *prop);
222 HRESULT Range([in]LONG cp1, [in]LONG cp2, [retval, out]ITextRange **ppRange);
223 HRESULT RangeFromPoint([in]LONG x, [in]LONG y, [retval, out]ITextRange **ppRange);
224 }
225
226 interface ITextFont;
227 interface ITextPara;
228
229 [
230 object,
231 uuid(8cc497c2-a1df-11ce-8098-00aa0047be5d)
232 ]
233 interface ITextRange : IDispatch
234 {
235 HRESULT GetText([retval, out]BSTR *pbstr);
236 HRESULT SetText([in]BSTR bstr);
237 HRESULT GetChar([retval, out]LONG *pch);
238 HRESULT SetChar([in]LONG ch);
239 HRESULT GetDuplicate([retval, out]ITextRange **ppRange);
240 HRESULT GetFormattedText([retval, out]ITextRange **ppRange);
241 HRESULT SetFormattedText([in]ITextRange *pRange);
242 HRESULT GetStart([retval, out]LONG *pcpFirst);
243 HRESULT SetStart([in]LONG cpFirst);
244 HRESULT GetEnd([retval, out]LONG *pcpLim);
245 HRESULT SetEnd([in]LONG cpLim);
246 HRESULT GetFont([retval, out]ITextFont **pFont);
247 HRESULT SetFont([in]ITextFont *pFont);
248 HRESULT GetPara([retval, out]ITextPara **ppPara);
249 HRESULT SetPara([in]ITextPara *pPara);
250 HRESULT GetStoryLength([retval, out]LONG *pcch);
251 HRESULT GetStoryType([retval, out]LONG *pValue);
252 HRESULT Collapse([in]LONG bStart);
253 HRESULT Expand([in]LONG Unit, [retval, out]LONG *pDelta);
254 HRESULT GetIndex([in]LONG Unit, [retval, out]LONG *pIndex);
255 HRESULT SetIndex([in]LONG Unit, [in]LONG Index, [in]LONG Extend);
256 HRESULT SetRange([in]LONG cpActive, [in]LONG cpOther);
257 HRESULT InRange([in]ITextRange *pRange, [retval, out]LONG *pb);
258 HRESULT InStory([in]ITextRange *pRange, [retval, out]LONG *pb);
259 HRESULT IsEqual([in]ITextRange *pRange, [retval, out]LONG *pb);
260 HRESULT Select();
261 HRESULT StartOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
262 HRESULT EndOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
263 HRESULT Move([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
264 HRESULT MoveStart([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
265 HRESULT MoveEnd([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
266 HRESULT MoveWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
267 HRESULT MoveStartWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
268 HRESULT MoveEndWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
269 HRESULT MoveUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
270 HRESULT MoveStartUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
271 HRESULT MoveEndUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
272 HRESULT FindText([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
273 HRESULT FindTextStart([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
274 HRESULT FindTextEnd([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
275 HRESULT Delete([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
276 HRESULT Cut([out]VARIANT *pVar);
277 HRESULT Copy([out]VARIANT *pVar);
278 HRESULT Paste([in]VARIANT *pVar, [in]LONG Format);
279 HRESULT CanPaste([in]VARIANT *pVar, [in]LONG Format, [retval, out]LONG *pb);
280 HRESULT CanEdit([retval, out]LONG *pb);
281 HRESULT ChangeCase([in]LONG Type);
282 HRESULT GetPoint([in]LONG Type, [out]LONG *cx, [out]LONG *cy);
283 HRESULT SetPoint([in]LONG x, [in]LONG y, [in]LONG Type, [in]LONG Extend);
284 HRESULT ScrollIntoView([in]LONG Value);
285 HRESULT GetEmbeddedObject([retval, out]IUnknown **ppv);
286 }
287
288 [
289 object,
290 uuid(8cc497c1-a1df-11ce-8098-00aa0047be5d)
291 ]
292 interface ITextSelection : ITextRange
293 {
294 HRESULT GetFlags([retval, out]LONG *pFlags);
295 HRESULT SetFlags([in]LONG Flags);
296 HRESULT GetType([retval, out]LONG *pType);
297 HRESULT MoveLeft([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
298 HRESULT MoveRight([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
299 HRESULT MoveUp([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
300 HRESULT MoveDown([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
301 HRESULT HomeKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
302 HRESULT EndKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
303 HRESULT TypeText([in]BSTR bstr);
304 }
305
306 [
307 object,
308 uuid(8cc497c3-a1df-11ce-8098-00aa0047be5d)
309 ]
310 interface ITextFont : IDispatch
311 {
312 HRESULT GetDuplicate([retval, out]ITextFont **ppFont);
313 HRESULT SetDuplicate([in]ITextFont *pFont);
314 HRESULT CanChange([out]LONG *pB);
315 HRESULT IsEqual([in]ITextFont *pFont, [retval, out]LONG *pB);
316 HRESULT Reset([in]LONG Value);
317 HRESULT GetStyle([retval, out]LONG *pValue);
318 HRESULT SetStyle([in]LONG Value);
319 HRESULT GetAllCaps([retval, out]LONG *pValue);
320 HRESULT SetAllCaps([in]LONG Value);
321 HRESULT GetAnimation([retval, out]LONG *pValue);
322 HRESULT SetAnimation([in]LONG Value);
323 HRESULT GetBackColor([retval, out]LONG *pValue);
324 HRESULT SetBackColor([in]LONG Value);
325 HRESULT GetBold([retval, out]LONG *pValue);
326 HRESULT SetBold([in]LONG Value);
327 HRESULT GetEmboss([retval, out]LONG *pValue);
328 HRESULT SetEmboss([in]LONG Value);
329 HRESULT GetForeColor([retval, out]LONG *pValue);
330 HRESULT SetForeColor([in]LONG Value);
331 HRESULT GetHidden([retval, out]LONG *pValue);
332 HRESULT SetHidden([in]LONG Value);
333 HRESULT GetEngrave([retval, out]LONG *pValue);
334 HRESULT SetEngrave([in]LONG Value);
335 HRESULT GetItalic([retval, out]LONG *pValue);
336 HRESULT SetItalic([in]LONG Value);
337 HRESULT GetKerning([retval, out]LONG *pValue);
338 HRESULT SetKerning([in]LONG Value);
339 HRESULT GetLanguageID([retval, out]LONG *pValue);
340 HRESULT SetLanguageID([in]LONG Value);
341 HRESULT GetName([retval, out]BSTR *pValue);
342 HRESULT SetName([in]BSTR Value);
343 HRESULT GetOutline([retval, out]LONG *pValue);
344 HRESULT SetOutline([in]LONG Value);
345 HRESULT GetPosition([retval, out]LONG *pValue);
346 HRESULT SetPosition([in]LONG Value);
347 HRESULT GetProtected([retval, out]LONG *pValue);
348 HRESULT SetProtected([in]LONG Value);
349 HRESULT GetShadow([retval, out]LONG *pValue);
350 HRESULT SetShadow([in]LONG Value);
351 HRESULT GetSize([retval, out]LONG *pValue);
352 HRESULT SetSize([in]LONG Value);
353 HRESULT GetSmallCaps([retval, out]LONG *pValue);
354 HRESULT SetSmallCaps([in]LONG Value);
355 HRESULT GetSpacing([retval, out]float *pValue);
356 HRESULT SetSpacing([in]float Value);
357 HRESULT GetStrikeThrough([retval, out]LONG *pValue);
358 HRESULT SetStrikeThrough([in]LONG Value);
359 HRESULT GetSubscript([retval, out]LONG *pValue);
360 HRESULT SetSubscript([in]LONG Value);
361 HRESULT GetSuperscript([retval, out]LONG *pValue);
362 HRESULT SetSuperscript([in]LONG Value);
363 HRESULT GetUnderline([retval, out]LONG *pValue);
364 HRESULT SetUnderline([in]LONG Value);
365 HRESULT GetWeight([retval, out]LONG *pValue);
366 HRESULT SetWeight([in]LONG Value);
367 }
368
369 [
370 object,
371 uuid(8cc497c4-a1df-11ce-8098-00aa0047be5d)
372 ]
373 interface ITextPara : IDispatch
374 {
375 HRESULT GetDuplicate([retval, out]ITextPara **ppPara);
376 HRESULT SetDuplicate([in]ITextPara *pPara);
377 HRESULT CanChange([out]LONG *pB);
378 HRESULT IsEqual([in]ITextPara *pPara, [retval, out]LONG *pB);
379 HRESULT Reset([in]LONG Value);
380 HRESULT GetStyle([retval, out]LONG *pValue);
381 HRESULT SetStyle([in]LONG Value);
382 HRESULT GetAlignment([retval, out]LONG *pValue);
383 HRESULT SetAlignment([in]LONG Value);
384 HRESULT GetHyphenation([retval, out]LONG *pValue);
385 HRESULT SetHyphenation([in]LONG Value);
386 HRESULT GetFirstLineIndent([retval, out]float *pValue);
387 HRESULT GetKeepTogether([retval, out]LONG *pValue);
388 HRESULT SetKeepTogether([in]LONG Value);
389 HRESULT GetKeepWithNext([retval, out]LONG *pValue);
390 HRESULT SetKeepWithNext([in]LONG Value);
391 HRESULT GetLeftIndent([retval, out]float *pValue);
392 HRESULT GetLineSpacing([retval, out]float *pValue);
393 HRESULT GetLineSpacingRule([retval, out]LONG *pValue);
394 HRESULT GetListAlignment([retval, out]LONG *pValue);
395 HRESULT SetListAlignment([in]LONG Value);
396 HRESULT GetListLevelIndex([retval, out]LONG *pValue);
397 HRESULT SetListLevelIndex([in]LONG Value);
398 HRESULT GetListStart([retval, out]LONG *pValue);
399 HRESULT SetListStart([in]LONG Value);
400 HRESULT GetListTab([retval, out]LONG *pValue);
401 HRESULT SetListTab([in]LONG Value);
402 HRESULT GetListType([retval, out]LONG *pValue);
403 HRESULT SetListType([in]LONG Value);
404 HRESULT GetNoLineNumber([retval, out]LONG *pValue);
405 HRESULT SetNoLineNumber([in]LONG Value);
406 HRESULT GetPageBreakBefore([retval, out]LONG *pValue);
407 HRESULT SetPageBreakBefore([in]LONG Value);
408 HRESULT GetRightIndent([retval, out]float *pValue);
409 HRESULT SetRightIndent([in]float Value);
410 HRESULT SetIndents([in]float StartIndent, [in]float LeftIndent, [in]float RightIndent);
411 HRESULT SetLineSpacing([in]LONG LineSpacingRule, [in]float LineSpacing);
412 HRESULT GetSpaceAfter([retval, out]float *pValue);
413 HRESULT SetSpaceAfter([in]float Value);
414 HRESULT GetSpaceBefore([retval, out]float *pValue);
415 HRESULT SetSpaceBefore([in]float Value);
416 HRESULT GetWindowControl([retval, out]float *pValue);
417 HRESULT SetWindowControl([in]float Value);
418 HRESULT GetTabCount([retval, out]LONG *pCount);
419 HRESULT AddTab([in]float tbPos, [in]LONG tbAlign, [in]LONG tbLeader);
420 HRESULT ClearAllTabs();
421 HRESULT DeleteTab([in]float tbPos);
422 HRESULT GetTab([in]LONG iTab, [out]float *ptbPos, [out]LONG *ptbAlign, [out]LONG *ptbLeader);
423 }
424
425 [
426 object,
427 uuid(8cc497c5-a1df-11ce-8098-00aa0047be5d)
428 ]
429 interface ITextStoryRanges : IDispatch
430 {
431 HRESULT _NewEnum([retval, out]IUnknown **ppUnkEnum);
432 HRESULT Item([in]LONG Index, [retval, out]ITextRange **ppRange);
433 HRESULT GetCount([retval, out]LONG *pCount);
434 }