package com.smartgwt.sample.showcase.client.basics.components; import com.google.gwt.user.client.Random; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Img; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.sample.showcase.client.PanelFactory; import com.smartgwt.sample.showcase.client.ShowcasePanel; public class CreateSample extends ShowcasePanel { private static final String DESCRIPTION = "Click the button to create new cube objects."; public static class Factory implements PanelFactory { private String id; public Canvas create() { CreateSample panel = new CreateSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } public Canvas getViewPanel() { VLayout layout = new VLayout(); layout.setMembersMargin(10); final Canvas cubeBin = new Canvas("cubeBin"); cubeBin.setTop(40); cubeBin.setWidth(400); cubeBin.setHeight(300); cubeBin.setShowEdges(true); IButton button = new IButton(); button.setTitle("Create"); button.setIcon("pieces/16/cube_blue.png"); button.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final Img img = new Img(); img.setLeft(Random.nextInt(340)); img.setTop(Random.nextInt(240)); img.setWidth(48); img.setHeight(48); img.setParentElement(cubeBin); img.setSrc("pieces/48/cube_blue.png"); img.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { img.destroy(); } }); img.draw(); } }); layout.addMember(button); layout.addMember(cubeBin); return layout; } public String getIntro() { return DESCRIPTION; } }