Single column ListGrid (Smart GWT)
/* * 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. */ package com.smartgwt.sample.showcase.client; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.ui.RootPanel; 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.grid.ListGridRecord; import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.menu.Menu; import com.smartgwt.client.widgets.menu.MenuButton; import com.smartgwt.client.widgets.menu.MenuItem; import com.smartgwt.client.widgets.menu.MenuItemIfFunction; import com.smartgwt.client.widgets.menu.MenuItemSeparator; public class Showcase implements EntryPoint { public void onModuleLoad() { RootPanel.get().add(getViewPanel()); } public Canvas getViewPanel() { final ListGrid listGrid = new ListGrid(); listGrid.setWidth(130); listGrid.setFields(new ListGridField("project", "Project")); listGrid.setData(new ProjectRecord[] { new ProjectRecord("AJAX Interface"), new ProjectRecord("Simplify Backend"), new ProjectRecord("Broaden Reach") }); Menu menu = new Menu(); menu.setShowShadow(true); menu.setShadowDepth(10); final MenuItem newItem = new MenuItem("New file in...", "icons/16/document_plain_new_Disabled.png", "Ctrl+N"); newItem.setEnableIfCondition(new MenuItemIfFunction() { public boolean execute(Canvas target, Menu menu, MenuItem item) { return listGrid.getSelectedRecord() != null; } }); MenuItem openItem = new MenuItem("Open", "icons/16/folder_out.png", "Ctrl+O"); MenuItem saveItem = new MenuItem("Save", "icons/16/disk_blue.png", "Ctrl+S"); MenuItem saveAsItem = new MenuItem("Save As", "icons/16/save_as.png"); MenuItem projectItem = new MenuItem("Project Listing"); projectItem.setChecked(true); MenuItemSeparator separator = new MenuItemSeparator(); // menu.setData(newItem, openItem, separator, saveItem, saveAsItem, // separator, projectItem); menu.addItem(newItem); menu.addItem(openItem); menu.addItem(separator); menu.addItem(saveItem); menu.addItem(saveAsItem); menu.addItem(separator); menu.addItem(projectItem); MenuButton menuButton = new MenuButton("File", menu); VLayout hLayout = new VLayout(); hLayout.addMember(listGrid); hLayout.addMember(menuButton); return hLayout; } class ProjectRecord extends ListGridRecord { ProjectRecord(String project) { setAttribute("project", project); } } }