package com.smartgwt.sample.showcase.client.effects.dragdrop; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.DragDataAction; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.TransferImgButton; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.layout.HStack; import com.smartgwt.client.widgets.layout.VStack; import com.smartgwt.sample.showcase.client.PanelFactory; import com.smartgwt.sample.showcase.client.ShowcasePanel; import com.smartgwt.sample.showcase.client.data.PartData; public class DragListMoveSample extends ShowcasePanel { private static final String DESCRIPTION = "Drag and drop to copy items from the first list to the second list. You can drag over the top or bottom " + "edge of a scrolling list to scroll in that direction before dropping."; public static class Factory implements PanelFactory { private String id; public Canvas create() { DragListMoveSample panel = new DragListMoveSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } public Canvas getViewPanel() { HStack hStack = new HStack(10); hStack.setHeight(160); final PartsListGrid myList1 = new PartsListGrid(); myList1.setCanDragRecordsOut(true); myList1.setCanAcceptDroppedRecords(true); myList1.setCanReorderFields(true); myList1.setDragDataAction(DragDataAction.MOVE); myList1.setData(PartData.getRecords()); hStack.addMember(myList1); final PartsListGrid myList2 = new PartsListGrid(); myList2.setCanDragRecordsOut(true); myList2.setCanAcceptDroppedRecords(true); myList2.setCanReorderRecords(true); VStack vStack = new VStack(10); vStack.setWidth(32); vStack.setHeight(74); vStack.setLayoutAlign(Alignment.CENTER); TransferImgButton rightImg = new TransferImgButton(TransferImgButton.RIGHT); rightImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { myList2.transferSelectedData(myList1); } }); vStack.addMember(rightImg); TransferImgButton leftImg = new TransferImgButton(TransferImgButton.LEFT); leftImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { myList1.transferSelectedData(myList2); } }); vStack.addMember(leftImg); hStack.addMember(vStack); hStack.addMember(myList2); return hStack; } public String getIntro() { return DESCRIPTION; } }