set CPDatePicker elements to days, months, year when used within a CPPredicateRowTemplate
New: added protocol CPComboBoxDataSource

Added protocol CPComboBoxDataSource
Merge pull request #2163 from t00f/predicate_editor_with_date

set CPDatePicker elements to days, months, year when used within a CPPre...
Merge pull request #2161 from Dogild/CPComboBoxDataSource

New: added protocol CPComboBoxDataSource
Fixed: delete methods erased entire field

Previously, the deleteForward:, deleteBackward: and delete: methods in CPTextField called setStringValue, which would consult a formatter, and if the formatter failed all of the text would be deleted.

Now the code has been refactored such that when one of the delete methods is invoked via a key event, the formatter is not used and the DOM event is used, which results in the expected behavior.

A bug in checking the selected range was also fixed in deleteForward:.

The CPFormatter test was updated with buttons to call the delete methods directly to ensure they work correctly when not invoked from a key event.

Closes #1997
FIXED: Popover not showing in correct platform window.

This was fixed a month ago, but additional later commits added a dumb test preventing this to work correctly
Merge branch 'master' of https://github.com/cappuccino/cappuccino
Fixed: CPPopover animation issue

Previously, when opening a popover after another one, the CPPopover was blurred.
This occurred due to some CSS Transitions specification :

"Since this specification does not define when a style change event occurs, and thus what changes to computed values are considered simultaneous, authors should be aware that changing any of the transition properties a small amount of time after making a change that might transition can result in behavior that varies between implementations, since the changes might be considered simultaneous in some implementations but not others."

The fix consists to access to a transform value of the style of the _DOMElement to force it to recalculate the values.

More information here : https://code.google.com/p/chromium/issues/detail?id=388082

Fixed #2143
Test app in Test/Manual/CPPopover
Merge pull request #2166 from Dogild/PopoverAnimation

Fixed: CPPopover animation issue
Set user event flag based on presence of DOMEvent.
Fixed: Memory leaks in CPOutlineView + corrupted itemInfos dictionary

Previously, when reloading a CPOutlineView with different datas than before, the CPOutlineView kept a reference of the previous datas.
Now, when reloading, the CPOutlineView will delete these references when we don't need it anymore. For that, the CPOutlineView will only try to delete the previous reference when we have reloaded the children of a node, otherwise it will keep the other references.

This PR fix some issue with the following methods :

- (BOOL)isExpandable:(id)anItem;
- (BOOL)isItemExpanded:(id)anItem;
- (CPInteger)rowForItem:(id)anItem;
- (CPInteger)levelForItem:(id)anItem;
- (id)itemAtRow:(CPInteger)aRow;
- (CPInteger)levelForItem:(id)anItem;
- (CPInteger)levelForRow:(CPInteger)aRow;

Previously these methods took care about not displayed items. Now they just work with displayed items.

Added unit-tests in Test/AppKit/CPOutlineViewTest.j

Test app in Test/Manual/CPOutlineViewTestCib
Fixed: refactoring of the class CPOutlineView
FIXED: transient popovers were not close with right click

This patch ensure that is a popover is transient and the user right clicks outside, it closes properly.
Merge branch 'master' of https://github.com/cappuccino/cappuccino
Merge pull request #2168 from Dogild/CPOutlineView-fixed

Fixed: Memory leaks in CPOutlineView + corrupted itemInfos dictionary
Fixed: Checking if a CPTextField is usable in a CPPlatformWindow

Previously, when a CPTextField was in a CPPlatformWindow, the checking of if the CPTextField was usable or not (depending on its position) in a CPPlatformWindow didn't take in account the content-inset of the CPTextField. Now it does.
Merge pull request #2171 from Dogild/CPTextField-Platform

Fixed: Checking if a CPTextField is usable in a CPPlatformWindow