/*
* 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);
}
}
}
SmartGWT.zip( 9,880 k)