[MSHTML]
[reactos.git] / reactos / dll / win32 / mshtml / htmlstyle2.c
1 /*
2 * Copyright 2008 Jacek Caban for CodeWeavers
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 #include <stdarg.h>
20
21 #define COBJMACROS
22
23 #include "windef.h"
24 #include "winbase.h"
25 #include "winuser.h"
26 #include "ole2.h"
27
28 #include "mshtml_private.h"
29 #include "htmlstyle.h"
30
31 #include "wine/debug.h"
32 #include "wine/unicode.h"
33
34 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
35
36 #define HTMLSTYLE2_THIS(iface) DEFINE_THIS(HTMLStyle, HTMLStyle2, iface)
37
38 static HRESULT WINAPI HTMLStyle2_QueryInterface(IHTMLStyle2 *iface, REFIID riid, void **ppv)
39 {
40 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
41
42 return IHTMLStyle_QueryInterface(HTMLSTYLE(This), riid, ppv);
43 }
44
45 static ULONG WINAPI HTMLStyle2_AddRef(IHTMLStyle2 *iface)
46 {
47 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
48
49 return IHTMLStyle_AddRef(HTMLSTYLE(This));
50 }
51
52 static ULONG WINAPI HTMLStyle2_Release(IHTMLStyle2 *iface)
53 {
54 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
55
56 return IHTMLStyle_Release(HTMLSTYLE(This));
57 }
58
59 static HRESULT WINAPI HTMLStyle2_GetTypeInfoCount(IHTMLStyle2 *iface, UINT *pctinfo)
60 {
61 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
62 return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->dispex), pctinfo);
63 }
64
65 static HRESULT WINAPI HTMLStyle2_GetTypeInfo(IHTMLStyle2 *iface, UINT iTInfo,
66 LCID lcid, ITypeInfo **ppTInfo)
67 {
68 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
69 return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->dispex), iTInfo, lcid, ppTInfo);
70 }
71
72 static HRESULT WINAPI HTMLStyle2_GetIDsOfNames(IHTMLStyle2 *iface, REFIID riid,
73 LPOLESTR *rgszNames, UINT cNames,
74 LCID lcid, DISPID *rgDispId)
75 {
76 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
77 return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->dispex), riid, rgszNames, cNames, lcid, rgDispId);
78 }
79
80 static HRESULT WINAPI HTMLStyle2_Invoke(IHTMLStyle2 *iface, DISPID dispIdMember,
81 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
82 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
83 {
84 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
85 return IDispatchEx_Invoke(DISPATCHEX(&This->dispex), dispIdMember, riid, lcid,
86 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
87 }
88
89 static HRESULT WINAPI HTMLStyle2_put_tableLayout(IHTMLStyle2 *iface, BSTR v)
90 {
91 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
92 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
93 return E_NOTIMPL;
94 }
95
96 static HRESULT WINAPI HTMLStyle2_get_tableLayout(IHTMLStyle2 *iface, BSTR *p)
97 {
98 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
99 FIXME("(%p)->(%p)\n", This, p);
100 return E_NOTIMPL;
101 }
102
103 static HRESULT WINAPI HTMLStyle2_put_borderCollapse(IHTMLStyle2 *iface, BSTR v)
104 {
105 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
106 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
107 return E_NOTIMPL;
108 }
109
110 static HRESULT WINAPI HTMLStyle2_get_borderCollapse(IHTMLStyle2 *iface, BSTR *p)
111 {
112 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
113 FIXME("(%p)->(%p)\n", This, p);
114 return E_NOTIMPL;
115 }
116
117 static HRESULT WINAPI HTMLStyle2_put_direction(IHTMLStyle2 *iface, BSTR v)
118 {
119 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
120 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
121 return E_NOTIMPL;
122 }
123
124 static HRESULT WINAPI HTMLStyle2_get_direction(IHTMLStyle2 *iface, BSTR *p)
125 {
126 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
127 FIXME("(%p)->(%p)\n", This, p);
128 return E_NOTIMPL;
129 }
130
131 static HRESULT WINAPI HTMLStyle2_put_behavior(IHTMLStyle2 *iface, BSTR v)
132 {
133 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
134 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
135 return E_NOTIMPL;
136 }
137
138 static HRESULT WINAPI HTMLStyle2_get_behavior(IHTMLStyle2 *iface, BSTR *p)
139 {
140 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
141 FIXME("(%p)->(%p)\n", This, p);
142 return E_NOTIMPL;
143 }
144
145 static HRESULT WINAPI HTMLStyle2_setExpression(IHTMLStyle2 *iface, BSTR propname, BSTR expression, BSTR language)
146 {
147 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
148 FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(propname), debugstr_w(expression), debugstr_w(language));
149 return E_NOTIMPL;
150 }
151
152 static HRESULT WINAPI HTMLStyle2_getExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT *expression)
153 {
154 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
155 FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), expression);
156 return E_NOTIMPL;
157 }
158
159 static HRESULT WINAPI HTMLStyle2_removeExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT_BOOL *pfSuccess)
160 {
161 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
162 FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), pfSuccess);
163 return E_NOTIMPL;
164 }
165
166 static HRESULT WINAPI HTMLStyle2_put_position(IHTMLStyle2 *iface, BSTR v)
167 {
168 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
169
170 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
171
172 return set_nsstyle_attr(This->nsstyle, STYLEID_POSITION, v, 0);
173 }
174
175 static HRESULT WINAPI HTMLStyle2_get_position(IHTMLStyle2 *iface, BSTR *p)
176 {
177 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
178
179 TRACE("(%p)->(%p)\n", This, p);
180
181 return get_nsstyle_attr(This->nsstyle, STYLEID_POSITION, p);
182 }
183
184 static HRESULT WINAPI HTMLStyle2_put_unicodeBidi(IHTMLStyle2 *iface, BSTR v)
185 {
186 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
187 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
188 return E_NOTIMPL;
189 }
190
191 static HRESULT WINAPI HTMLStyle2_get_unicodeBidi(IHTMLStyle2 *iface, BSTR *p)
192 {
193 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
194 FIXME("(%p)->(%p)\n", This, p);
195 return E_NOTIMPL;
196 }
197
198 static HRESULT WINAPI HTMLStyle2_put_bottom(IHTMLStyle2 *iface, VARIANT v)
199 {
200 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
201 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
202 return E_NOTIMPL;
203 }
204
205 static HRESULT WINAPI HTMLStyle2_get_bottom(IHTMLStyle2 *iface, VARIANT *p)
206 {
207 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
208 FIXME("(%p)->(%p)\n", This, p);
209 return E_NOTIMPL;
210 }
211
212 static HRESULT WINAPI HTMLStyle2_put_right(IHTMLStyle2 *iface, VARIANT v)
213 {
214 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
215
216 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
217
218 return set_nsstyle_attr_var(This->nsstyle, STYLEID_RIGHT, &v, 0);
219 }
220
221 static HRESULT WINAPI HTMLStyle2_get_right(IHTMLStyle2 *iface, VARIANT *p)
222 {
223 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
224
225 TRACE("(%p)->(%p)\n", This, p);
226
227 return get_nsstyle_attr_var(This->nsstyle, STYLEID_RIGHT, p, 0);
228 }
229
230 static HRESULT WINAPI HTMLStyle2_put_pixelBottom(IHTMLStyle2 *iface, LONG v)
231 {
232 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
233 FIXME("(%p)->(%d)\n", This, v);
234 return E_NOTIMPL;
235 }
236
237 static HRESULT WINAPI HTMLStyle2_get_pixelBottom(IHTMLStyle2 *iface, LONG *p)
238 {
239 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
240 FIXME("(%p)->(%p)\n", This, p);
241 return E_NOTIMPL;
242 }
243
244 static HRESULT WINAPI HTMLStyle2_put_pixelRight(IHTMLStyle2 *iface, LONG v)
245 {
246 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
247 FIXME("(%p)->(%d)\n", This, v);
248 return E_NOTIMPL;
249 }
250
251 static HRESULT WINAPI HTMLStyle2_get_pixelRight(IHTMLStyle2 *iface, LONG *p)
252 {
253 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
254 FIXME("(%p)->(%p)\n", This, p);
255 return E_NOTIMPL;
256 }
257
258 static HRESULT WINAPI HTMLStyle2_put_posBottom(IHTMLStyle2 *iface, float v)
259 {
260 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
261 FIXME("(%p)->(%f)\n", This, v);
262 return E_NOTIMPL;
263 }
264
265 static HRESULT WINAPI HTMLStyle2_get_posBottom(IHTMLStyle2 *iface, float *p)
266 {
267 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
268 FIXME("(%p)->(%p)\n", This, p);
269 return E_NOTIMPL;
270 }
271
272 static HRESULT WINAPI HTMLStyle2_put_posRight(IHTMLStyle2 *iface, float v)
273 {
274 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
275 FIXME("(%p)->(%f)\n", This, v);
276 return E_NOTIMPL;
277 }
278
279 static HRESULT WINAPI HTMLStyle2_get_posRight(IHTMLStyle2 *iface, float *p)
280 {
281 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
282 FIXME("(%p)->(%p)\n", This, p);
283 return E_NOTIMPL;
284 }
285
286 static HRESULT WINAPI HTMLStyle2_put_imeMode(IHTMLStyle2 *iface, BSTR v)
287 {
288 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
289 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
290 return E_NOTIMPL;
291 }
292
293 static HRESULT WINAPI HTMLStyle2_get_imeMode(IHTMLStyle2 *iface, BSTR *p)
294 {
295 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
296 FIXME("(%p)->(%p)\n", This, p);
297 return E_NOTIMPL;
298 }
299
300 static HRESULT WINAPI HTMLStyle2_put_rubyAlign(IHTMLStyle2 *iface, BSTR v)
301 {
302 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
303 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
304 return E_NOTIMPL;
305 }
306
307 static HRESULT WINAPI HTMLStyle2_get_rubyAlign(IHTMLStyle2 *iface, BSTR *p)
308 {
309 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
310 FIXME("(%p)->(%p)\n", This, p);
311 return E_NOTIMPL;
312 }
313
314 static HRESULT WINAPI HTMLStyle2_put_rubyPosition(IHTMLStyle2 *iface, BSTR v)
315 {
316 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
317 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
318 return E_NOTIMPL;
319 }
320
321 static HRESULT WINAPI HTMLStyle2_get_rubyPosition(IHTMLStyle2 *iface, BSTR *p)
322 {
323 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
324 FIXME("(%p)->(%p)\n", This, p);
325 return E_NOTIMPL;
326 }
327
328 static HRESULT WINAPI HTMLStyle2_put_rubyOverhang(IHTMLStyle2 *iface, BSTR v)
329 {
330 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
331 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
332 return E_NOTIMPL;
333 }
334
335 static HRESULT WINAPI HTMLStyle2_get_rubyOverhang(IHTMLStyle2 *iface, BSTR *p)
336 {
337 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
338 FIXME("(%p)->(%p)\n", This, p);
339 return E_NOTIMPL;
340 }
341
342 static HRESULT WINAPI HTMLStyle2_put_layoutGridChar(IHTMLStyle2 *iface, VARIANT v)
343 {
344 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
345 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
346 return E_NOTIMPL;
347 }
348
349 static HRESULT WINAPI HTMLStyle2_get_layoutGridChar(IHTMLStyle2 *iface, VARIANT *p)
350 {
351 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
352 FIXME("(%p)->(%p)\n", This, p);
353 return E_NOTIMPL;
354 }
355
356 static HRESULT WINAPI HTMLStyle2_put_layoutGridLine(IHTMLStyle2 *iface, VARIANT v)
357 {
358 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
359 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
360 return E_NOTIMPL;
361 }
362
363 static HRESULT WINAPI HTMLStyle2_get_layoutGridLine(IHTMLStyle2 *iface, VARIANT *p)
364 {
365 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
366 FIXME("(%p)->(%p)\n", This, p);
367 return E_NOTIMPL;
368 }
369
370 static HRESULT WINAPI HTMLStyle2_put_layoutGridMode(IHTMLStyle2 *iface, BSTR v)
371 {
372 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
373 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
374 return E_NOTIMPL;
375 }
376
377 static HRESULT WINAPI HTMLStyle2_get_layoutGridMode(IHTMLStyle2 *iface, BSTR *p)
378 {
379 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
380 FIXME("(%p)->(%p)\n", This, p);
381 return E_NOTIMPL;
382 }
383
384 static HRESULT WINAPI HTMLStyle2_put_layoutGridType(IHTMLStyle2 *iface, BSTR v)
385 {
386 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
387 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
388 return E_NOTIMPL;
389 }
390
391 static HRESULT WINAPI HTMLStyle2_get_layoutGridType(IHTMLStyle2 *iface, BSTR *p)
392 {
393 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
394 FIXME("(%p)->(%p)\n", This, p);
395 return E_NOTIMPL;
396 }
397
398 static HRESULT WINAPI HTMLStyle2_put_layoutGrid(IHTMLStyle2 *iface, BSTR v)
399 {
400 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
401 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
402 return E_NOTIMPL;
403 }
404
405 static HRESULT WINAPI HTMLStyle2_get_layoutGrid(IHTMLStyle2 *iface, BSTR *p)
406 {
407 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
408 FIXME("(%p)->(%p)\n", This, p);
409 return E_NOTIMPL;
410 }
411
412 static HRESULT WINAPI HTMLStyle2_put_wordBreak(IHTMLStyle2 *iface, BSTR v)
413 {
414 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
415 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
416 return E_NOTIMPL;
417 }
418
419 static HRESULT WINAPI HTMLStyle2_get_wordBreak(IHTMLStyle2 *iface, BSTR *p)
420 {
421 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
422 FIXME("(%p)->(%p)\n", This, p);
423 return E_NOTIMPL;
424 }
425
426 static HRESULT WINAPI HTMLStyle2_put_lineBreak(IHTMLStyle2 *iface, BSTR v)
427 {
428 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
429 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
430 return E_NOTIMPL;
431 }
432
433 static HRESULT WINAPI HTMLStyle2_get_lineBreak(IHTMLStyle2 *iface, BSTR *p)
434 {
435 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
436 FIXME("(%p)->(%p)\n", This, p);
437 return E_NOTIMPL;
438 }
439
440 static HRESULT WINAPI HTMLStyle2_put_textJustify(IHTMLStyle2 *iface, BSTR v)
441 {
442 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
443 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
444 return E_NOTIMPL;
445 }
446
447 static HRESULT WINAPI HTMLStyle2_get_textJustify(IHTMLStyle2 *iface, BSTR *p)
448 {
449 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
450 FIXME("(%p)->(%p)\n", This, p);
451 return E_NOTIMPL;
452 }
453
454 static HRESULT WINAPI HTMLStyle2_put_textJustifyTrim(IHTMLStyle2 *iface, BSTR v)
455 {
456 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
457 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
458 return E_NOTIMPL;
459 }
460
461 static HRESULT WINAPI HTMLStyle2_get_textJustifyTrim(IHTMLStyle2 *iface, BSTR *p)
462 {
463 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
464 FIXME("(%p)->(%p)\n", This, p);
465 return E_NOTIMPL;
466 }
467
468 static HRESULT WINAPI HTMLStyle2_put_textKashida(IHTMLStyle2 *iface, VARIANT v)
469 {
470 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
471 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
472 return E_NOTIMPL;
473 }
474
475 static HRESULT WINAPI HTMLStyle2_get_textKashida(IHTMLStyle2 *iface, VARIANT *p)
476 {
477 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
478 FIXME("(%p)->(%p)\n", This, p);
479 return E_NOTIMPL;
480 }
481
482 static HRESULT WINAPI HTMLStyle2_put_textAutospace(IHTMLStyle2 *iface, BSTR v)
483 {
484 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
485 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
486 return E_NOTIMPL;
487 }
488
489 static HRESULT WINAPI HTMLStyle2_get_textAutospace(IHTMLStyle2 *iface, BSTR *p)
490 {
491 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
492 FIXME("(%p)->(%p)\n", This, p);
493 return E_NOTIMPL;
494 }
495
496 static HRESULT WINAPI HTMLStyle2_put_overflowX(IHTMLStyle2 *iface, BSTR v)
497 {
498 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
499 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
500 return E_NOTIMPL;
501 }
502
503 static HRESULT WINAPI HTMLStyle2_get_overflowX(IHTMLStyle2 *iface, BSTR *p)
504 {
505 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
506 FIXME("(%p)->(%p)\n", This, p);
507 return E_NOTIMPL;
508 }
509
510 static HRESULT WINAPI HTMLStyle2_put_overflowY(IHTMLStyle2 *iface, BSTR v)
511 {
512 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
513 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
514 return E_NOTIMPL;
515 }
516
517 static HRESULT WINAPI HTMLStyle2_get_overflowY(IHTMLStyle2 *iface, BSTR *p)
518 {
519 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
520 FIXME("(%p)->(%p)\n", This, p);
521 return E_NOTIMPL;
522 }
523
524 static HRESULT WINAPI HTMLStyle2_put_accelerator(IHTMLStyle2 *iface, BSTR v)
525 {
526 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
527 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
528 return E_NOTIMPL;
529 }
530
531 static HRESULT WINAPI HTMLStyle2_get_accelerator(IHTMLStyle2 *iface, BSTR *p)
532 {
533 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
534 FIXME("(%p)->(%p)\n", This, p);
535 return E_NOTIMPL;
536 }
537
538 static const IHTMLStyle2Vtbl HTMLStyle2Vtbl = {
539 HTMLStyle2_QueryInterface,
540 HTMLStyle2_AddRef,
541 HTMLStyle2_Release,
542 HTMLStyle2_GetTypeInfoCount,
543 HTMLStyle2_GetTypeInfo,
544 HTMLStyle2_GetIDsOfNames,
545 HTMLStyle2_Invoke,
546 HTMLStyle2_put_tableLayout,
547 HTMLStyle2_get_tableLayout,
548 HTMLStyle2_put_borderCollapse,
549 HTMLStyle2_get_borderCollapse,
550 HTMLStyle2_put_direction,
551 HTMLStyle2_get_direction,
552 HTMLStyle2_put_behavior,
553 HTMLStyle2_get_behavior,
554 HTMLStyle2_setExpression,
555 HTMLStyle2_getExpression,
556 HTMLStyle2_removeExpression,
557 HTMLStyle2_put_position,
558 HTMLStyle2_get_position,
559 HTMLStyle2_put_unicodeBidi,
560 HTMLStyle2_get_unicodeBidi,
561 HTMLStyle2_put_bottom,
562 HTMLStyle2_get_bottom,
563 HTMLStyle2_put_right,
564 HTMLStyle2_get_right,
565 HTMLStyle2_put_pixelBottom,
566 HTMLStyle2_get_pixelBottom,
567 HTMLStyle2_put_pixelRight,
568 HTMLStyle2_get_pixelRight,
569 HTMLStyle2_put_posBottom,
570 HTMLStyle2_get_posBottom,
571 HTMLStyle2_put_posRight,
572 HTMLStyle2_get_posRight,
573 HTMLStyle2_put_imeMode,
574 HTMLStyle2_get_imeMode,
575 HTMLStyle2_put_rubyAlign,
576 HTMLStyle2_get_rubyAlign,
577 HTMLStyle2_put_rubyPosition,
578 HTMLStyle2_get_rubyPosition,
579 HTMLStyle2_put_rubyOverhang,
580 HTMLStyle2_get_rubyOverhang,
581 HTMLStyle2_put_layoutGridChar,
582 HTMLStyle2_get_layoutGridChar,
583 HTMLStyle2_put_layoutGridLine,
584 HTMLStyle2_get_layoutGridLine,
585 HTMLStyle2_put_layoutGridMode,
586 HTMLStyle2_get_layoutGridMode,
587 HTMLStyle2_put_layoutGridType,
588 HTMLStyle2_get_layoutGridType,
589 HTMLStyle2_put_layoutGrid,
590 HTMLStyle2_get_layoutGrid,
591 HTMLStyle2_put_wordBreak,
592 HTMLStyle2_get_wordBreak,
593 HTMLStyle2_put_lineBreak,
594 HTMLStyle2_get_lineBreak,
595 HTMLStyle2_put_textJustify,
596 HTMLStyle2_get_textJustify,
597 HTMLStyle2_put_textJustifyTrim,
598 HTMLStyle2_get_textJustifyTrim,
599 HTMLStyle2_put_textKashida,
600 HTMLStyle2_get_textKashida,
601 HTMLStyle2_put_textAutospace,
602 HTMLStyle2_get_textAutospace,
603 HTMLStyle2_put_overflowX,
604 HTMLStyle2_get_overflowX,
605 HTMLStyle2_put_overflowY,
606 HTMLStyle2_get_overflowY,
607 HTMLStyle2_put_accelerator,
608 HTMLStyle2_get_accelerator
609 };
610
611 void HTMLStyle2_Init(HTMLStyle *This)
612 {
613 This->lpHTMLStyle2Vtbl = &HTMLStyle2Vtbl;
614 }