with GNATCOM.Events.Event_Object;
with GNATCOM.Create.COM_Interface;
with GNATCOM.IInterface;

package MSHTML.HTMLDocumentEvents2_Events is

   type HTMLDocumentEvents2_Event is
     new GNATCOM.Events.Event_Object.Event_Type with null record;

   function Create (From : in GNATCOM.Events.Event_Object.Event_Pointer)
     return GNATCOM.Create.COM_Interface.Pointer_To_COM_Interface_Type;

   procedure Set_Events
     (This            : in out GNATCOM.Events.IConnectionPoint_Type;
      For_Object      : in     GNATCOM.IInterface.Interface_Type'Class;
      Event_Interface :
        access GNATCOM.Create.COM_Interface.COM_Interface_Type;
      Free            : Boolean := True);

   procedure onhelp
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onclick
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure ondblclick
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onkeydown
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onkeyup
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onkeypress
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onmousedown
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onmousemove
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onmouseup
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onmouseout
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onmouseover
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onreadystatechange
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onbeforeupdate
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onafterupdate
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onrowexit
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onrowenter
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure ondragstart
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onselectstart
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onerrorupdate
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure oncontextmenu
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onstop
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onrowsdelete
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onrowsinserted
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure oncellchange
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onpropertychange
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure ondatasetchanged
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure ondataavailable
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure ondatasetcomplete
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onbeforeeditfocus
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onselectionchange
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure oncontrolselect
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onmousewheel
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onfocusin
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onfocusout
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onactivate
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure ondeactivate
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onbeforeactivate
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

   procedure onbeforedeactivate
     (This    : HTMLDocumentEvents2_Event;
      pEvtObj : GNATCOM.Types.VARIANT);

end MSHTML.HTMLDocumentEvents2_Events;

