…nto the change enabling outlineView:shouldEditTableColumn:item: for outline view inline editing. This commit predefines all CPOutlineView delegate methods.
… supressing decarator.
…only methods Conflicts: AppKit/CPWindow/CPWindow.j
…ed if browser:validateDrop:proposedRow:column:dropOperation: is implemented. Reviewed by me.
…travel down the responder chain) Conflicts: AppKit/CPTableView.j
Conflicts: AppKit/CPControl.j Foundation/CPValueTransformer.j
… checking if a non existent variable equalled the current value.
…n the action fires. This causes tabbing out of a text field to update the binding source. Based on the description of the bindings option NSContinuouslyUpdatesValueBindingOption this is the right thing to do: if NSContinuouslyUpdatesValueBindingOption is on, update on every character; "otherwise the update is made only when the user interface item resigns as the responder."
…any observed change leads to a [textField setValue:X forKey:"value"] which in turn leads to a direct ivar access changing the value in textField._value. This means the text field has no idea the value changed and it doesn't update to show the new text. I'm not sure what the right solution should be here. It looks like _replacementKeyPathForBinding should play into this and change the end result to [textField setValue:X forKey:"objectValue"] which would work fine. But currently _replacementKeyPathForBinding applies to the observed key path, not the bound one.
…so, CPIsNilTransformerName and its inverse couldn't work because any nil value was immediately returned without transformations being applied. Full complement of unit tests included, based on Cocoa empirical testing. Fixed with CPKeyValueBinding: the CPValueTransformerNameBindingOption option would cause an exception due a missing import.
…the recent Objective-J (mis?) behavior that every class has to inherit from CPObject. Also, the transformer map failed to initialize properly with the existing setup code for reasons which were not immediately clear. Moving the initialization to a regular + initialize method eliminated the problem. Fixed: CPKeyValueBinding.j would throw an exception if a named value transformer option was specified, due to CPValueTransformer.j not being imported.
… the content array instead of the arranged objects, leading to the wrong objects being removed as filters and sort descriptors were effectively ignored.
… A special code path in the CPTableColumn's prepareDataView:forRow: method turns a O(n) operation into O(1) where n is the number of items in the model array.
…failed to remove the last selected item if the new arrangedObjects array was empty.
… to rearrangeObjects caused objects to disappear from the arranged set.
…s content array was shortened and items at the end were selected. Extended avoid empty selection support so that when the last item is selected and deleted, the (previously) second to last item is selected instead. Works as expected with multiple selections.
…ectionIndexes were sent doubly.
…lectionIndexes. Using this, support for selectsInsertedObjects was added. This commit also fixes a performance problem where calling setSelectionIndexes with a selection equal to the one already active caused a selection update.
…pdates would never fire with a nil _filterPredicate, causing rearrangeObjects to be called needlessly.