In fact it does not work :-/

I don't understand. In my debug i see the correct element but the wrap 
fail. I suppose the wrap fail because the element is not attached to the 
main DOM. 
Is it possible in gwt to wrap an element from an iframe as widget attached 
to the main module ?

Element currentElement = this.getElement();
IFrameElement iframe = IFrameElement.as(currentElement);
 Document iframeDocument = iframe.getContentDocument();
 Element el= (Element) iframeDocument.getElementById("testiframe");
     final Anchor testButton = Anchor.wrap(el);
     testButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Window.alert("CLIIIICKKK ");
}
});



On Sunday, October 28, 2012 2:40:22 AM UTC-5, Fabio wrote:
>
>  Well, if it works good for you...
>
> But if you created a ScriptElement with the function test equal to i.e. 
> "function clickMe { window.alert("Click")}"
> and then on the ButtonElement you set the value i.e. setValue("clickMe()") 
> it worked as well....
>
> anyway
>
> you're welcome!!!!
>
> Il 28/10/2012 01:29, Hugues ha scritto:
>  
> Just to let you know i tried something like that : 
> The wrap work perfectly with an element of the current dom but with an 
> element i get from the iframe it does not work
>
>  Code sample :
>
>  IFrameElement iframe = IFrameElement.as(this.getElement());
> Document iframeDocument = iframe.getContentDocument();
> Element el = (Element) iframeDocument.getElementById("myhrefElement");
> Anchor testButton = Anchor.wrap(el);
> testButton.addClickHandler(new ClickHandler() {
>  public void onClick(ClickEvent event) {
>  Window.alert("CLIIIICKKK ");
>  }
> });
>  
>  By the way , thanks for your help
>
> On Saturday, October 27, 2012 4:58:16 PM UTC-5, Fabio wrote: 
>>
>>  EXACTLY
>>
>> get the Document, creaate a ButtonElement from the Document.
>> But you must also create a ScriptElement and set the text of the function 
>> and then call click from the ButtonElement
>>
>>
>>
>>
>> Il 27/10/2012 23:48, Hugues Lara ha scritto:
>>  
>> So i should get my Document of my iframe. After i get my div element and 
>> to this div element i add a child and this child is a ButtonElement ... 
>> I can try that
>>
>> On Saturday, October 27, 2012 4:46:25 PM UTC-5, Fabio wrote: 
>>>
>>>  Hi Lara
>>>
>>> you can not replace the element with your button becasue your Button is 
>>> a Widget
>>> while the button that you want to put in there must be a ButtonElement
>>>
>>> why ?
>>> because the Widget are used by GWT to translate that code into 
>>> javascript.
>>> Once translated in javascript work is done.
>>> In your case you download a web page with the Frame, then google ALSO 
>>> provides mechanism to manipulate html page and Javascript
>>> so your html page now must be handled by a reverse engineering and 
>>> threat that button as a ButtonElement
>>>
>>> is that clear ?
>>>
>>> Il 27/10/2012 23:38, Hugues Lara ha scritto:
>>>  
>>> To be honest i don't get it at all ... 
>>> An other idea was to get the Document of the Iframe. That i got it , i 
>>> even find the element i want by parsing the html. 
>>> But i dunno how replace this Element by a GWT button attached to my main 
>>> module ( I think it's necessary to show my popup ).
>>>
>>> Thanks,
>>>
>>> On Saturday, October 27, 2012 4:28:03 PM UTC-5, Fabio wrote: 
>>>>
>>>>  No you can't do that, but you have to take this other way:
>>>>
>>>> extending our target, you want to add a Widget, because your button is 
>>>> a Widget, into a Document as javascript language provides.
>>>> Infact you get a Document made by Elements. 
>>>>
>>>> So I think you have to use the method appendChild where the child is a 
>>>> ButtonElement
>>>>
>>>> see
>>>>
>>>>  
>>>> http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/index.html?com/google/gwt/dom/client/ButtonElement.html
>>>>
>>>> so you have to simulate javascript.
>>>>
>>>> The Button you mean is a Widget and use to CREATE a javascript, in that 
>>>> case everything has been already translated into javascript
>>>>
>>>>
>>>> is that clear ?
>>>>
>>>> Il 27/10/2012 22:56, Hugues Lara ha scritto:
>>>>  
>>>> Hi, 
>>>>
>>>>  My goal is to set gwt button inside my iFrame. If I do a 
>>>> RootPanel.get("my id").add(myButton) , it don't work because the id is 
>>>> inside the iFrame.
>>>> I find out how get the Document of the iframe and get the Div Element 
>>>> but i still don't know how set a button on this div.
>>>>
>>>>  Thanks,
>>>>
>>>> On Saturday, October 27, 2012 3:38:59 PM UTC-5, Fabio wrote: 
>>>>>
>>>>>  Hi 
>>>>>
>>>>> did you add a ClickHandler ? it doesnt seems to implements a 
>>>>> clickHandler
>>>>>
>>>>> bye
>>>>>
>>>>>
>>>>> Il 27/10/2012 22:07, Hugues Lara ha scritto:
>>>>>  
>>>>> Hi, 
>>>>>
>>>>>  I am actually migrate a web application to GWT. In order to reuse 
>>>>> the existing page i put them in frame. However i have to develop a new 
>>>>> popup for one of them and i would like to let this popup attached to the 
>>>>> main module.
>>>>> Before i was parsing the html to get the element and with RootPanel 
>>>>> attach a button. I can't do that anymore because it's in an Iframe.
>>>>> So i try to fire an event on click inside the iFrame to get the 
>>>>> current element and if it's the right button show the popup ...
>>>>>
>>>>>  The ONLOAD event work pretty well but the ONCLICK don't work at all 
>>>>>
>>>>>  my code sample : 
>>>>>
>>>>>  package com.exp.client;
>>>>>
>>>>>  import com.google.gwt.user.client.DOM;
>>>>> import com.google.gwt.user.client.Event;
>>>>> import com.google.gwt.user.client.ui.Frame;
>>>>> import com.google.gwt.user.client.Window;
>>>>>
>>>>>  public class CustomFrame extends Frame {
>>>>>   public CustomFrame(){
>>>>>  sinkEvents(Event.ONCLICK);
>>>>>  sinkEvents(Event.ONLOAD);
>>>>>  setUrl("http://www.google.com"; <http://www.google.com>);
>>>>>  setSize("900px","900px");
>>>>>  }
>>>>>   public void onBrowserEvent(Event event){
>>>>>  super.onBrowserEvent(event);
>>>>>         switch (DOM.eventGetType(event))
>>>>>         {
>>>>>         case Event.ONCLICK:
>>>>>             Window.alert("ONCLICK : "+ 
>>>>> event.getEventTarget().toString() );
>>>>>             DOM.eventPreventDefault(event);
>>>>>             break;
>>>>>         case Event.ONLOAD:
>>>>>         Window.alert("ONLOAD");
>>>>>             DOM.eventPreventDefault(event);
>>>>>             break;
>>>>>         }
>>>>>     }
>>>>> }
>>>>>  
>>>>>  Thanks for your help
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "Google Web Toolkit" group.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msg/google-web-toolkit/-/-_OuFX0mHJUJ.
>>>>> To post to this group, send email to google-we...@googlegroups.com.
>>>>> To unsubscribe from this group, send email to 
>>>>> google-web-toolkit+unsubscr...@googlegroups.com.
>>>>> For more options, visit this group at 
>>>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>>>
>>>>>
>>>>>   -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Google Web Toolkit" group.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msg/google-web-toolkit/-/9ooi7wPMfIAJ.
>>>> To post to this group, send email to google-we...@googlegroups.com.
>>>> To unsubscribe from this group, send email to 
>>>> google-web-toolkit+unsubscr...@googlegroups.com.
>>>> For more options, visit this group at 
>>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>>
>>>>
>>>>   -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Google Web Toolkit" group.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msg/google-web-toolkit/-/ThnSB9ylmsQJ.
>>> To post to this group, send email to google-we...@googlegroups.com.
>>> To unsubscribe from this group, send email to 
>>> google-web-toolkit+unsubscr...@googlegroups.com.
>>> For more options, visit this group at 
>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>
>>>
>>>   -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Google Web Toolkit" group.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msg/google-web-toolkit/-/ZRNm0TfdPHMJ.
>> To post to this group, send email to google-we...@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> google-web-toolkit+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>
>>
>>   -- 
> You received this message because you are subscribed to the Google Groups 
> "Google Web Toolkit" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/msg/google-web-toolkit/-/9_ZN-cin6a8J.
> To post to this group, send email to 
> google-we...@googlegroups.com<javascript:>
> .
> To unsubscribe from this group, send email to 
> google-web-toolkit+unsubscr...@googlegroups.com <javascript:>.
> For more options, visit this group at 
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
>
>  

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/dgFp5qB4_44J.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to