7193214: Consider simplifying CPlatformWindow.setResizable()
Reviewed-by: anthony, denis
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Wed Nov 21 15:50:34 2012 +0400
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Wed Nov 21 15:54:41 2012 +0400
@@ -257,7 +257,7 @@
validateSurface();
}
- protected int getInitialStyleBits() {
+ private int getInitialStyleBits() {
// defaults style bits
int styleBits = DECORATED | HAS_SHADOW | CLOSEABLE | MINIMIZABLE | ZOOMABLE | RESIZABLE;
@@ -284,7 +284,6 @@
final boolean resizable = isFrame ? ((Frame)target).isResizable() : (isDialog ? ((Dialog)target).isResizable() : false);
styleBits = SET(styleBits, RESIZABLE, resizable);
if (!resizable) {
- styleBits = SET(styleBits, RESIZABLE, false);
styleBits = SET(styleBits, ZOOMABLE, false);
}
}
@@ -379,7 +378,7 @@
}
// this is the counter-point to -[CWindow _nativeSetStyleBit:]
- protected void setStyleBits(final int mask, final boolean value) {
+ private void setStyleBits(final int mask, final boolean value) {
nativeSetNSWindowStyleBits(getNSWindowPtr(), mask, value ? mask : 0);
}
@@ -656,15 +655,8 @@
}
@Override
- public void setResizable(boolean resizable) {
+ public void setResizable(final boolean resizable) {
setStyleBits(RESIZABLE, resizable);
-
- // Re-apply the size constraints and the size to ensure the space
- // occupied by the grow box is counted properly
- peer.updateMinimumSize();
-
- Rectangle bounds = peer.getBounds();
- setBounds(bounds.x, bounds.y, bounds.width, bounds.height);
}
@Override
--- a/jdk/src/macosx/native/sun/awt/AWTWindow.m Wed Nov 21 15:50:34 2012 +0400
+++ b/jdk/src/macosx/native/sun/awt/AWTWindow.m Wed Nov 21 15:54:41 2012 +0400
@@ -160,6 +160,10 @@
BOOL resizable = IS(bits, RESIZABLE);
[self updateMinMaxSize:resizable];
[self.nsWindow setShowsResizeIndicator:resizable];
+ // Zoom button should be disabled, if the window is not resizable,
+ // otherwise button should be restored to initial state.
+ BOOL zoom = resizable && IS(bits, ZOOMABLE);
+ [[self.nsWindow standardWindowButton:NSWindowZoomButton] setEnabled:zoom];
}
if (IS(mask, HAS_SHADOW)) {
@@ -784,7 +788,7 @@
// calls methods on NSWindow to change other properties, based on the mask
if (mask & MASK(_METHOD_PROP_BITMASK)) {
- [window setPropertiesForStyleBits:bits mask:mask];
+ [window setPropertiesForStyleBits:newBits mask:mask];
}
window.styleBits = newBits;