/*
* 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 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.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.ButtonItem;
import com.smartgwt.client.widgets.form.fields.ComboBoxItem;
import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import com.smartgwt.client.widgets.form.fields.events.ItemHoverEvent;
import com.smartgwt.client.widgets.form.fields.events.ItemHoverHandler;
public class Showcase implements EntryPoint {
public void onModuleLoad() {
RootPanel.get().add(getViewPanel());
}
public Canvas getViewPanel() {
final DynamicForm form = new DynamicForm();
form.setID("severityForm");
form.setWidth(200);
form.setItemHoverWidth(200);
final ComboBoxItem severityLevel = new ComboBoxItem();
severityLevel.setTitle("Severity Level");
severityLevel.setValueMap("Severity 1", "Severity 2", "Severity 3");
severityLevel.setDefaultValue("Severity 2");
severityLevel.addItemHoverHandler(new ItemHoverHandler() {
public void onItemHover(ItemHoverEvent event) {
String prompt = "Status can only be changed by the bug's owner";
if (!severityLevel.isDisabled()) {
prompt = getHoverText((String) severityLevel.getValue());
}
severityLevel.setPrompt(prompt);
}
});
final ButtonItem buttonItem = new ButtonItem();
buttonItem.setTop(40);
buttonItem.setWidth(150);
buttonItem.setTitle("Enable/disable field");
buttonItem.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
severityLevel.setDisabled(!severityLevel.isDisabled());
}
});
form.setFields(severityLevel, buttonItem);
return form;
}
private static HashMap hoverText = null;
private static String getHoverText(String key) {
if (hoverText == null) {
hoverText = new HashMap();
hoverText
.put(
"Severity 1",
"Severity 1Critical problem. System is unavailable in production or is corrupting data, and the error severely impacts the user's operations.");
hoverText
.put(
"Severity 2",
"Severity 2
Major problem. An important function of the system is not available in production, and the user's operations are restricted.");
hoverText
.put(
"Severity 3",
"Severity 3
Minor problem. Inability to use a function of the system occurs, but it does not seriously affect the user's operations.");
}
return (String) hoverText.get(key);
}
}
SmartGWT.zip( 9,880 k)