blob: c4769bc2ccc19f7d36c21ae5c920eb7eb203e877 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.pivot.tests;
import java.awt.Color;
import org.apache.pivot.collections.Map;
import org.apache.pivot.wtk.Application;
import org.apache.pivot.wtk.ApplicationContext;
import org.apache.pivot.wtk.Component;
import org.apache.pivot.wtk.ComponentListener;
import org.apache.pivot.wtk.DesktopApplicationContext;
import org.apache.pivot.wtk.Dialog;
import org.apache.pivot.wtk.Display;
import org.apache.pivot.wtk.Frame;
import org.apache.pivot.wtk.HorizontalAlignment;
import org.apache.pivot.wtk.Label;
import org.apache.pivot.wtk.Palette;
import org.apache.pivot.wtk.Sheet;
import org.apache.pivot.wtk.VerticalAlignment;
import org.apache.pivot.wtk.effects.ReflectionDecorator;
public class WindowTest extends Application.Adapter {
private Frame window1 = new Frame();
private Frame dialogOwner = new Frame();
@Override
public void startup(Display display, Map<String, String> properties) {
window1.setTitle("Window 1");
window1.setPreferredSize(640, 480);
window1.setMaximumWidth(640);
window1.setMaximumHeight(480);
window1.setMinimumWidth(320);
window1.setMinimumHeight(240);
window1.getComponentListeners().add(new ComponentListener.Adapter() {
@Override
public void sizeChanged(Component component, int previousWidth, int previousHeight) {
window1.align(window1.getDisplay().getBounds(),
HorizontalAlignment.CENTER, VerticalAlignment.CENTER);
window1.getComponentListeners().remove(this);
}
});
display.getStyles().put("backgroundColor", new Color(0, 127, 127));
window1.setContent(new Label("Hello Bar"));
window1.open(display);
ApplicationContext.queueCallback(new Runnable() {
@Override
public void run() {
final Sheet sheet = new Sheet();
sheet.setPreferredSize(120, 60);
sheet.open(window1);
ApplicationContext.queueCallback(new Runnable() {
@Override
public void run() {
Sheet sheet2 = new Sheet();
sheet2.setPreferredSize(60, 30);
sheet2.open(sheet);
}
});
}
});
Frame window1a = new Frame();
window1a.setTitle("Window 1 A");
window1a.setLocation(30, 280);
window1a.setPreferredSize(160, 120);
window1a.open(window1);
Frame window1ai = new Frame();
window1ai.setTitle("Window 1 A I");
window1ai.setLocation(150, 300);
window1ai.setPreferredSize(320, 200);
window1ai.open(window1a);
window1ai.getDecorators().update(0, new ReflectionDecorator());
Frame window1aii = new Frame();
window1aii.setTitle("Window 1 A II");
window1aii.setLocation(50, 400);
window1aii.setPreferredSize(320, 200);
window1aii.open(window1a);
Frame window1b = new Frame();
window1b.setTitle("Window 1 B");
window1b.setPreferredSize(160, 120);
window1b.setLocation(260, 60);
window1b.open(window1);
Frame window1bi = new Frame();
window1bi.setTitle("Window 1 B I");
window1bi.setPreferredSize(180, 60);
window1bi.setLocation(270, 160);
window1bi.setContent(new Label("This window is not enabled"));
window1bi.setEnabled(false); // to test even a not enabled window ...
window1bi.open(window1b);
Frame window1bii = new Frame();
window1bii.setTitle("Window 1 B II");
window1bii.setPreferredSize(160, 60);
window1bii.setLocation(320, 10);
window1bii.open(window1b);
Palette palette1 = new Palette();
palette1.setTitle("Palette 1bii 1");
palette1.setPreferredSize(160, 60);
palette1.setLocation(290, 210);
palette1.open(window1bii);
Palette palette2 = new Palette();
palette2.setTitle("Palette 1bii 2");
palette2.setPreferredSize(160, 60);
palette2.setLocation(600, 200);
palette2.setContent(new Label("This palette is not enabled"));
palette2.setEnabled(false); // to test even a not enabled palette ...
palette2.open(window1bii);
dialogOwner.setTitle("Dialog Owner");
dialogOwner.setPreferredSize(320, 120);
dialogOwner.open(display);
// window1bii.requestFocus();
ApplicationContext.queueCallback(new Runnable() {
@Override
public void run() {
final Dialog dialog = new Dialog();
dialog.setTitle("Dialog 1");
dialog.setPreferredSize(280, 100);
dialog.open(dialogOwner);
ApplicationContext.queueCallback(new Runnable() {
@Override
public void run() {
Dialog dialog2 = new Dialog();
dialog2.setTitle("Dialog 2");
dialog2.setPreferredSize(220, 80);
dialog2.open(dialog);
}
});
}
});
}
@Override
public boolean shutdown(boolean optional) {
if (window1 != null) {
window1.close();
}
return false;
}
public static void main(String[] args) {
DesktopApplicationContext.main(WindowTest.class, args);
}
}