/* *************************************************************************
IT Mill Toolkit
Development of Browser User Interfaces Made Easy
Copyright (C) 2000-2006 IT Mill Ltd
*************************************************************************
This product is distributed under commercial license that can be found
from the product package on license.pdf. Use of this product might
require purchasing a commercial license from IT Mill Ltd. For guidelines
on usage, see licensing-guidelines.html
*************************************************************************
For more information, contact:
IT Mill Ltd phone: +358 2 4802 7180
Ruukinkatu 2-4 fax: +358 2 4802 7181
20540, Turku email: info@itmill.com
Finland company www: www.itmill.com
Primary source for information and releases: www.itmill.com
********************************************************************** */
package com.itmill.toolkit.demo.features;
import com.itmill.toolkit.ui.*;
public class FeatureWindow extends Feature {
Button addButton = new Button("Add to application", this, "addWin");
Button removeButton = new Button("Remove from application", this, "delWin");
Window demoWindow;
Form windowProperties;
public FeatureWindow() {
super();
}
protected Component getDemoComponent() {
OrderedLayout layoutRoot = new OrderedLayout();
OrderedLayout layoutUpper = new OrderedLayout();
OrderedLayout layoutLower = new OrderedLayout();
demoWindow = new Window("Feature Test Window");
layoutUpper.addComponent(addButton);
layoutUpper.addComponent(removeButton);
layoutLower.addComponent(new Label(
"Note: depending on your browser, you may have to "
+ "allow popups from this web site in order"
+ " to get this demo to work."));
updateWinStatus();
// Propertiesc
propertyPanel = new PropertyPanel(demoWindow);
propertyPanel.dependsOn(addButton);
propertyPanel.dependsOn(removeButton);
windowProperties = propertyPanel.createBeanPropertySet(new String[] {
"width", "height", "name", "border", "theme", "scrollable",
"scrollOffsetX", "scrollOffsetY" });
windowProperties.replaceWithSelect("border", new Object[] {
new Integer(Window.BORDER_DEFAULT),
new Integer(Window.BORDER_NONE),
new Integer(Window.BORDER_MINIMAL) }, new Object[] { "Default",
"None", "Minimal" });
propertyPanel.addProperties("Window Properties", windowProperties);
setJavadocURL("ui/Window.html");
layoutRoot.addComponent(layoutUpper);
layoutRoot.addComponent(layoutLower);
return layoutRoot;
}
protected String getExampleSrc() {
return "Window win = new Window();\n"
+ "getApplication().addWindow(win);\n";
}
protected String getDescriptionXHTML() {
return "The window support in IT Mill Toolkit allows for opening and closing windows, "
+ "refreshing one window from another (for asynchronous terminals), "
+ "resizing windows and scrolling window content. "
+ "There are also a number of preset window border styles defined by "
+ "this feature.";
}
protected String getImage() {
return "window.jpg";
}
protected String getTitle() {
return "Window";
}
public void addWin() {
getApplication().addWindow(demoWindow);
demoWindow.removeAllComponents();
demoWindow.setWidth(500);
demoWindow.setHeight(200);
// Panel panel = new Panel("New window");
// panel.addComponent(new Label(
// "This is a new window created by selecting Add to "
// + "application.
You can close"
// + " this window by selecting Remove from"
// + " application from the Feature Browser window.",
// Label.CONTENT_XHTML));
// demoWindow.addComponent(panel);
demoWindow
.addComponent(new Label(
"
This is a new window created by Add to "
+ "application button's event.
You may simply"
+ " close this window or select Remove from"
+ " application from the Feature Browser window.",
Label.CONTENT_XHTML));
windowProperties.getField("name").setReadOnly(true);
updateWinStatus();
}
public void delWin() {
getApplication().removeWindow(demoWindow);
windowProperties.getField("name").setReadOnly(false);
updateWinStatus();
}
private void updateWinStatus() {
if (demoWindow.getApplication() == null) {
addButton.setEnabled(true);
removeButton.setEnabled(false);
} else {
addButton.setEnabled(false);
removeButton.setEnabled(true);
}
}
}