I have made a widget to display flash files. The widget
properly
displays the flash movie, both in IE, and FF.
I have also added the support for listeners to this widget.
The mouse
listeners work properly both in IE, and FF.
But the click event is not generated in IE. In FF all
listeners work
perfectly fine.
The relevant code for the Flash Widget is
public class Flash extends Widget implements
SourcesClickEvents,
SourcesMouseEvents, SourcesMouseWheelEvents{
private ClickListenerCollection clickListeners;
private LoadListenerCollection loadListeners;
private MouseListenerCollection mouseListeners;
private MouseWheelListenerCollection mouseWheelListeners;
public Flash(FlashWidgetParameters params){
setElement(DOM.createDiv());
sinkEvents(Event.ONCLICK | Event.MOUSEEVENTS |
Event.ONMOUSEWHEEL);
Element el = getFlashElement(params);
DOM.appendChild(getElement(), el);
}
public void addClickListener(ClickListener listener) {
if (clickListeners == null) {
clickListeners = new ClickListenerCollection();
}
clickListeners.add(listener);
}
public void addLoadListener(LoadListener listener) {
if (loadListeners == null) {
loadListeners = new LoadListenerCollection();
}
loadListeners.add(listener);
}
public void removeLoadListener(LoadListener listener) {
if (loadListeners != null) {
loadListeners.remove(listener);
}
}
public void onBrowserEvent(Event event) {
// Window.alert(DOM.eventGetTypeString(event));
switch (DOM.eventGetType(event)) {
case Event.ONCLICK:
Window.alert("click");
if (clickListeners != null) {
clickListeners.fireClick(this);
}
break;
}
}
public void removeClickListener(ClickListener listener)
{
if (clickListeners != null) {
clickListeners.remove(listener);
}
}
public void addMouseListener(MouseListener listener) {
if (mouseListeners == null) {
mouseListeners = new MouseListenerCollection();
}
mouseListeners.add(listener);
}
public void addMouseWheelListener(MouseWheelListener
listener) {
if (mouseWheelListeners == null) {
mouseWheelListeners = new
MouseWheelListenerCollection();
}
mouseWheelListeners.add(listener);
}
public void removeMouseListener(MouseListener listener)
{
if (mouseListeners != null) {
mouseListeners.remove(listener);
}
}
public void
removeMouseWheelListener(MouseWheelListener
listener) {
if (mouseWheelListeners != null) {
mouseWheelListeners.remove(listener);
}
}
public Element getFlashElement(FlashWidgetParameters
params){
Element el = DOM.createElement("EMBED");
DOM.setElementAttribute(el, "src",
params.getSrc());
DOM.setElementAttribute(el, "width",
params.getWidth());
DOM.setElementAttribute(el, "height",
params.getHeight());
DOM.setElementPropertyBoolean(el, "play",
true);
DOM.setElementAttribute(el, "wmode",
"transparent");
DOM.setElementPropertyBoolean(el, "loop",
false);
DOM.setElementAttribute(el, "quality",
"high");
DOM.setElementAttribute(el, "pluginspage",
"http://
macromedia.com/go/getflashplayer");
return el;
}
}
Can some body suggest the reason why IE does not listens to
the click
event on flash widget.
Regards
Parag
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the
Google Groups "Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit googlegroups.com
To unsubscribe from this group, send email to
Google-Web-Toolkit-unsubscribe googlegroups.com
For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en
a>
-~----------~----~----~----~------~----~------~--~---
|