/* * SmartGWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * SmartGWT is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License version 3 * as published by the Free Software Foundation. SmartGWT is also * available under typical commercial license terms - see * http://smartclient.com/license * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ import com.smartgwt.client.types.*; import com.smartgwt.client.util.EventHandler; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Img; import com.smartgwt.client.widgets.ImgProperties; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.menu.Menu; import com.smartgwt.client.widgets.menu.MenuButton; import com.smartgwt.client.widgets.events.*; import com.smartgwt.client.widgets.layout.HStack; import com.smartgwt.client.widgets.layout.VStack; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.data.Record; import com.smartgwt.sample.showcase.client.data.PartData; import com.smartgwt.sample.showcase.client.data.PartRecord; public class DragMenuGridSample implements EntryPoint { public void onModuleLoad() { Menu menu = new Menu(); ListGridField partSrcField = new ListGridField("partSrc", 20); partSrcField.setType(ListGridFieldType.IMAGE); partSrcField.setImgDir("pieces/16/"); ListGridField partNameField = new ListGridField("partName"); partNameField.setWidth(70); menu.setFields(partSrcField, partNameField); menu.setData(PartData.getRecords()); menu.setSelectionType(SelectionStyle.SINGLE); menu.setCanDragRecordsOut(true); menu.setDragDataAction(DragDataAction.MOVE); MenuButton menuButton = new MenuButton(); menuButton.setTitle("Parts"); menuButton.setMenu(menu); ListGrid partsGrid = new ListGrid(); partsGrid.setWidth(300); partsGrid.setCanAcceptDroppedRecords(true); partsGrid.setCanReorderFields(true); ListGridField partSrcField2 = new ListGridField("partSrc", 80); partSrcField2.setType(ListGridFieldType.IMAGE); partSrcField2.setImgDir("pieces/16/"); ListGridField partNameField2 = new ListGridField("partName"); partNameField2.setWidth(140); ListGridField partNumField2 = new ListGridField("partNum", 80); partsGrid.setFields(partSrcField2, partNameField2, partNumField2); partsGrid.setData(new Record[] { new PartRecord("Blue", "cube_blue.png", 1), new PartRecord("Yellow", "cube_yellow.png", 2), }); HStack layout = new HStack(70); layout.setHeight(160); layout.setMembers(menuButton, partsGrid); layout.draw(); } }