/* * Smart GWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * Smart GWT 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. Smart GWT 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.data.Record; import com.smartgwt.client.types.DragDataAction; import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.types.SelectionStyle; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.layout.HStack; import com.smartgwt.client.widgets.menu.IMenuButton; import com.smartgwt.client.widgets.menu.Menu; import com.smartgwt.sample.showcase.client.data.PartData; import com.smartgwt.sample.showcase.client.data.PartRecord; import com.google.gwt.core.client.EntryPoint; 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); IMenuButton menuButton = new IMenuButton(); 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(); } }