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