package body MSHTML.IHTMLTable4_Object is

   procedure PutRef_tHead
     (This : IHTMLTable4_Type;
      P1   : GNATCOM.Types.VARIANT)
   is
   begin
      PutRef
        (This,
         IHTMLTable4_PutRef_tHead,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1));
   end PutRef_tHead;

   function Get_tHead
     (This : IHTMLTable4_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLTable4_Get_tHead);
   end Get_tHead;

   procedure PutRef_tFoot
     (This : IHTMLTable4_Type;
      P1   : GNATCOM.Types.VARIANT)
   is
   begin
      PutRef
        (This,
         IHTMLTable4_PutRef_tFoot,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1));
   end PutRef_tFoot;

   function Get_tFoot
     (This : IHTMLTable4_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLTable4_Get_tFoot);
   end Get_tFoot;

   procedure PutRef_caption
     (This : IHTMLTable4_Type;
      P1   : GNATCOM.Types.VARIANT)
   is
   begin
      PutRef
        (This,
         IHTMLTable4_PutRef_caption,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1));
   end PutRef_caption;

   function Get_caption
     (This : IHTMLTable4_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLTable4_Get_caption);
   end Get_caption;

   function insertRow
     (This  : IHTMLTable4_Type;
      index : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLTable4_insertRow,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => index),
         Free);
   end insertRow;

   procedure deleteRow
     (This  : IHTMLTable4_Type;
      index : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free  : Boolean := True)
   is
   begin
      Invoke
        (This,
         IHTMLTable4_deleteRow,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => index),
         Free);
   end deleteRow;

   function createTBody
     (This : IHTMLTable4_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke (This, IHTMLTable4_createTBody);
   end createTBody;

end MSHTML.IHTMLTable4_Object;

