/*
* 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 java.util.HashMap;
import java.util.Map;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.grid.ListGridField;
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.events.ItemClickEvent;
import com.smartgwt.client.widgets.menu.events.ItemClickHandler;
public class Showcase implements EntryPoint {
public void onModuleLoad() {
RootPanel.get().add(getViewPanel());
}
public Canvas getViewPanel() {
final Menu menu = new Menu();
menu.setShowShadow(true);
menu.setShadowDepth(10);
ListGridField closeField = new ListGridField();
closeField.setName("canDismiss");
closeField.setShowValueIconOnly(true);
Map<String, String> valueIcons = new HashMap<String, String>();
valueIcons.put("true", "icons/16/close.png");
closeField.setValueIcons(valueIcons);
closeField.setValueIconSize(16);
closeField.setWidth(16);
menu.setFields(new ListGridField("title"), closeField);
MenuItem item1 = new MenuItem("Item 1");
item1.setAttribute("canDismiss", false);
MenuItem item2 = new MenuItem("Item 2");
item2.setAttribute("canDismiss", true);
MenuItem item3 = new MenuItem("Item 3");
item3.setAttribute("canDismiss", true);
menu.setData(item1, item2, item3);
menu.addItemClickHandler(new ItemClickHandler() {
public void onItemClick(ItemClickEvent event) {
MenuItem clicked = event.getItem();
if ((event.getColNum() == 1) && clicked.getAttributeAsBoolean("canDismiss")) {
menu.removeItem(clicked);
} else {
SC.say("You Selected '" + clicked.getTitle() + "'.");
}
}
});
return new MenuButton("Show Menu", menu);
}
}
|