public class MyWidget extends Composite implements SourcesClickEvents {
public MyWidget() {
final DockPanel panel = new DockPanel();
initWidget(panel);
sinkEvents(Event.ONCLICK);
setStyleName("my-widget");
}
public void onBrowserEvent(Event evt) {
switch(DOM.eventGetType(evt)
case: Event.ONCLICK:
clickListeners.firClick(this);
break;
}
}
Thanks for any help,
Javid
In your case, the DockPanel doesn't source click events, but if you
create a subclass of DockPanel that does, you should be able to get it
done.
public class ClickableDockPanel extends DockPanel implements
SourcesClickEvents {
private ClickListenerCollection listeners = new
ClickListenerCollection();
public ClickableDockPanel() {
sinkEvents(Event.ONCLICK);
}
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
if (DOM.eventGetType(event) == Event.ONCLICK) {
listeners.fireClick(this);
}
}
public void addClickListener(ClickListener listener) {
listeners.add(listener);
}
public void removeClickListener(ClickListener listener) {
listeners.remove(listener);
}
}
-Mike