Commit 183bb795 authored by Alistair Leslie-Hughes's avatar Alistair Leslie-Hughes Committed by Alexandre Julliard

mshtml: Add missing StyleSheet interfaces.

parent aa7a0b85
......@@ -32,21 +32,21 @@
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
typedef struct {
struct HTMLStyleSheet {
const IHTMLStyleSheetVtbl *lpHTMLStyleSheetVtbl;
LONG ref;
nsIDOMCSSStyleSheet *nsstylesheet;
} HTMLStyleSheet;
};
typedef struct {
struct HTMLStyleSheetsCollection {
const IHTMLStyleSheetsCollectionVtbl *lpHTMLStyleSheetsCollectionVtbl;
LONG ref;
nsIDOMStyleSheetList *nslist;
} HTMLStyleSheetsCollection;
};
typedef struct {
const IHTMLStyleSheetRulesCollectionVtbl *lpHTMLStyleSheetRulesCollectionVtbl;
......
......@@ -74,8 +74,10 @@
#define DISPID_SCRIPT DISPID_NORMAL_FIRST
#define DISPID_STYLESHEET DISPID_NORMAL_FIRST
#define DISPID_STYLERULE DISPID_NORMAL_FIRST
#define DISPID_STYLEPAGE DISPID_NORMAL_FIRST
#define DISPID_STYLESHEETS_COL DISPID_NORMAL_FIRST
#define DISPID_STYLERULES_COL DISPID_NORMAL_FIRST
#define DISPID_STYLEPAGES_COL DISPID_NORMAL_FIRST
#define DISPID_MIMETYPES_COL DISPID_NORMAL_FIRST
#define DISPID_PLUGINS_COL DISPID_NORMAL_FIRST
#define DISPID_2D DISPID_NORMAL_FIRST
......@@ -1798,10 +1800,22 @@
#define DISPID_IHTMLSTYLESHEET_RULES (DISPID_STYLESHEET+15)
#define DISPID_IHTMLSTYLESHEET_DISABLED STDPROPID_XOBJ_DISABLED
/* IHTMLStyleSheet2 */
#define DISPID_IHTMLSTYLESHEET2_PAGES (DISPID_STYLESHEET+16)
#define DISPID_IHTMLSTYLESHEET2_ADDPAGERULE (DISPID_STYLESHEET+17)
/* IHTMLStyleSheetRulesCollection */
#define DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH (DISPID_STYLERULES_COL+1)
#define DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM DISPID_VALUE
/* IHTMLStyleSheetPage */
#define DISPID_IHTMLSTYLESHEETPAGE_SELECTOR (DISPID_STYLEPAGE+1)
#define DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS (DISPID_STYLEPAGE+2)
/* IHTMLStyleSheetPagesCollection */
#define DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH (DISPID_STYLEPAGES_COL+1)
#define DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM DISPID_VALUE
/* IHTMLStyleSheetRule */
#define DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT (DISPID_STYLERULE+1)
#define DISPID_IHTMLSTYLESHEETRULE_READONLY (DISPID_STYLERULE+2)
......
......@@ -5393,6 +5393,38 @@ interface IHTMLStyleSheetRulesCollection : IDispatch
[retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
}
[
odl,
oleautomation,
dual,
uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetPage : IDispatch
{
[propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
HRESULT selector([retval, out] BSTR *p);
[propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
HRESULT pseudoClass([retval, out] BSTR *p);
}
[
odl,
oleautomation,
dual,
uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetPagesCollection : IDispatch
{
[propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
HRESULT length([retval, out] long *p);
[id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
HRESULT item(
[in] long index,
[retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
}
/*****************************************************************************
* IHTMLStyleSheet interface
*/
......@@ -5476,6 +5508,125 @@ interface IHTMLStyleSheet : IDispatch
}
/*****************************************************************************
* IHTMLStyleSheet2 interface
*/
[
odl,
oleautomation,
dual,
uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheet2 : IDispatch
{
[propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
[id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
HRESULT addPageRule(
[in] BSTR bstrSelector,
[in] BSTR bstrStyle,
[defaultvalue(-1), in] long lIndex,
[retval, out] long *plNewIndex);
}
[
hidden,
uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheet
{
properties:
methods:
[propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
void title(BSTR v);
[propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
BSTR title();
[propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
IHTMLStyleSheet* parentStyleSheet();
[propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
IHTMLElement* owningElement();
[propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
void disabled(VARIANT_BOOL v);
[propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
VARIANT_BOOL disabled();
[propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
VARIANT_BOOL readOnly();
[propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
IHTMLStyleSheetsCollection* imports();
[propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
void href(BSTR v);
[propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
BSTR href();
[propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
BSTR type();
[propget, id(DISPID_IHTMLSTYLESHEET_ID)]
BSTR id();
[id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
long addImport(
[in] BSTR bstrURL,
[defaultvalue(-1), in] long lIndex);
[id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
long addRule(
[in] BSTR bstrSelector,
[in] BSTR bstrStyle,
[defaultvalue(-1), in] long lIndex);
[id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
void removeImport([in] long lIndex);
[id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
void removeRule([in] long lIndex);
[propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
void media(BSTR v);
[propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
BSTR media();
[propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
void cssText(BSTR v);
[propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
BSTR cssText();
[propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
IHTMLStyleSheetRulesCollection* rules();
[propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
IHTMLStyleSheetPagesCollection* pages();
[id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
long addPageRule(
[in] BSTR bstrSelector,
[in] BSTR bstrStyle,
[defaultvalue(-1), in] long lIndex);
}
[
noncreatable,
uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheet
{
[default] dispinterface DispHTMLStyleSheet;
interface IHTMLStyleSheet;
interface IHTMLStyleSheet2;
}
/*****************************************************************************
* IHTMLStyleSheetsCollection interface
*/
[
......@@ -5646,6 +5797,15 @@ interface IHTMLTxtRange : IDispatch
[retval, out] VARIANT_BOOL *pfRet);
}
[
noncreatable,
uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetsCollection
{
[default] interface IHTMLStyleSheetsCollection;
}
/*****************************************************************************
* IHTMLFormElement interface
*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment