package com.smartgwt.sample.showcase.client.windows;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.HeaderControls;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
import com.smartgwt.sample.showcase.client.PanelFactory;
import com.smartgwt.sample.showcase.client.ShowcasePanel;
public class WindowHeaderControlsSample extends ShowcasePanel {
private static final String DESCRIPTION = "Header controls can be reordered and custom controls added.";
public static class Factory implements PanelFactory {
private String id;
public Canvas create() {
WindowHeaderControlsSample panel = new WindowHeaderControlsSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
class StatusCanvas extends Canvas {
public void setNewStatus(String system) {
setContents(system + ": <span style='color:green;font-weight:bold'>Normal</span><br>");
}
}
public Canvas getViewPanel() {
Canvas canvas = new Canvas();
final StatusCanvas statusReportCanvas = new StatusCanvas();
statusReportCanvas.setPadding(5);
statusReportCanvas.setWidth100();
statusReportCanvas.setHeight100();
DynamicForm systemSelector = new DynamicForm();
systemSelector.setWidth(75);
systemSelector.setNumCols(1);
systemSelector.setLayoutAlign(Alignment.CENTER);
SelectItem selectFont = new SelectItem();
selectFont.setHeight(19);
selectFont.setName("selectFont");
selectFont.setWidth(120);
selectFont.setShowTitle(false);
selectFont.setValueMap("Development", "Staging", "Production");
selectFont.setDefaultValue("Development");
selectFont.addChangedHandler(new ChangedHandler() {
public void onChanged(ChangedEvent event) {
statusReportCanvas.setNewStatus((String)event.getValue());
}
});
systemSelector.setItems(selectFont);
final Window window = new Window();
window.setTitle("Status");
window.setWidth(300);
window.setHeight(200);
window.setCanDragReposition(true);
window.setCanDragResize(true);
window.setHeaderControls(HeaderControls.CLOSE_BUTTON, HeaderControls.MINIMIZE_BUTTON, HeaderControls.HEADER_LABEL, systemSelector);
window.addItem(statusReportCanvas);
statusReportCanvas.setNewStatus("Development");
canvas.addChild(window);
return canvas;
}
public String getIntro() {
return DESCRIPTION;
}
}