7161575: [macosx] On MacOSX port java.awt.Toolkit.is/setDynamicLayout() are not consistent

Reviewed-by: anthony, art
This commit is contained in:
Sergey Bylokhov 2013-05-06 16:23:36 +04:00
parent 4cb70c3b15
commit c9775371ce

View File

@ -53,7 +53,12 @@ public abstract class LWToolkit extends SunToolkit implements Runnable {
private Clipboard clipboard;
private MouseInfoPeer mouseInfoPeer;
public LWToolkit() {
/**
* Dynamic Layout Resize client code setting.
*/
private volatile boolean dynamicLayoutSetting = true;
protected LWToolkit() {
}
/*
@ -561,4 +566,37 @@ public abstract class LWToolkit extends SunToolkit implements Runnable {
((LWWindowPeer)w.getPeer()).ungrab(false);
}
}
@Override
protected final Object lazilyLoadDesktopProperty(final String name) {
if (name.equals("awt.dynamicLayoutSupported")) {
return isDynamicLayoutSupported();
}
return super.lazilyLoadDesktopProperty(name);
}
@Override
public final void setDynamicLayout(final boolean dynamic) {
dynamicLayoutSetting = dynamic;
}
@Override
protected final boolean isDynamicLayoutSet() {
return dynamicLayoutSetting;
}
@Override
public final boolean isDynamicLayoutActive() {
// "Live resizing" is active by default and user's data is ignored.
return isDynamicLayoutSupported();
}
/**
* Returns true if dynamic layout of Containers on resize is supported by
* the underlying operating system and/or window manager.
*/
protected final boolean isDynamicLayoutSupported() {
// "Live resizing" is supported by default.
return true;
}
}