Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GWT Clone a widget using DOM.clone

Tags:

java

widget

gwt

I wish to programatically clone a widget. I am able to clone the Element inside the Widget with Dom.clone but I don't seem to be able to create a Widget from this cloned element. Is this possible?

        //somewhere in onModuleLoad()...        
    Button button = new Button("Original"); 
    RootPanel.get().add(button);

    //.....later on...
    Element buttonCloneElement = DOM.clone(button.getElement(), true);
    Widget buttonClone;

    buttonClone = new Button(buttonCloneElement);  //FAIL - No such constructor
    buttonClone.setElement(buttonCloneElement);    //FAIL - No such setter method

    //This may work but looks messy to me
    buttonClone.getElement().setInnerHTML(button.getElement().getInnerHTML()); 

    //add the clone to the root panel??
    RootPanel.get().add(buttonClone);

Is there another way of cloning the Widget?

like image 935
Michael Dausmann Avatar asked Jan 08 '10 02:01

Michael Dausmann


1 Answers

buttonClone = Button.wrap(buttonCloneElement)

like image 139
axtavt Avatar answered Nov 08 '22 00:11

axtavt