< prev index next >
src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m
Print this page
@@ -212,11 +212,11 @@
if (IS(styleBits, TEXTURED)) type |= NSTexturedBackgroundWindowMask;
if (IS(styleBits, UNIFIED)) type |= NSUnifiedTitleAndToolbarWindowMask;
if (IS(styleBits, UTILITY)) type |= NSUtilityWindowMask;
if (IS(styleBits, HUD)) type |= NSHUDWindowMask;
- if (IS(styleBits, SHEET)) type |= NSDocModalWindowMask;
+ if (IS(styleBits, SHEET)) type |= NSWindowStyleMaskDocModalWindow;
if (IS(styleBits, NONACTIVATING)) type |= NSNonactivatingPanelMask;
return type;
}
@@ -271,11 +271,16 @@
frameRect:(NSRect)rect
contentView:(NSView *)view
{
AWT_ASSERT_APPKIT_THREAD;
- NSUInteger styleMask = [AWTWindow styleMaskForStyleBits:bits];
+ NSUInteger newBits = bits;
+ if (IS(bits, SHEET) && owner == nil) {
+ newBits = bits & ~NSWindowStyleMaskDocModalWindow;
+ }
+ NSUInteger styleMask = [AWTWindow styleMaskForStyleBits:newBits];
+
NSRect contentRect = rect; //[NSWindow contentRectForFrameRect:rect styleMask:styleMask];
if (contentRect.size.width <= 0.0) {
contentRect.size.width = 1.0;
}
if (contentRect.size.height <= 0.0) {
@@ -287,11 +292,12 @@
if (self == nil) return nil; // no hope
if (IS(bits, UTILITY) ||
IS(bits, NONACTIVATING) ||
IS(bits, HUD) ||
- IS(bits, HIDES_ON_DEACTIVATE))
+ IS(bits, HIDES_ON_DEACTIVATE) ||
+ IS(bits, SHEET))
{
self.nsWindow = [[AWTWindow_Panel alloc] initWithDelegate:self
frameRect:contentRect
styleMask:styleMask
contentView:view];
@@ -317,10 +323,14 @@
if (IS(self.styleBits, IS_POPUP)) {
[self.nsWindow setCollectionBehavior:(1 << 8) /*NSWindowCollectionBehaviorFullScreenAuxiliary*/];
}
+ if (IS(bits, SHEET) && owner != nil) {
+ [self.nsWindow setStyleMask: NSWindowStyleMaskDocModalWindow];
+ }
+
return self;
}
+ (BOOL) isAWTWindow:(NSWindow *)window {
return [window isKindOfClass: [AWTWindow_Panel class]] || [window isKindOfClass: [AWTWindow_Normal class]];
< prev index next >