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

package MSHTML.HTMLElementEvents_Events is

   type HTMLElementEvents_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 : HTMLElementEvents_Event);

   procedure onclick
     (This : HTMLElementEvents_Event);

   procedure ondblclick
     (This : HTMLElementEvents_Event);

   procedure onkeypress
     (This : HTMLElementEvents_Event);

   procedure onkeydown
     (This : HTMLElementEvents_Event);

   procedure onkeyup
     (This : HTMLElementEvents_Event);

   procedure onmouseout
     (This : HTMLElementEvents_Event);

   procedure onmouseover
     (This : HTMLElementEvents_Event);

   procedure onmousemove
     (This : HTMLElementEvents_Event);

   procedure onmousedown
     (This : HTMLElementEvents_Event);

   procedure onmouseup
     (This : HTMLElementEvents_Event);

   procedure onselectstart
     (This : HTMLElementEvents_Event);

   procedure onfilterchange
     (This : HTMLElementEvents_Event);

   procedure ondragstart
     (This : HTMLElementEvents_Event);

   procedure onbeforeupdate
     (This : HTMLElementEvents_Event);

   procedure onafterupdate
     (This : HTMLElementEvents_Event);

   procedure onerrorupdate
     (This : HTMLElementEvents_Event);

   procedure onrowexit
     (This : HTMLElementEvents_Event);

   procedure onrowenter
     (This : HTMLElementEvents_Event);

   procedure ondatasetchanged
     (This : HTMLElementEvents_Event);

   procedure ondataavailable
     (This : HTMLElementEvents_Event);

   procedure ondatasetcomplete
     (This : HTMLElementEvents_Event);

   procedure onlosecapture
     (This : HTMLElementEvents_Event);

   procedure onpropertychange
     (This : HTMLElementEvents_Event);

   procedure onscroll
     (This : HTMLElementEvents_Event);

   procedure onfocus
     (This : HTMLElementEvents_Event);

   procedure onblur
     (This : HTMLElementEvents_Event);

   procedure onresize
     (This : HTMLElementEvents_Event);

   procedure ondrag
     (This : HTMLElementEvents_Event);

   procedure ondragend
     (This : HTMLElementEvents_Event);

   procedure ondragenter
     (This : HTMLElementEvents_Event);

   procedure ondragover
     (This : HTMLElementEvents_Event);

   procedure ondragleave
     (This : HTMLElementEvents_Event);

   procedure ondrop
     (This : HTMLElementEvents_Event);

   procedure onbeforecut
     (This : HTMLElementEvents_Event);

   procedure oncut
     (This : HTMLElementEvents_Event);

   procedure onbeforecopy
     (This : HTMLElementEvents_Event);

   procedure oncopy
     (This : HTMLElementEvents_Event);

   procedure onbeforepaste
     (This : HTMLElementEvents_Event);

   procedure onpaste
     (This : HTMLElementEvents_Event);

   procedure oncontextmenu
     (This : HTMLElementEvents_Event);

   procedure onrowsdelete
     (This : HTMLElementEvents_Event);

   procedure onrowsinserted
     (This : HTMLElementEvents_Event);

   procedure oncellchange
     (This : HTMLElementEvents_Event);

   procedure onreadystatechange
     (This : HTMLElementEvents_Event);

   procedure onbeforeeditfocus
     (This : HTMLElementEvents_Event);

   procedure onlayoutcomplete
     (This : HTMLElementEvents_Event);

   procedure onpage
     (This : HTMLElementEvents_Event);

   procedure onbeforedeactivate
     (This : HTMLElementEvents_Event);

   procedure onbeforeactivate
     (This : HTMLElementEvents_Event);

   procedure onmove
     (This : HTMLElementEvents_Event);

   procedure oncontrolselect
     (This : HTMLElementEvents_Event);

   procedure onmovestart
     (This : HTMLElementEvents_Event);

   procedure onmoveend
     (This : HTMLElementEvents_Event);

   procedure onresizestart
     (This : HTMLElementEvents_Event);

   procedure onresizeend
     (This : HTMLElementEvents_Event);

   procedure onmouseenter
     (This : HTMLElementEvents_Event);

   procedure onmouseleave
     (This : HTMLElementEvents_Event);

   procedure onmousewheel
     (This : HTMLElementEvents_Event);

   procedure onactivate
     (This : HTMLElementEvents_Event);

   procedure ondeactivate
     (This : HTMLElementEvents_Event);

   procedure onfocusin
     (This : HTMLElementEvents_Event);

   procedure onfocusout
     (This : HTMLElementEvents_Event);

end MSHTML.HTMLElementEvents_Events;

