public class WindowPaneExamplesTest extends SplitPane {
private class WindowTestControls extends ButtonColumn {
private WindowTestControls(String targetName, final ContentPane targetContentPane) {
add(new Label(targetName));
addButton("Add Test Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
targetContentPane.add(createTestWindow("Test"));
}
});
addButton("Add Label Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
targetContentPane.add(createSimpleWindow("Simple"));
}
});
addButton("Add GlassBlue Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane windowPane = createSimpleWindow("GlassBlue");
windowPane.setStyleName("GlassBlue");
targetContentPane.add(windowPane);
}
});
addButton("Add TransGreen Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane windowPane = createSimpleWindow("TransGreen");
windowPane.setStyleName("TransGreen");
targetContentPane.add(windowPane);
}
});
addButton("Add Modal Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane windowPane = createModalWindow("Modal");
windowPane.setModal(true);
targetContentPane.add(windowPane);
}
});
addButton("Add Three Modal Windows", new ActionListener() {
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < 3; ++i) {
WindowPane windowPane = createModalWindow("3Modal");
windowPane.setModal(true);
windowPane.setZIndex(i + 1);
targetContentPane.add(windowPane);
}
}
});
addButton("Add Modal Window In A Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane w1 = new WindowPane();
w1.setStyleName("Default");
w1.setWidth(new Extent(650));
w1.setHeight(new Extent(450));
w1.setTitle("Just A Window");
targetContentPane.add(w1);
ContentPane c1 = new ContentPane();
final Button b1 = new Button("Click me:");
b1.setStyleName("Default");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
b1.setText(b1.getText() + "!");
}
});
c1.add(b1);
w1.add(c1);
WindowPane w2 = new WindowPane();
w2.setStyleName("Default");
final Button b2 = new Button("Click me:");
b2.setStyleName("Default");
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
b2.setText(b2.getText() + "!");
}
});
w2.add(b2);
w2.setTitle("But this one is modal.");
w2.setModal(true);
c1.add(w2);
}
});
addButton("Add Constrained Size Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane windowPane = createSimpleWindow("Constrained");
windowPane.setMinimumWidth(new Extent(400));
windowPane.setMaximumWidth(new Extent(500));
windowPane.setMinimumHeight(new Extent(200));
windowPane.setMaximumHeight(new Extent(280));
targetContentPane.add(windowPane);
}
});
addButton("Add Default-Border Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
final WindowPane windowPane = new WindowPane();
positionWindowPane(windowPane);
windowPane.setTitle("Default-Border Window #" + windowNumber++);
targetContentPane.add(windowPane);
Column windowPaneColumn = new Column();
windowPane.add(windowPaneColumn);
windowPaneColumn.add(new Label("First Name:"));
windowPaneColumn.add(new TextField());
windowPaneColumn.add(new Label("Last Name:"));
windowPaneColumn.add(new TextField());
}
});
addButton("Add Immovable Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane windowPane = createSimpleWindow("Immovable");
windowPane.setMovable(false);
targetContentPane.add(windowPane);
}
});
addButton("Add Fixed Size Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane windowPane = createSimpleWindow("Fixed Size");
windowPane.setResizable(false);
targetContentPane.add(windowPane);
}
});
addButton("Add Immovable Fixed Size Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane windowPane = createSimpleWindow("Immovable Fixed Size");
windowPane.setMovable(false);
windowPane.setResizable(false);
targetContentPane.add(windowPane);
}
});
addButton("Add SplitPane Window (No Close Icon)", new ActionListener() {
public void actionPerformed(ActionEvent e) {
final WindowPane windowPane = new WindowPane();
windowPane.setClosable(false);
positionWindowPane(windowPane);
targetContentPane.add(windowPane);
windowPane.setTitle("SplitPane Window #" + windowNumber++);
windowPane.setTitleInsets(new Insets(10, 5));
windowPane.setStyleName("Default");
windowPane.setTitleBackground(new Color(0x2f2f4f));
windowPane.setWidth(new Extent(500, Extent.PX));
windowPane.setHeight(new Extent(300, Extent.PX));
SplitPane splitPane = new SplitPane(SplitPane.ORIENTATION_VERTICAL_BOTTOM_TOP, new Extent(42));
SplitPaneLayoutData splitPaneLayoutData;
Button okButton = new Button("Ok");
okButton.addActionListener(new ActionListener() {
/**
* @see nextapp.echo2.app.event.ActionListener#actionPerformed(nextapp.echo2.app.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
windowPane.getParent().remove(windowPane);
}
});
splitPaneLayoutData = new SplitPaneLayoutData();
splitPaneLayoutData.setBackground(new Color(0x5f5f9f));
splitPaneLayoutData.setInsets(new Insets(8));
splitPaneLayoutData.setAlignment(new Alignment(Alignment.CENTER, Alignment.DEFAULT));
splitPaneLayoutData.setOverflow(SplitPaneLayoutData.OVERFLOW_HIDDEN);
okButton.setLayoutData(splitPaneLayoutData);
okButton.setWidth(new Extent(100));
okButton.setStyleName("Default");
splitPane.add(okButton);
Label contentLabel = new Label(StyleUtil.QUASI_LATIN_TEXT_1);
splitPaneLayoutData = new SplitPaneLayoutData();
splitPaneLayoutData.setBackground(new Color(0xefefff));
contentLabel.setLayoutData(splitPaneLayoutData);
splitPane.add(contentLabel);
windowPane.add(splitPane);
}
});
addButton("Add Multiple SplitPane Nautilus Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
final WindowPane windowPane = new WindowPane();
windowPane.setStyleName("Default");
windowPane.setWidth(new Extent(500, Extent.PX));
windowPane.setHeight(new Extent(500, Extent.PX));
windowPane.setTitle("SP Nautilus Window #" + windowNumber++);
windowPane.add(new SplitPaneNestedTest(new Extent(50)));
positionWindowPane(windowPane);
targetContentPane.add(windowPane);
}
});
addButton("Add Multiple SplitPane Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
final WindowPane windowPane = new WindowPane();
positionWindowPane(windowPane);
targetContentPane.add(windowPane);
windowPane.setTitle("Multiple SplitPane Window #" + windowNumber++);
windowPane.setTitleInsets(new Insets(10, 5));
windowPane.setStyleName("Default");
windowPane.setTitleBackground(new Color(0x2f2f4f));
windowPane.setWidth(new Extent(700, Extent.PX));
windowPane.setHeight(new Extent(500, Extent.PX));
SplitPane splitPane1 = new SplitPane(SplitPane.ORIENTATION_HORIZONTAL, new Extent(100));
splitPane1.setStyleName("DefaultResizable");
SplitPaneLayoutData splitPaneLayoutData;
Label label;
label = new Label(StyleUtil.QUASI_LATIN_TEXT_1);
splitPaneLayoutData = new SplitPaneLayoutData();
splitPaneLayoutData.setBackground(new Color(0x3fbf5f));
splitPaneLayoutData.setInsets(new Insets(5));
label.setLayoutData(splitPaneLayoutData);
splitPane1.add(label);
SplitPane splitPane2 = new SplitPane(SplitPane.ORIENTATION_VERTICAL, new Extent(120));
splitPane2.setStyleName("DefaultResizable");
SplitPane splitPane3 = new SplitPane(SplitPane.ORIENTATION_HORIZONTAL, new Extent(200));
splitPane3.setStyleName("DefaultResizable");
splitPane2.add(splitPane3);
SplitPane splitPane4 = new SplitPane(SplitPane.ORIENTATION_HORIZONTAL, new Extent(300));
splitPane4.setStyleName("DefaultResizable");
splitPane2.add(splitPane4);
label = new Label(StyleUtil.QUASI_LATIN_TEXT_1);
splitPaneLayoutData = new SplitPaneLayoutData();
splitPaneLayoutData.setBackground(new Color(0x5f3fbf));
splitPaneLayoutData.setInsets(new Insets(5));
label.setLayoutData(splitPaneLayoutData);
splitPane3.add(label);
label = new Label(StyleUtil.QUASI_LATIN_TEXT_1);
splitPaneLayoutData = new SplitPaneLayoutData();
splitPaneLayoutData.setBackground(new Color(0x3f5fbf));
splitPaneLayoutData.setInsets(new Insets(5));
label.setLayoutData(splitPaneLayoutData);
splitPane3.add(label);
label = new Label(StyleUtil.QUASI_LATIN_TEXT_1);
splitPaneLayoutData = new SplitPaneLayoutData();
splitPaneLayoutData.setBackground(new Color(0xbf5f3f));
splitPaneLayoutData.setInsets(new Insets(5));
label.setLayoutData(splitPaneLayoutData);
splitPane4.add(label);
label = new Label(StyleUtil.QUASI_LATIN_TEXT_1);
splitPaneLayoutData = new SplitPaneLayoutData();
splitPaneLayoutData.setBackground(new Color(0xbf3f5f));
splitPaneLayoutData.setInsets(new Insets(5));
label.setLayoutData(splitPaneLayoutData);
splitPane4.add(label);
splitPane1.add(splitPane2);
windowPane.add(splitPane1);
}
});
addButton("Add Mozilla TextField Quirk Workaround Test Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
targetContentPane.add(createMozillaTextFieldQuirkTestWindow());
}
});
addButton("Add init() bug-fix test Window", new ActionListener() {
public void actionPerformed(ActionEvent e) {
WindowPane windowPane = new WindowPane();
windowPane.add(new Column() {
public void init() {
super.init();
add(new Label("Test"));
}
public void dispose() {
removeAll();
super.dispose();
}