API Notes: AppKit framework

The full API is described in Apple’s documentation, both the C and Objective-C APIs are available (but see the API Notes below).

These bindings are accessed through the AppKit package (that is, import AppKit).

API Notes

API Extensions

See API Description for PyObjCTools.AppCategories for same extensions for the APIs from the AppKit framework.

NSBezierPath

  • -drawPackedGlyphs:atPoint: and -appendBezierPathWithPackedGlyphs:

    These methods are barely supported…

NSColorSpace

  • -initWithColorSyncProfile: and colorSyncProfile

    These methods are not supported.

NSEvent

  • -initWithEventRef: and -eventRef

    These methods are not supported

NSGradient

  • -initWithColorsAndLocations:

    This method is not supported, use -initWithColors:atLocations:colorSpace: instead.

NSDrawBitmap

This function is deprecated and is not supported by PyObjC. Use an NSBitmapImageRep instead.

NSImage

  • initWithIconRef:

    This method is not yet supported.

NSMovie

NOTE: This class is deprecated by Apple, use QTMovie instead.

  • -QTMovie, -initWithMovie:

    These methods are not supported.

NSMovieView

  • -movieController

    This method is not supported.

NSPrintInfo

  • -PMPrintSession, -PMPageFormat, -PMPrintSettings

    These methods are not supported.

NSQuickDrawView

  • -qdPort

    This method is not supported.

NSGlyphInfoAtIndex

This function is not supported.

NSTypesetterGlyphInfo

This structure is not supported, and therefore the method -baseOfTypesetterGlyphInfo and -typesetterLaidOneGlyph of NSSimpleHorizontalTypesetter are not supported as well.

NSWindow

Methods -initWithWindowRef: and -windowRef are not supported.

NSInputStream

  • getBuffer:length:

    This method is not supported

NSBitmapImageRep

  • -initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:

    This method is not yet supported. Support for this method requires a manual wrapper, which has not been written yet.

NSDictionaryOfVariableBindings

This is a helper macro that cannot be implemented with the same interface in Python.

Instead of:

NSDictionaryOfVariableBindings(button1, button2, nil)

use:

{ "button1": button1, "button2": button2 }

or:

AppKit.NSDictionaryOfVariableBindings("button1", "button2")

The first alternative is preferable because it is cleaner Python code, and the implementation of NSDictionaryOfVariableBindings has to use an unstable API of CPython.

IBInspectable and IB_DESIGNABLE

These definitions are not supported.