Skip to content

Commit d3dd5f2

Browse files
committed
Replace deprecated macOS Window Style Mask constants
The macOS AppKit framework deprecated the old-style window style mask constants in macOS 10.12 (Sierra) in favour of a new NSWindowStyleMask option set type. This change replaces all nine deprecated constants throughout the SWT macOS/Cocoa implementation with their modern equivalents, eliminating compiler deprecation warnings and improving forward compatibility with future macOS SDK versions. Replaced constants (values are unchanged): NSBorderlessWindowMask -> NSWindowStyleMaskBorderless (0) NSClosableWindowMask -> NSWindowStyleMaskClosable (2) NSDocModalWindowMask -> NSWindowStyleMaskDocModalWindow (64) NSFullScreenWindowMask -> NSWindowStyleMaskFullScreen (16384) NSMiniaturizableWindowMask -> NSWindowStyleMaskMiniaturizable (4) NSNonactivatingPanelMask -> NSWindowStyleMaskNonactivatingPanel(128) NSResizableWindowMask -> NSWindowStyleMaskResizable (8) NSTitledWindowMask -> NSWindowStyleMaskTitled (1) NSUtilityWindowMask -> NSWindowStyleMaskUtilityWindow (16) Contributes to #3214
1 parent 57fe5a5 commit d3dd5f2

File tree

7 files changed

+51
-30
lines changed

7 files changed

+51
-30
lines changed

bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2547,6 +2547,15 @@
25472547
<enum name='NSWindowSharingNone' value='0'/>
25482548
<enum name='NSWindowSharingReadOnly' value='1'/>
25492549
<enum name='NSWindowSharingReadWrite' value='2'/>
2550+
<enum name='NSWindowStyleMaskBorderless' value='0'/>
2551+
<enum name='NSWindowStyleMaskClosable' value='2'/>
2552+
<enum name='NSWindowStyleMaskDocModalWindow' value='64'/>
2553+
<enum name='NSWindowStyleMaskFullScreen' value='16384'/>
2554+
<enum name='NSWindowStyleMaskMiniaturizable' value='4'/>
2555+
<enum name='NSWindowStyleMaskNonactivatingPanel' value='128'/>
2556+
<enum name='NSWindowStyleMaskResizable' value='8'/>
2557+
<enum name='NSWindowStyleMaskTitled' value='1'/>
2558+
<enum name='NSWindowStyleMaskUtilityWindow' value='16'/>
25502559
<enum name='NSWindowTitleHidden' value='1'/>
25512560
<enum name='NSWindowTitleVisible' value='0'/>
25522561
<enum name='NSWindowToolbarButton' value='3'/>

bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4377,7 +4377,6 @@
43774377
<enum name="NSBezelStylePushDisclosure" swt_gen="true"></enum>
43784378
<enum name="NSBezelStyleSmallSquare" swt_gen="true"></enum>
43794379
<enum name="NSBoldFontMask" swt_gen="true"></enum>
4380-
<enum name="NSBorderlessWindowMask" swt_gen="true"></enum>
43814380
<enum name="NSBottomTabsBezelBorder" swt_gen="true"></enum>
43824381
<enum name="NSBoxCustom" swt_gen="true"></enum>
43834382
<enum name="NSBoxSeparator" swt_gen="true"></enum>
@@ -4389,7 +4388,6 @@
43894388
<enum name="NSCancelButton" swt_gen="true"></enum>
43904389
<enum name="NSCarriageReturnCharacter" swt_gen="true"></enum>
43914390
<enum name="NSClockAndCalendarDatePickerStyle" swt_gen="true"></enum>
4392-
<enum name="NSClosableWindowMask" swt_gen="true"></enum>
43934391
<enum name="NSClosePathBezierPathElement" swt_gen="true"></enum>
43944392
<enum name="NSCommandKeyMask" swt_gen="true"></enum>
43954393
<enum name="NSCompositeClear" swt_gen="true"></enum>
@@ -4402,7 +4400,6 @@
44024400
<enum name="NSCurveToBezierPathElement" swt_gen="true"></enum>
44034401
<enum name="NSDeleteCharacter" swt_gen="true"></enum>
44044402
<enum name="NSDeviceIndependentModifierFlagsMask" swt_gen="true"></enum>
4405-
<enum name="NSDocModalWindowMask" swt_gen="true"></enum>
44064403
<enum name="NSDragOperationCopy" swt_gen="true"></enum>
44074404
<enum name="NSDragOperationDelete" swt_gen="true"></enum>
44084405
<enum name="NSDragOperationEvery" swt_gen="true"></enum>
@@ -4425,7 +4422,6 @@
44254422
<enum name="NSFocusRingTypeNone" swt_gen="true"></enum>
44264423
<enum name="NSFontPanelAllEffectsModeMask" swt_gen="true"></enum>
44274424
<enum name="NSFontPanelAllModesMask" swt_gen="true"></enum>
4428-
<enum name="NSFullScreenWindowMask" swt_gen="true"></enum>
44294425
<enum name="NSHelpFunctionKey" swt_gen="true"></enum>
44304426
<enum name="NSHelpKeyMask" swt_gen="true"></enum>
44314427
<enum name="NSHourMinuteDatePickerElementFlag" swt_gen="true"></enum>
@@ -4459,7 +4455,6 @@
44594455
<enum name="NSLineBreakByWordWrapping" swt_gen="true"></enum>
44604456
<enum name="NSLineToBezierPathElement" swt_gen="true"></enum>
44614457
<enum name="NSMiniControlSize" swt_gen="true"></enum>
4462-
<enum name="NSMiniaturizableWindowMask" swt_gen="true"></enum>
44634458
<enum name="NSMiterLineJoinStyle" swt_gen="true"></enum>
44644459
<enum name="NSMixedState" swt_gen="true"></enum>
44654460
<enum name="NSMouseEntered" swt_gen="true"></enum>
@@ -4471,7 +4466,6 @@
44714466
<enum name="NSNoImage" swt_gen="true"></enum>
44724467
<enum name="NSNoTitle" swt_gen="true"></enum>
44734468
<enum name="NSNonZeroWindingRule" swt_gen="true"></enum>
4474-
<enum name="NSNonactivatingPanelMask" swt_gen="true"></enum>
44754469
<enum name="NSOffState" swt_gen="true"></enum>
44764470
<enum name="NSOnState" swt_gen="true"></enum>
44774471
<enum name="NSOpenGLCPSurfaceOrder" swt_gen="true"></enum>
@@ -4495,6 +4489,7 @@
44954489
<enum name="NSProgressIndicatorPreferredThickness" swt_gen="true"></enum>
44964490
<enum name="NSRGBColorSpaceModel" swt_gen="true"></enum>
44974491
<enum name="NSRegularControlSize" swt_gen="true"></enum>
4492+
<enum name="NSRegularSquareBezelStyle" swt_gen="true"></enum>
44984493
<enum name="NSResizableWindowMask" swt_gen="true"></enum>
44994494
<enum name="NSRightMouseDown" swt_gen="true"></enum>
45004495
<enum name="NSRightMouseDragged" swt_gen="true"></enum>
@@ -4535,7 +4530,6 @@
45354530
<enum name="NSTextAlignmentRight" swt_gen="true"></enum>
45364531
<enum name="NSTextFieldAndStepperDatePickerStyle" swt_gen="true"></enum>
45374532
<enum name="NSTextFieldDatePickerStyle" swt_gen="true"></enum>
4538-
<enum name="NSTitledWindowMask" swt_gen="true"></enum>
45394533
<enum name="NSToolbarDisplayModeIconOnly" swt_gen="true"></enum>
45404534
<enum name="NSTouchPhaseAny" swt_gen="true"></enum>
45414535
<enum name="NSTouchPhaseBegan" swt_gen="true"></enum>
@@ -4547,7 +4541,6 @@
45474541
<enum name="NSUnderlineStyleNone" swt_gen="true"></enum>
45484542
<enum name="NSUnderlineStyleSingle" swt_gen="true"></enum>
45494543
<enum name="NSUnderlineStyleThick" swt_gen="true"></enum>
4550-
<enum name="NSUtilityWindowMask" swt_gen="true"></enum>
45514544
<enum name="NSViewHeightSizable" swt_gen="true"></enum>
45524545
<enum name="NSViewMaxXMargin" swt_gen="true"></enum>
45534546
<enum name="NSViewMaxYMargin" swt_gen="true"></enum>
@@ -4560,6 +4553,15 @@
45604553
<enum name="NSWindowCollectionBehaviorFullScreenAuxiliary" swt_gen="true"></enum>
45614554
<enum name="NSWindowCollectionBehaviorFullScreenPrimary" swt_gen="true"></enum>
45624555
<enum name="NSWindowCollectionBehaviorMoveToActiveSpace" swt_gen="true"></enum>
4556+
<enum name="NSWindowStyleMaskBorderless" swt_gen="true"></enum>
4557+
<enum name="NSWindowStyleMaskClosable" swt_gen="true"></enum>
4558+
<enum name="NSWindowStyleMaskDocModalWindow" swt_gen="true"></enum>
4559+
<enum name="NSWindowStyleMaskFullScreen" swt_gen="true"></enum>
4560+
<enum name="NSWindowStyleMaskMiniaturizable" swt_gen="true"></enum>
4561+
<enum name="NSWindowStyleMaskNonactivatingPanel" swt_gen="true"></enum>
4562+
<enum name="NSWindowStyleMaskResizable" swt_gen="true"></enum>
4563+
<enum name="NSWindowStyleMaskTitled" swt_gen="true"></enum>
4564+
<enum name="NSWindowStyleMaskUtilityWindow" swt_gen="true"></enum>
45634565
<enum name="NSWritingDirectionLeftToRight" swt_gen="true"></enum>
45644566
<enum name="NSWritingDirectionRightToLeft" swt_gen="true"></enum>
45654567
<enum name="NSYearMonthDatePickerElementFlag" swt_gen="true"></enum>

bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2164,7 +2164,7 @@ public static Selector getSelector (long value) {
21642164
public static final int NSBezelStylePushDisclosure = 14;
21652165
public static final int NSBezelStyleSmallSquare = 6;
21662166
public static final int NSBoldFontMask = 2;
2167-
public static final int NSBorderlessWindowMask = 0;
2167+
21682168
public static final int NSBottomTabsBezelBorder = 2;
21692169
public static final int NSBoxCustom = 4;
21702170
public static final int NSBoxSeparator = 2;
@@ -2176,7 +2176,7 @@ public static Selector getSelector (long value) {
21762176
public static final int NSCancelButton = 0;
21772177
public static final int NSCarriageReturnCharacter = 13;
21782178
public static final int NSClockAndCalendarDatePickerStyle = 1;
2179-
public static final int NSClosableWindowMask = 2;
2179+
21802180
public static final int NSClosePathBezierPathElement = 3;
21812181
public static final int NSCommandKeyMask = 1048576;
21822182
public static final int NSCompositeClear = 0;
@@ -2189,7 +2189,7 @@ public static Selector getSelector (long value) {
21892189
public static final int NSCurveToBezierPathElement = 2;
21902190
public static final int NSDeleteCharacter = 127;
21912191
public static final long NSDeviceIndependentModifierFlagsMask = 4294901760L;
2192-
public static final int NSDocModalWindowMask = 64;
2192+
21932193
public static final int NSDragOperationCopy = 1;
21942194
public static final int NSDragOperationDelete = 32;
21952195
public static final long NSDragOperationEvery = -1L;
@@ -2213,7 +2213,7 @@ public static Selector getSelector (long value) {
22132213
public static final int NSFocusRingTypeNone = 1;
22142214
public static final int NSFontPanelAllEffectsModeMask = 1048320;
22152215
public static final int NSFontPanelAllModesMask = -1;
2216-
public static final int NSFullScreenWindowMask = 16384;
2216+
22172217
public static final int NSHelpFunctionKey = 63302;
22182218
public static final int NSHelpKeyMask = 4194304;
22192219
public static final int NSHourMinuteDatePickerElementFlag = 12;
@@ -2247,7 +2247,7 @@ public static Selector getSelector (long value) {
22472247
public static final int NSLineBreakByWordWrapping = 0;
22482248
public static final int NSLineToBezierPathElement = 1;
22492249
public static final int NSMiniControlSize = 2;
2250-
public static final int NSMiniaturizableWindowMask = 4;
2250+
22512251
public static final int NSMiterLineJoinStyle = 0;
22522252
public static final int NSMixedState = -1;
22532253
public static final int NSMouseEntered = 8;
@@ -2259,7 +2259,7 @@ public static Selector getSelector (long value) {
22592259
public static final int NSNoImage = 0;
22602260
public static final int NSNoTitle = 0;
22612261
public static final int NSNonZeroWindingRule = 0;
2262-
public static final int NSNonactivatingPanelMask = 128;
2262+
22632263
public static final int NSOffState = 0;
22642264
public static final int NSOnState = 1;
22652265
public static final int NSOpenGLCPSurfaceOrder = 235;
@@ -2283,6 +2283,7 @@ public static Selector getSelector (long value) {
22832283
public static final int NSProgressIndicatorPreferredThickness = 14;
22842284
public static final int NSRGBColorSpaceModel = 1;
22852285
public static final int NSRegularControlSize = 0;
2286+
public static final int NSRegularSquareBezelStyle = 2;
22862287
public static final int NSResizableWindowMask = 8;
22872288
public static final int NSRightMouseDown = 3;
22882289
public static final int NSRightMouseDragged = 7;
@@ -2323,7 +2324,7 @@ public static Selector getSelector (long value) {
23232324
public static final int NSTextAlignmentRight = IS_X86_64 ? 1 : 2;
23242325
public static final int NSTextFieldAndStepperDatePickerStyle = 0;
23252326
public static final int NSTextFieldDatePickerStyle = 2;
2326-
public static final int NSTitledWindowMask = 1;
2327+
23272328
public static final int NSToolbarDisplayModeIconOnly = 2;
23282329
public static final long NSTouchPhaseAny = -1L;
23292330
public static final int NSTouchPhaseBegan = 1;
@@ -2335,7 +2336,7 @@ public static Selector getSelector (long value) {
23352336
public static final int NSUnderlineStyleNone = 0;
23362337
public static final int NSUnderlineStyleSingle = 1;
23372338
public static final int NSUnderlineStyleThick = 2;
2338-
public static final int NSUtilityWindowMask = 16;
2339+
23392340
public static final int NSViewHeightSizable = 16;
23402341
public static final int NSViewMaxXMargin = 4;
23412342
public static final int NSViewMaxYMargin = 32;
@@ -2348,6 +2349,15 @@ public static Selector getSelector (long value) {
23482349
public static final int NSWindowCollectionBehaviorFullScreenAuxiliary = 256;
23492350
public static final int NSWindowCollectionBehaviorFullScreenPrimary = 128;
23502351
public static final int NSWindowCollectionBehaviorMoveToActiveSpace = 2;
2352+
public static final int NSWindowStyleMaskBorderless = 0;
2353+
public static final int NSWindowStyleMaskClosable = 2;
2354+
public static final int NSWindowStyleMaskDocModalWindow = 64;
2355+
public static final int NSWindowStyleMaskFullScreen = 16384;
2356+
public static final int NSWindowStyleMaskMiniaturizable = 4;
2357+
public static final int NSWindowStyleMaskNonactivatingPanel = 128;
2358+
public static final int NSWindowStyleMaskResizable = 8;
2359+
public static final int NSWindowStyleMaskTitled = 1;
2360+
public static final int NSWindowStyleMaskUtilityWindow = 16;
23512361
public static final int NSWritingDirectionLeftToRight = 0;
23522362
public static final int NSWritingDirectionRightToLeft = 1;
23532363
public static final int NSYearMonthDatePickerElementFlag = 192;

bundles/org.eclipse.swt/Eclipse SWT Printing/cocoa/org/eclipse/swt/printing/Printer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ protected void create(DeviceData deviceData) {
242242
}
243243
NSRect rect = new NSRect();
244244
window = (NSWindow)new NSWindow().alloc();
245-
window.initWithContentRect(rect, OS.NSBorderlessWindowMask, OS.NSBackingStoreBuffered, false);
245+
window.initWithContentRect(rect, OS.NSWindowStyleMaskBorderless, OS.NSBackingStoreBuffered, false);
246246
String className = "SWTPrinterView"; //$NON-NLS-1$
247247
if (OS.objc_lookUpClass(className) == 0) {
248248
long cls = OS.objc_allocateClassPair(OS.class_NSView, className, 0);

bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3359,7 +3359,7 @@ public long internal_new_GC (GCData data) {
33593359
if (screenWindow == null) {
33603360
NSWindow window = (NSWindow) new NSWindow ().alloc ();
33613361
NSRect rect = new NSRect();
3362-
window = window.initWithContentRect(rect, OS.NSBorderlessWindowMask, OS.NSBackingStoreBuffered, false);
3362+
window = window.initWithContentRect(rect, OS.NSWindowStyleMaskBorderless, OS.NSBackingStoreBuffered, false);
33633363
window.setReleasedWhenClosed(false);
33643364
screenWindow = window;
33653365
}

bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ boolean canBecomeKeyWindow (long id, long sel) {
554554
}
555555
}
556556
long styleMask = window.styleMask();
557-
if (styleMask == OS.NSBorderlessWindowMask || (styleMask & (OS.NSNonactivatingPanelMask | OS.NSDocModalWindowMask | OS.NSResizableWindowMask)) != 0) return true;
557+
if (styleMask == OS.NSWindowStyleMaskBorderless || (styleMask & (OS.NSWindowStyleMaskNonactivatingPanel | OS.NSWindowStyleMaskDocModalWindow | OS.NSWindowStyleMaskResizable)) != 0) return true;
558558
}
559559
return super.canBecomeKeyWindow (id, sel);
560560
}
@@ -653,23 +653,23 @@ public Rectangle computeTrim (int x, int y, int width, int height) {
653653
void createHandle () {
654654
state |= HIDDEN;
655655
if (window == null && view == null) {
656-
int styleMask = OS.NSBorderlessWindowMask;
656+
int styleMask = OS.NSWindowStyleMaskBorderless;
657657
if ((style & (SWT.TOOL | SWT.SHEET)) != 0) {
658658
window = (NSWindow) new SWTPanel().alloc();
659659
if ((style & SWT.SHEET) != 0) {
660-
styleMask |= OS.NSDocModalWindowMask;
660+
styleMask |= OS.NSWindowStyleMaskDocModalWindow;
661661
} else {
662-
styleMask |= OS.NSUtilityWindowMask | OS.NSNonactivatingPanelMask;
662+
styleMask |= OS.NSWindowStyleMaskUtilityWindow | OS.NSWindowStyleMaskNonactivatingPanel;
663663
}
664664
} else {
665665
window = (NSWindow) new SWTWindow().alloc ();
666666
}
667667
if ((style & SWT.NO_TRIM) == 0) {
668-
if ((style & SWT.TITLE) != 0) styleMask |= OS.NSTitledWindowMask;
669-
if ((style & SWT.CLOSE) != 0) styleMask |= OS.NSClosableWindowMask;
670-
if ((style & SWT.MIN) != 0) styleMask |= OS.NSMiniaturizableWindowMask;
671-
if ((style & SWT.MAX) != 0) styleMask |= OS.NSResizableWindowMask;
672-
if ((style & SWT.RESIZE) != 0) styleMask |= OS.NSResizableWindowMask;
668+
if ((style & SWT.TITLE) != 0) styleMask |= OS.NSWindowStyleMaskTitled;
669+
if ((style & SWT.CLOSE) != 0) styleMask |= OS.NSWindowStyleMaskClosable;
670+
if ((style & SWT.MIN) != 0) styleMask |= OS.NSWindowStyleMaskMiniaturizable;
671+
if ((style & SWT.MAX) != 0) styleMask |= OS.NSWindowStyleMaskResizable;
672+
if ((style & SWT.RESIZE) != 0) styleMask |= OS.NSWindowStyleMaskResizable;
673673
}
674674
NSScreen screen = null;
675675
NSScreen primaryScreen = new NSScreen(NSScreen.screens().objectAtIndex(0));
@@ -683,7 +683,7 @@ void createHandle () {
683683
window.setMovable(false);
684684
}
685685
if ((style & SWT.TOOL) != 0) {
686-
// Feature in Cocoa: NSPanels that use NSUtilityWindowMask are always promoted to the floating window layer.
686+
// Feature in Cocoa: NSPanels that use NSWindowStyleMaskUtilityWindow are always promoted to the floating window layer.
687687
// Fix is to call setFloatingPanel:NO, which turns off this behavior.
688688
((NSPanel)window).setFloatingPanel(false);
689689
// By default, panels hide on deactivation.
@@ -987,7 +987,7 @@ public boolean getFullScreen () {
987987

988988
boolean _getFullScreen () {
989989
if ((window.collectionBehavior() & OS.NSWindowCollectionBehaviorFullScreenPrimary) != 0) {
990-
return (window.styleMask() & OS.NSFullScreenWindowMask) != 0 ? true : false;
990+
return (window.styleMask() & OS.NSWindowStyleMaskFullScreen) != 0 ? true : false;
991991
}
992992
return fullScreen;
993993
}

bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,7 @@ public boolean open () {
765765
NSScreen screen = new NSScreen(screens.objectAtIndex(i));
766766
NSRect frame = screen.frame();
767767
NSWindow window = (NSWindow)new NSWindow().alloc();
768-
window = window.initWithContentRect(frame, OS.NSBorderlessWindowMask, OS.NSBackingStoreBuffered, false);
768+
window = window.initWithContentRect(frame, OS.NSWindowStyleMaskBorderless, OS.NSBackingStoreBuffered, false);
769769
window.setOpaque(false);
770770
window.setLevel(OS.NSStatusWindowLevel);
771771
window.setContentView(null);

0 commit comments

Comments
 (0)