/**************************************************************************
* Copyright (c) 2001, 2002, 2003 by Acunia N.V. All rights reserved. *
* *
* This software is copyrighted by and is the sole property of Acunia N.V. *
* and its licensors, if any. All rights, title, ownership, or other *
* interests in the software remain the property of Acunia N.V. and its *
* licensors, if any. *
* *
* This software may only be used in accordance with the corresponding *
* license agreement. Any unauthorized use, duplication, transmission, *
* distribution or disclosure of this software is expressly forbidden. *
* *
* This Copyright notice may not be removed or modified without prior *
* written consent of Acunia N.V. *
* *
* Acunia N.V. reserves the right to modify this software without notice. *
* *
* Acunia N.V. *
* Philips-site 5, box 3 info@acunia.com *
* 3001 Leuven http://www.acunia.com *
* Belgium - EUROPE *
**************************************************************************/
package com.acunia.wonka.rudolph.peers;
import com.acunia.wonka.rudolph.WindowManager;
import java.awt.peer.*;
import java.awt.*;
public class DefaultWindow extends DefaultContainer implements WindowPeer {
protected static WindowManager wm = WindowManager.getInstance();
private boolean settingBounds = false;
native protected void relocatePeer();
native protected void disposePeer();
native public void toBack0();
native public void toFront0();
public DefaultWindow(Window window) {
super(window);
wm.addWindow(window);
}
public void setBounds(int x, int y, int w, int h) {
if(settingBounds) return;
settingBounds = true;
Rectangle dim = wm.checkBounds((Window)component, x, y, w, h);
((Window)component).setBounds(dim.x, dim.y, dim.width, dim.height);
super.setBounds(dim.x, dim.y, dim.width, dim.height);
relocatePeer();
settingBounds = false;
}
public void setVisible(boolean visible) {
if (wm != null) {
wm.setVisible((Window)component, visible);
}
if (visible == false) {
relocatePeer();
}
}
public void dispose() {
wm.removeWindow((Window)component);
}
public void finalize() {
disposePeer();
super.finalize();
}
public void toBack() {
toBack0();
wm.toBack((Window)component);
}
public void toFront() {
toFront0();
wm.toFront((Window)component);
}
}