the function isn't recongnized in JS (I recieve the undefined
exception) !!

line: cfo.addEvent('onClickView',   function(obj){ })

Is there any solution

On 12 avr, 11:49, Elmaho <[email protected]> wrote:
> Hey everyone,
>
> I want to integrate MooFlow external lib in my Gwt Application, so I
> begin by reading the essentials of JSNI and doing my things.
> So far it's OK, I create the Impl class to wrap the functions I need,
> I create also the JSObject and finally the widget itself  (called
> CoverFlow).
>
> Now all I need is to add the possibility to catch the onClickView
> Event in my widget (java widget).
> With the implementation below, I can't see the HEY message when I
> click on an image, it sounds like the line:
>
>  cfo.addEvent('onClickView', ...
>
> don't work in my Impl class !!!
>
> this is my Impl class
>
> public class CoverFlowImpl {
>
>         public native CoverFlowScriptObject create(Element container, int
> startIndex, boolean useSlider) /*-{
>
>                 var options = {
>                         useSlider: useSlider,
>                         useAutoPlay: false,
>                         useCaption: false,
>                         useResize: false,
>                         useWindowResize: false,
>                         useMouseWheel: true,
>                         useKeyInput: true,
>                         startIndex: startIndex
>                 };
>
>                 var mf = new $wnd.MooFlow(container, options);
>                 return mf;
>
>         }-*/;
>
>         public native void loadJSON(CoverFlowScriptObject cfo, String json) /
> *-{
>                 cfo.loadJSONArray(json);
>         }-*/;
>
>         public native void addClickViewHandler(CoverFlowScriptObject cfo,
> HasSelectedItemChanged handler) /*-{
>
>                 cfo.addEvent('onClickView',   function(obj){
>
>                         alert('HEY');   //just to indicate if the
> event is fired
>
>                         var event =
> @com.audaxis.gwt.ui.coverflow.client.SelectedItemChangedEvent::new()
> ();
>                         
> [email protected]::fireEvent(Lcom/
> google/gwt/event/shared/GwtEvent;)(event);
>                 };
>
>         }-*/;
>
> }
>
> The Opaque  JS Object
>
> public final class CoverFlowScriptObject extends JavaScriptObject{
>
>         private final static CoverFlowImpl impl = new CoverFlowImpl();
>
>         protected CoverFlowScriptObject() {}
>
>         public static CoverFlowScriptObject createCoverFlow(Element
> container, int startIndex, boolean useSlider){
>                 return impl.create(container, startIndex, useSlider);
>         }
>
>         public void laodJSON(String json){
>                 impl.loadJSON(this, json);
>         }
>
>         public void addClickViewEvent(HasSelectedItemChanged handler){
>                 impl.addClickViewHandler(this, handler);
>         }
>
> }
>
> My Widget
>
> public class CoverFlow extends Composite implements
> HasSelectedItemChanged{
>
>         private Panel simplePanel;
>         private CoverFlowScriptObject cvo;
>         private Collection<CoverFlowItem> items;
>
>         public CoverFlow() {
>                 init(null);
>         }
>
>         protected void init(Panel parent){
>                 simplePanel = parent != null ? parent : new SimplePanel();
>                 cvo = getCoverFlowJSObject();
>                 initWidget(simplePanel);
>         }
>
>         @Override
>         public HandlerRegistration
> addSelectedItemChanged(SelectedItemChangedHandler handler) {
>                 cvo.addClickViewEvent(this);
>                 return addHandler(handler, 
> SelectedItemChangedEvent.getType());
>         }
>
> }
>
> And finally -----------HasSelectedItemChanged
>
> public interface HasSelectedItemChanged extends HasHandlers{
>
>         HandlerRegistration addSelectedItemChanged(SelectedItemChangedHandler
> handler);
>
> }
>
> Is my implementation correcte ?
> Is this the right implementation to fire events from JavaScript to
> Java ?
>
> Could anyone help me please !!
>
> Thanks in advance

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to