Skip to content

Commit 4241424

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 16e501f commit 4241424

7 files changed

Lines changed: 50 additions & 32 deletions

File tree

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
@@ -2539,6 +2539,15 @@
25392539
<enum name='NSWindowSharingNone' value='0'/>
25402540
<enum name='NSWindowSharingReadOnly' value='1'/>
25412541
<enum name='NSWindowSharingReadWrite' value='2'/>
2542+
<enum name='NSWindowStyleMaskBorderless' value='0'/>
2543+
<enum name='NSWindowStyleMaskClosable' value='2'/>
2544+
<enum name='NSWindowStyleMaskDocModalWindow' value='64'/>
2545+
<enum name='NSWindowStyleMaskFullScreen' value='16384'/>
2546+
<enum name='NSWindowStyleMaskMiniaturizable' value='4'/>
2547+
<enum name='NSWindowStyleMaskNonactivatingPanel' value='128'/>
2548+
<enum name='NSWindowStyleMaskResizable' value='8'/>
2549+
<enum name='NSWindowStyleMaskTitled' value='1'/>
2550+
<enum name='NSWindowStyleMaskUtilityWindow' value='16'/>
25422551
<enum name='NSWindowTitleHidden' value='1'/>
25432552
<enum name='NSWindowTitleVisible' value='0'/>
25442553
<enum name='NSWindowToolbarButton' value='3'/>

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4373,15 +4373,13 @@
43734373
<enum name="NSBevelLineJoinStyle" swt_gen="true"></enum>
43744374
<enum name="NSBezelBorder" swt_gen="true"></enum>
43754375
<enum name="NSBoldFontMask" swt_gen="true"></enum>
4376-
<enum name="NSBorderlessWindowMask" swt_gen="true"></enum>
43774376
<enum name="NSBottomTabsBezelBorder" swt_gen="true"></enum>
43784377
<enum name="NSBoxCustom" swt_gen="true"></enum>
43794378
<enum name="NSBoxSeparator" swt_gen="true"></enum>
43804379
<enum name="NSButtLineCapStyle" swt_gen="true"></enum>
43814380
<enum name="NSCancelButton" swt_gen="true"></enum>
43824381
<enum name="NSCarriageReturnCharacter" swt_gen="true"></enum>
43834382
<enum name="NSClockAndCalendarDatePickerStyle" swt_gen="true"></enum>
4384-
<enum name="NSClosableWindowMask" swt_gen="true"></enum>
43854383
<enum name="NSClosePathBezierPathElement" swt_gen="true"></enum>
43864384
<enum name="NSCommandKeyMask" swt_gen="true"></enum>
43874385
<enum name="NSCompositeClear" swt_gen="true"></enum>
@@ -4394,7 +4392,6 @@
43944392
<enum name="NSCurveToBezierPathElement" swt_gen="true"></enum>
43954393
<enum name="NSDeleteCharacter" swt_gen="true"></enum>
43964394
<enum name="NSDeviceIndependentModifierFlagsMask" swt_gen="true"></enum>
4397-
<enum name="NSDocModalWindowMask" swt_gen="true"></enum>
43984395
<enum name="NSDragOperationCopy" swt_gen="true"></enum>
43994396
<enum name="NSDragOperationDelete" swt_gen="true"></enum>
44004397
<enum name="NSDragOperationEvery" swt_gen="true"></enum>
@@ -4417,7 +4414,6 @@
44174414
<enum name="NSFocusRingTypeNone" swt_gen="true"></enum>
44184415
<enum name="NSFontPanelAllEffectsModeMask" swt_gen="true"></enum>
44194416
<enum name="NSFontPanelAllModesMask" swt_gen="true"></enum>
4420-
<enum name="NSFullScreenWindowMask" swt_gen="true"></enum>
44214417
<enum name="NSHelpFunctionKey" swt_gen="true"></enum>
44224418
<enum name="NSHelpKeyMask" swt_gen="true"></enum>
44234419
<enum name="NSHourMinuteDatePickerElementFlag" swt_gen="true"></enum>
@@ -4451,7 +4447,6 @@
44514447
<enum name="NSLineBreakByWordWrapping" swt_gen="true"></enum>
44524448
<enum name="NSLineToBezierPathElement" swt_gen="true"></enum>
44534449
<enum name="NSMiniControlSize" swt_gen="true"></enum>
4454-
<enum name="NSMiniaturizableWindowMask" swt_gen="true"></enum>
44554450
<enum name="NSMiterLineJoinStyle" swt_gen="true"></enum>
44564451
<enum name="NSMixedState" swt_gen="true"></enum>
44574452
<enum name="NSMomentaryLightButton" swt_gen="true"></enum>
@@ -4464,7 +4459,6 @@
44644459
<enum name="NSNoImage" swt_gen="true"></enum>
44654460
<enum name="NSNoTitle" swt_gen="true"></enum>
44664461
<enum name="NSNonZeroWindingRule" swt_gen="true"></enum>
4467-
<enum name="NSNonactivatingPanelMask" swt_gen="true"></enum>
44684462
<enum name="NSOffState" swt_gen="true"></enum>
44694463
<enum name="NSOnState" swt_gen="true"></enum>
44704464
<enum name="NSOpenGLCPSurfaceOrder" swt_gen="true"></enum>
@@ -4491,7 +4485,6 @@
44914485
<enum name="NSRadioButton" swt_gen="true"></enum>
44924486
<enum name="NSRegularControlSize" swt_gen="true"></enum>
44934487
<enum name="NSRegularSquareBezelStyle" swt_gen="true"></enum>
4494-
<enum name="NSResizableWindowMask" swt_gen="true"></enum>
44954488
<enum name="NSRightMouseDown" swt_gen="true"></enum>
44964489
<enum name="NSRightMouseDragged" swt_gen="true"></enum>
44974490
<enum name="NSRightMouseUp" swt_gen="true"></enum>
@@ -4535,7 +4528,6 @@
45354528
<enum name="NSTextAlignmentRight" swt_gen="true"></enum>
45364529
<enum name="NSTextFieldAndStepperDatePickerStyle" swt_gen="true"></enum>
45374530
<enum name="NSTextFieldDatePickerStyle" swt_gen="true"></enum>
4538-
<enum name="NSTitledWindowMask" swt_gen="true"></enum>
45394531
<enum name="NSToolbarDisplayModeIconOnly" swt_gen="true"></enum>
45404532
<enum name="NSTouchPhaseAny" swt_gen="true"></enum>
45414533
<enum name="NSTouchPhaseBegan" swt_gen="true"></enum>
@@ -4547,7 +4539,6 @@
45474539
<enum name="NSUnderlineStyleNone" swt_gen="true"></enum>
45484540
<enum name="NSUnderlineStyleSingle" swt_gen="true"></enum>
45494541
<enum name="NSUnderlineStyleThick" swt_gen="true"></enum>
4550-
<enum name="NSUtilityWindowMask" swt_gen="true"></enum>
45514542
<enum name="NSViewHeightSizable" swt_gen="true"></enum>
45524543
<enum name="NSViewMaxXMargin" swt_gen="true"></enum>
45534544
<enum name="NSViewMaxYMargin" swt_gen="true"></enum>
@@ -4560,6 +4551,15 @@
45604551
<enum name="NSWindowCollectionBehaviorFullScreenAuxiliary" swt_gen="true"></enum>
45614552
<enum name="NSWindowCollectionBehaviorFullScreenPrimary" swt_gen="true"></enum>
45624553
<enum name="NSWindowCollectionBehaviorMoveToActiveSpace" swt_gen="true"></enum>
4554+
<enum name="NSWindowStyleMaskBorderless" swt_gen="true"></enum>
4555+
<enum name="NSWindowStyleMaskClosable" swt_gen="true"></enum>
4556+
<enum name="NSWindowStyleMaskDocModalWindow" swt_gen="true"></enum>
4557+
<enum name="NSWindowStyleMaskFullScreen" swt_gen="true"></enum>
4558+
<enum name="NSWindowStyleMaskMiniaturizable" swt_gen="true"></enum>
4559+
<enum name="NSWindowStyleMaskNonactivatingPanel" swt_gen="true"></enum>
4560+
<enum name="NSWindowStyleMaskResizable" swt_gen="true"></enum>
4561+
<enum name="NSWindowStyleMaskTitled" swt_gen="true"></enum>
4562+
<enum name="NSWindowStyleMaskUtilityWindow" swt_gen="true"></enum>
45634563
<enum name="NSWritingDirectionLeftToRight" swt_gen="true"></enum>
45644564
<enum name="NSWritingDirectionRightToLeft" swt_gen="true"></enum>
45654565
<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 & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2165,15 +2165,15 @@ public static Selector getSelector (long value) {
21652165
public static final int NSBevelLineJoinStyle = 2;
21662166
public static final int NSBezelBorder = 2;
21672167
public static final int NSBoldFontMask = 2;
2168-
public static final int NSBorderlessWindowMask = 0;
2168+
21692169
public static final int NSBottomTabsBezelBorder = 2;
21702170
public static final int NSBoxCustom = 4;
21712171
public static final int NSBoxSeparator = 2;
21722172
public static final int NSButtLineCapStyle = 0;
21732173
public static final int NSCancelButton = 0;
21742174
public static final int NSCarriageReturnCharacter = 13;
21752175
public static final int NSClockAndCalendarDatePickerStyle = 1;
2176-
public static final int NSClosableWindowMask = 2;
2176+
21772177
public static final int NSClosePathBezierPathElement = 3;
21782178
public static final int NSCommandKeyMask = 1048576;
21792179
public static final int NSCompositeClear = 0;
@@ -2186,7 +2186,7 @@ public static Selector getSelector (long value) {
21862186
public static final int NSCurveToBezierPathElement = 2;
21872187
public static final int NSDeleteCharacter = 127;
21882188
public static final long NSDeviceIndependentModifierFlagsMask = 4294901760L;
2189-
public static final int NSDocModalWindowMask = 64;
2189+
21902190
public static final int NSDragOperationCopy = 1;
21912191
public static final int NSDragOperationDelete = 32;
21922192
public static final long NSDragOperationEvery = -1L;
@@ -2210,7 +2210,7 @@ public static Selector getSelector (long value) {
22102210
public static final int NSFocusRingTypeNone = 1;
22112211
public static final int NSFontPanelAllEffectsModeMask = 1048320;
22122212
public static final int NSFontPanelAllModesMask = -1;
2213-
public static final int NSFullScreenWindowMask = 16384;
2213+
22142214
public static final int NSHelpFunctionKey = 63302;
22152215
public static final int NSHelpKeyMask = 4194304;
22162216
public static final int NSHourMinuteDatePickerElementFlag = 12;
@@ -2244,7 +2244,7 @@ public static Selector getSelector (long value) {
22442244
public static final int NSLineBreakByWordWrapping = 0;
22452245
public static final int NSLineToBezierPathElement = 1;
22462246
public static final int NSMiniControlSize = 2;
2247-
public static final int NSMiniaturizableWindowMask = 4;
2247+
22482248
public static final int NSMiterLineJoinStyle = 0;
22492249
public static final int NSMixedState = -1;
22502250
public static final int NSMomentaryLightButton = 0;
@@ -2257,7 +2257,7 @@ public static Selector getSelector (long value) {
22572257
public static final int NSNoImage = 0;
22582258
public static final int NSNoTitle = 0;
22592259
public static final int NSNonZeroWindingRule = 0;
2260-
public static final int NSNonactivatingPanelMask = 128;
2260+
22612261
public static final int NSOffState = 0;
22622262
public static final int NSOnState = 1;
22632263
public static final int NSOpenGLCPSurfaceOrder = 235;
@@ -2284,7 +2284,7 @@ public static Selector getSelector (long value) {
22842284
public static final int NSRadioButton = 4;
22852285
public static final int NSRegularControlSize = 0;
22862286
public static final int NSRegularSquareBezelStyle = 2;
2287-
public static final int NSResizableWindowMask = 8;
2287+
22882288
public static final int NSRightMouseDown = 3;
22892289
public static final int NSRightMouseDragged = 7;
22902290
public static final int NSRightMouseUp = 4;
@@ -2328,7 +2328,7 @@ public static Selector getSelector (long value) {
23282328
public static final int NSTextAlignmentRight = IS_X86_64 ? 1 : 2;
23292329
public static final int NSTextFieldAndStepperDatePickerStyle = 0;
23302330
public static final int NSTextFieldDatePickerStyle = 2;
2331-
public static final int NSTitledWindowMask = 1;
2331+
23322332
public static final int NSToolbarDisplayModeIconOnly = 2;
23332333
public static final long NSTouchPhaseAny = -1L;
23342334
public static final int NSTouchPhaseBegan = 1;
@@ -2340,7 +2340,7 @@ public static Selector getSelector (long value) {
23402340
public static final int NSUnderlineStyleNone = 0;
23412341
public static final int NSUnderlineStyleSingle = 1;
23422342
public static final int NSUnderlineStyleThick = 2;
2343-
public static final int NSUtilityWindowMask = 16;
2343+
23442344
public static final int NSViewHeightSizable = 16;
23452345
public static final int NSViewMaxXMargin = 4;
23462346
public static final int NSViewMaxYMargin = 32;
@@ -2353,6 +2353,15 @@ public static Selector getSelector (long value) {
23532353
public static final int NSWindowCollectionBehaviorFullScreenAuxiliary = 256;
23542354
public static final int NSWindowCollectionBehaviorFullScreenPrimary = 128;
23552355
public static final int NSWindowCollectionBehaviorMoveToActiveSpace = 2;
2356+
public static final int NSWindowStyleMaskBorderless = 0;
2357+
public static final int NSWindowStyleMaskClosable = 2;
2358+
public static final int NSWindowStyleMaskDocModalWindow = 64;
2359+
public static final int NSWindowStyleMaskFullScreen = 16384;
2360+
public static final int NSWindowStyleMaskMiniaturizable = 4;
2361+
public static final int NSWindowStyleMaskNonactivatingPanel = 128;
2362+
public static final int NSWindowStyleMaskResizable = 8;
2363+
public static final int NSWindowStyleMaskTitled = 1;
2364+
public static final int NSWindowStyleMaskUtilityWindow = 16;
23562365
public static final int NSWritingDirectionLeftToRight = 0;
23572366
public static final int NSWritingDirectionRightToLeft = 1;
23582367
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)