Hi All,

I have an embedded application and am trying to simulate an event from
inside my application(written in C++). I am trying to simulate events like
click etc. on HTML Elements. I have been able to fire the events but they do
not bubble.

I have created an event object using the code snip below ..

      nsMouseEvent event;
      event.eventStructType = NS_MOUSE_EVENT;
      event.message = NS_MOUSE_LEFT_CLICK;
      event.isShift = PR_FALSE;
      event.isControl = PR_TRUE;
      event.isAlt = PR_FALSE;
      event.isMeta = PR_FALSE;
      event.clickCount = 0;
      event.widget = nsnull;
      event.acceptActivation=1;

Now, I get an event receiver by QI'ing an element like and then get the
EventListenerManager on this inpElement ..

     nsCOMPtr<nsIDOMEventReceiver> aReceiver =
      do_QueryInterface(inpElement);
      nsCOMPtr<nsIEventListenerManager> listenerManager;
      aReceiver->GetListenerManager(getter_AddRefs(listenerManager));

      nsCOMPtr<nsIDOMEventTarget> aEventTarget
       = do_QueryInterface(inpElement);

      nsCOMPtr<nsIDOMEvent> aDOMEvent;

I now try to simulate the event using this event listener manager. The event
gets simulated but the problem is that IT DOES NOT BUBBLE !.

      listenerManager->HandleEvent(nsnull, &event,
getter_AddRefs(aDOMEvent),
aEventTarget,NS_EVENT_FLAG_INIT,&aEventStatus);

I want this event to bubble! Any hints what I may be doing wrong or what
more do I need to do?

Thanx,
Amlan.




Reply via email to