with GNATCOM.Dispinterface;

package MSHTML.IHTMLDocument3_Object is

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

   procedure releaseCapture
     (This : IHTMLDocument3_Type);

   procedure recalc
     (This   : IHTMLDocument3_Type;
      fForce : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free   : Boolean := True);

   function createTextNode
     (This : IHTMLDocument3_Type;
      text : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_documentElement
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   function Get_uniqueID
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   function attachEvent
     (This  : IHTMLDocument3_Type;
      event : GNATCOM.Types.VARIANT;
      pdisp : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure detachEvent
     (This  : IHTMLDocument3_Type;
      event : GNATCOM.Types.VARIANT;
      pdisp : GNATCOM.Types.VARIANT;
      Free  : Boolean := True);

   procedure Put_onrowsdelete
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onrowsdelete
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onrowsinserted
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onrowsinserted
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncellchange
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncellchange
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondatasetchanged
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondatasetchanged
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondataavailable
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondataavailable
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondatasetcomplete
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondatasetcomplete
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onpropertychange
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onpropertychange
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_dir
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_dir
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncontextmenu
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncontextmenu
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onstop
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onstop
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   function createDocumentFragment
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   function Get_parentDocument
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_enableDownload
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_enableDownload
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_baseUrl
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_baseUrl
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   function Get_childNodes
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_inheritStyleSheets
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_inheritStyleSheets
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforeeditfocus
     (This : IHTMLDocument3_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforeeditfocus
     (This : IHTMLDocument3_Type)
     return GNATCOM.Types.VARIANT;

   function getElementsByName
     (This : IHTMLDocument3_Type;
      v    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function getElementById
     (This : IHTMLDocument3_Type;
      v    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function getElementsByTagName
     (This : IHTMLDocument3_Type;
      v    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

end MSHTML.IHTMLDocument3_Object;

