System information
Non-packaged Carbon applications can now provide Services. (r. 2761555).
Back to top
Text Handling
One of the portions of AppKit dealing with text.
Support for bi-directional layout added to support those languages that require it (Arabic and Hebrew). (r.
2822201).
Implementation of NSRightTabStopType, NSCenterTabStopType, and NSDecimalTabStopType have been provided for
the declarations of these routines in AppKit/NSParagraphStyle.h. (r. 2116892).
A problem where NSAttributedString's -size method would fail to take into account the height of fonts occurring
later in the string has been corrected. (r. 2824091).
Fixed a bug where NSString sizeWithAttributes could return imprecise values when used with
NSCenterTextAlignment. (r. 2727150).
Cocoa text now uses the same line layout engine used by ATSUI, leading to greater consistency between Cocoa and
Carbon, as well as support for complex writing systems. (r. 2570275).
Back to top
Threading Support (AppKit)
Threading support in AppKit.
NSWindows can now be created in threads other than the main thread. (r. 2887016).
Back to top
User Interface Elements
AppKit provides a rich selection of controls and user interface elements, and the classes used to control them.
NSTextViews that can't import graphics are now able to export them (for copy/paste, etc.), i.e. if they contain
attachments added programmatically. (r. 2979744).
NSProgressIndicator's -sizeToFit method now respects the NSControlSize setting for the control. (r. 2963039).
setImage: is now declared in NSBrowserCell.h. (r. 2918420).
NSTableView's -setIndicatorImage: now retains the image passed to it, so that if it's given an autoreleased image
(with a retain count of 1), a crash won't occur. (r. 2891170).
In some situations, NSTableView's -selectedRow method used to return 0 instead of -1 when there were no rows in
the table. This has been fixed. (r. 2889283).
Cocoa-Java's NSTableView class now has methods for setting and getting the indicator image for a table column, as
well as highlighting a given table column. (r. 2885558).
Drawing problems associated with drawers and deferred windows have been corrected. Drawers were not being
displayed as expected. The work around for this problem, that is no longer needed, was to tell the drawer to close
and open again after the deferred window is visible. (r. 2884722).
Users can now use cmd-shift-` to send keyboard focus to a drawer. Previously, it was only possible to do so by
clicking on a drawer. (r. 2872115).
Carbon windows (from Java or QuickTime) in a Cocoa app now get events properly. (r. 2865112).
NSDrawers now attach properly to NSWindows created from Carbon windows (via -initWithWindowRef:). (r.
2860068).
an empty NSTableView's -selectedRowEnumerator used to return an enumerator with 1 element. This has been
fixed. It now correctly returns an 'empty' enumerator object. (r. 2854415).
NSTextView's -selectionRangeForProposedRange:granularity: now returns the last word instead of raising an
exception when the granularity is NSSelectByWord and the range's location is equal to the length of the underlying
string and the length is 0 (i.e., an insertion point at the end). (r. 2845418).
A bug in Cocoa applications where the parent window did not always become key when its sheet was dismissed has