- merge CoreFoundation/project.pbxproj from mercury branch
- NSCachedImageRep drawInRect: fix
- NSThread fixes for performing selectors across threads
- NSCLog functions for internal logging, switch use of OBJCLog to NSCLog
- Protocol fixes
- mutex locking in objc_class.m
- mutex locking on the NSZombieObject table
- faster binary property list reader, use of CFUID
- use of CFUID in NSKeyedUnarchiver
- removed more svn:mergeinfo
- new experimental AppKit-MacOS-i386 target which sits on Apple's Foundation, ApplicationServices (not operational). Header&api usage fixes to clean this up.
- Redid NSBezierPath so it doesn't rely on private Cocotron CoreGraphics API.
- Change the NSRaise macros/functions to be inline so AppKit can just include it instead of depending on them in Foundation since they aren't present in OSX.
- split NSRaiseException() into it's own Foundation private header and removed use from AppKit.
- changed use of NSRangeEntries so AppKit can embed it on MacOS
- switched NSOutlineView use of NSInt*CallBacks to NSInteger*CallBacks
- added CGPDFContext and CGDataConsumer
- Removed NSMethodSignature cache, not thread safe.
- Removed NSIndexPath cache, not thread safe.
- Moved NSPropertyListReader_vintage class caching into instance.
- Removed caching of page size in NSPageSize() for linux/solaris/darwin.
- objc cache entry initialization tweaks
- removed unused _selectorCount
- Moved NSBundle static _sharedLookInDirectoriesArray to per-instance
- Moved NSProcessInfo static _counter and _counterLock to per instance
- Uncommented NSClassDescription use of @synchronized as the compiler can handle it now.
- Remove _fontHolder from NSInterfacePartAttributedString
- declared some variables with static scope as static
NSPopUpButton lastItem
lots of bindings fixes; bindings refactored
NSImage -lockFocusOnRepresentation with nil will fill in image data after creating cached rep
table view preparedCellAtColumn implemented; is now used to prepare cell
- bugfix in NSString+KVCAdditions
- NSOpenGLView initWithFrame:pixelFormat: calls super initWithFrame:
- NSBinder conditionallySetsEnabled checks for setEnabled: method, not setEditable:
- NSMultipleValueBinder catches exceptions during per-cell set
- NSNib tries to load nibs compiled from .xib file
- move common stuff from array controller to object controller
- move common stuff from KVO binder to vanilla binder
- replacement key path for values used
- binding thru NSObjectController now works
With this patch, the .cxx_construct and .cxx_destruct methods will be called on NSAllocateObject/NSDeallocateObject. Note that you'll have to run gcc with -fobjc-call-cxx-cdtors to have these methods created.
Additionally, there are some KVO and bindings fixes:
- observing a change inside a hierarchy would give the wrong object as being changed
- array operator @sum implemented
- NSArrayController selectedObjects now depends on selection
- some additional binding parameters implemented
- Added Rolf Jansen's merge sort in NSMutableArray and NSMutableArray_concrete
+ Johannes Fortmann's patch from 05/22/2007:
- NSArrayController:
- renamed instance variables
- use arrangeObjects:, rearrangeObjects methods
- implement addObject:, removeObject: and friends
- implement newObject
- some more binding options
- NSTableView bindings corresponding to columns now being established
if missing
- NSAffineTransform rotating
- NSBezierPath addClip, setClip fix; changed unimplemented methods to
throw
- some decoding on NSNumberFormatter; NSCell uses formatter
- deep KVO is routed through public addObserver: function now, which
means that observing values on an array now throws the exception as it
should.
- NSArrayController now returns _NSObservableArray class, which allows
observing values on array objects. Observing operators is supported,
but will fire change notifications even though no change (i.e.
@max.value fires everytime a value changes, not only in case the
maximum changes)
- binding options are respected for a few values
- defaults for binding options can be specified on a per-class basis
through a plist
- multi-value bindings work (in an extremely limited way)
- binding a table column against an array not provided by the table's
NSArrayController works
- column bindings create suitable sort descriptor prototypes
- clicking a column header changes the table view's sort descriptors
- deep KVO is routed through public addObserver: function now, which
means that observing values on an array now throws the exception as it
should.
- NSArrayController now returns _NSObservableArray class, which allows
observing values on array objects. Observing operators is supported,
but will fire change notifications even though no change (i.e.
@max.value fires everytime a value changes, not only in case the
maximum changes)
- binding options are respected for a few values
- defaults for binding options can be specified on a per-class basis
through a plist
- multi-value bindings work (in an extremely limited way)
- binding a table column against an array not provided by the table's
NSArrayController works
- column bindings create suitable sort descriptor prototypes
- clicking a column header changes the table view's sort descriptors
- KVC now works for methods prefixed with '_'
- KVC works properly on NSDictionary, NSArray
- KVO on NSArray throws; addObserver:toObjectsAtIndexes implemented
- NSArrayController arrangedObjects property; probably many bugs,
incomplete
- NSArrayController selection property; dito. set and get work; merges
values to NSMultipleValuesMarker etc.
- NSBinder now has support for a replacement key path. e.g. on a color
well, you bind against "value", but the corresponding key is named
"color". The method -(NSString*)_replacementKeyPathForBinding:
(NSString*)binding should return "color" in this case if "value" is
passed in.
- helper methods to get all used bindings; moved
_binderClassForBinding: to class scope
- _NSTableColumnBinder as supporting class for bindings of the form
column -> arrangedObjects.name
- _NSTableViewContentBinder as supporting class for bindings of the
form tableView.content -> arrangedObjects
- changes for NSTableView to use NSIndexSet for row selection
- changes for NSTableView to utilize the support classes instead of
its data source if applicable
- NSNull copyWithZone implemented
- Fixed issue #25, %C should work now in NSString format strings
- Initial pass at issue #26, partial implementation of NSKeyedArchiver
- Initial pass at recursive descent parser for NSPredicate format strings.
- A few CoreFoundation headers added to Foundation
- NSConditionLock template added.
-[NSBundle objectForInfoDictionaryKey:] implemented
-[NSCharacterSet isSupersetOfSet:] implemented (poorly)
-[NSMutableData replaceBytesInRange:withBytes:length:] implemented
-[NSData dataWithBytesNoCopy:length:freeWhenDone:] implemented
-[NSString UTF8String] implemented
-[NSString stringByStandardizingPath] added by not implemented correctly
-[NSError localizedDescription] implemented
+[NSSet setWithObjects:count:] implemented
- AppKit/binders renamed AppKit/NSKeyValueBinding
- Initial pass at NSFontDescriptor added
-[NSView convertSize:to/fromView:] implemented
-[NSFont getAdvancements:forGlyphs:count:] implemented
-A few NSAnimation/NSViewAnimation definitions added