- [CPArrayController setSelectionIndexes] should NOT obey avoidsEmptySelection. This was preventing an empty selection in a CPTableView. In addition, when calling _selectionDidChange it should suppress notifications, because the reverseSetValueFor:@"selectionIndexes" in [CPArrayController __setSelectionIndexes] does the notifications.
- Added CPContentBinding and CPContentValuesBinding constants.
- [CPObjectController valueForKeyPath:] should return CPNotApplicableMarker for undefined keys.
- Spelling fix and consolidated var blocks in CPKeyValueObserving.j
---
I discovered the following behavior that is not in conformance with Cocoa:
- Backspace, tab, escape, and space are considered key equivalents.
- Function keys (F1 - FNN) are not considered key equivalents.
- CPTextField executes `performKeyEquivalent` twice if a field is first responder.
Build this Cocoa project and debug it: http://d.pr/Xc3h
Take a look at the debug log while typing some keys. You will see that backspace, tab, escape and space do not trigger `performKeyEquivalent`, and that `performKeyEquivalent` is only executed once for the first responder.
Then run the performKeyEquivalentsTest app in this commit and look at the console log while trying keys in the text fields. If you turn the old code on, you will see how `performKeyEquivalent` is executed twice for the first responder.
For reference on key handling code, I consulted this:
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/EventArchitecture/EventArchitecture.html%23//apple_ref/doc/uid/10000060i-CH3-SW11
---
Adds -scrollViewWillScroll: and -scrollviewDidScroll: delegate methods to CPScrollView.
These methods are not in AppKit but exist in UIKit. Useful for lazy loading data in a view, for example a CPTableview.
Tested in the CPScrollView example.
Conflicts:
AppKit/CPScrollView.j
---
If a CPTextFields target action changed the first responder then the target action was called twice if the textfield edit was completed by hitting the enter/return key. This fixes the problem by setting the _isEditing flag to NO before the action is called in the insertNewline function.
See [this thread](https://groups.google.com/group/objectivej-dev/browse_thread/thread/ff64a4520102b3c5?hl=en) for more details.
Also included a new manual test for an editable CPTableView to make testing the fix easier.
- Do not release the Error & Warning window on close (or you can't open it again)
- Small graphical updates
- Remove the Growl notification in case of error (panel is sufficient)
- Add a menu to open the error and warning panel when user wants to