with GNATCOM.Dispinterface;

package MSHTML.IHTMLWindow2_Object is

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

   function item
     (This      : IHTMLWindow2_Type;
      pvarIndex : GNATCOM.Types.VARIANT;
      Free      : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_length
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_frames
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_defaultStatus
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_defaultStatus
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_status
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_status
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function setTimeout
     (This       : IHTMLWindow2_Type;
      expression : GNATCOM.Types.VARIANT;
      msec       : GNATCOM.Types.VARIANT;
      language   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free       : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure clearTimeout
     (This    : IHTMLWindow2_Type;
      timerID : GNATCOM.Types.VARIANT;
      Free    : Boolean := True);

   procedure alert
     (This    : IHTMLWindow2_Type;
      message : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True);

   function confirm
     (This    : IHTMLWindow2_Type;
      message : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function prompt
     (This    : IHTMLWindow2_Type;
      message : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      defstr  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_Image
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_location
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_history
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure close
     (This : IHTMLWindow2_Type);

   procedure Put_opener
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_opener
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_navigator
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_name
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_name
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_parent
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function open
     (This     : IHTMLWindow2_Type;
      url      : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      name     : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      features : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      replace  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_self
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_top
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_window
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure navigate
     (This : IHTMLWindow2_Type;
      url  : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   procedure Put_onfocus
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onfocus
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onblur
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onblur
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onload
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onload
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforeunload
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforeunload
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onunload
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onunload
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onhelp
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onhelp
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onerror
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onerror
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onresize
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onresize
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onscroll
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onscroll
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_document
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_event
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Getu_newEnum
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function showModalDialog
     (This       : IHTMLWindow2_Type;
      dialog     : GNATCOM.Types.VARIANT;
      varArgIn   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      varOptions : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free       : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure showHelp
     (This     : IHTMLWindow2_Type;
      helpURL  : GNATCOM.Types.VARIANT;
      helpArg  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      features : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True);

   function Get_screen
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function Get_Option
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure focus
     (This : IHTMLWindow2_Type);

   function Get_closed
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure blur
     (This : IHTMLWindow2_Type);

   procedure scroll
     (This : IHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_clientInformation
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function setInterval
     (This       : IHTMLWindow2_Type;
      expression : GNATCOM.Types.VARIANT;
      msec       : GNATCOM.Types.VARIANT;
      language   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free       : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure clearInterval
     (This    : IHTMLWindow2_Type;
      timerID : GNATCOM.Types.VARIANT;
      Free    : Boolean := True);

   procedure Put_offscreenBuffering
     (This : IHTMLWindow2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_offscreenBuffering
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   function execScript
     (This     : IHTMLWindow2_Type;
      code     : GNATCOM.Types.VARIANT;
      language : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function toString
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

   procedure scrollBy
     (This : IHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   procedure scrollTo
     (This : IHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   procedure moveTo
     (This : IHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   procedure moveBy
     (This : IHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   procedure resizeTo
     (This : IHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   procedure resizeBy
     (This : IHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_external
     (This : IHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT;

end MSHTML.IHTMLWindow2_Object;

