with GNATCOM.Dispinterface;

package MSHTML.IHTMLDocument5_Interface is

   type IHTMLDocument5_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   procedure Initialize (This : in out IHTMLDocument5_Type);

   function Pointer (This : IHTMLDocument5_Type)
     return Pointer_To_IHTMLDocument5;

   procedure Attach (This    : in out IHTMLDocument5_Type;
                     Pointer : in     Pointer_To_IHTMLDocument5);

   procedure Put_onmousewheel
     (This : IHTMLDocument5_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmousewheel
     (This : IHTMLDocument5_Type)
     return GNATCOM.Types.VARIANT;

   function Get_doctype
     (This : IHTMLDocument5_Type)
     return Pointer_To_IHTMLDOMNode;

   function Get_implementation
     (This : IHTMLDocument5_Type)
     return Pointer_To_IHTMLDOMImplementation;

   function createAttribute
     (This         : IHTMLDocument5_Type;
      bstrAttrName : GNATCOM.Types.BSTR;
      Free         : Boolean := True)
     return Pointer_To_IHTMLDOMAttribute;

   function createComment
     (This      : IHTMLDocument5_Type;
      bstrData  : GNATCOM.Types.BSTR;
      Free      : Boolean := True)
     return Pointer_To_IHTMLDOMNode;

   procedure Put_onfocusin
     (This : IHTMLDocument5_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onfocusin
     (This : IHTMLDocument5_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onfocusout
     (This : IHTMLDocument5_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onfocusout
     (This : IHTMLDocument5_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onactivate
     (This : IHTMLDocument5_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onactivate
     (This : IHTMLDocument5_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondeactivate
     (This : IHTMLDocument5_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondeactivate
     (This : IHTMLDocument5_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforeactivate
     (This : IHTMLDocument5_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforeactivate
     (This : IHTMLDocument5_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforedeactivate
     (This : IHTMLDocument5_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforedeactivate
     (This : IHTMLDocument5_Type)
     return GNATCOM.Types.VARIANT;

   function Get_compatMode
     (This : IHTMLDocument5_Type)
     return GNATCOM.Types.BSTR;

end MSHTML.IHTMLDocument5_Interface;

