Alexander Ljungberg and Ross Boucher
dcec14decd
Fixed: delete (backspace) and forward delete were switched as compared to Cocoa. Fixed: delete could not be used as a key equivalent without a modifier.
2010-06-11 09:37:47 -07:00
Randall Luecke
f62d81e79f
Fix for nib2cib breaking with an emptry class implementation.
2010-06-10 22:37:52 -05:00
Derek Hammer and Randall Luecke
9ff056f073
Making the DisclosureButton a little more subtle. Adding shadow to the disclosure buttons.
2010-06-10 18:21:51 -05:00
Ross Boucher
1edb0bcc4a
Fix for null key equivalents.
2010-06-10 16:14:22 -07:00
Scott Kyle and Randall Luecke
1899250a53
Semicolons are nice...
2010-06-10 16:42:28 -05:00
Scott Kyle and Randall Luecke
443e23e348
Without the commas, these create global variables
2010-06-10 16:42:19 -05:00
Ross Boucher
1e6595fca7
Slight switch statement change so that nil/0 are treated equivalently.
2010-06-10 13:29:47 -07:00
Alexander Ljungberg and Ross Boucher
5ed475eedd
Slightly faster _couldBeKeyEquivalent (1% of runtime in 3000 calls). Performance test included.
2010-06-10 10:57:42 -07:00
Alexander Ljungberg and Ross Boucher
17669fd09d
Optimized _triggersKeyEquivalent for a 6.5% performance gain in the CPKeyEquivalentPerformance test.
2010-06-10 10:56:02 -07:00
Ross Boucher
421ae6b316
Make CPButton archive its key equivalents, and make nib2cib support the feature.
2010-06-10 10:41:15 -07:00
Francisco Ryan Tolmasky I
3c98ed78ee
Merge branch 'master' into @each
...
Conflicts:
Objective-J/Preprocessor.js
Objective-J/Runtime.js
2010-06-09 16:29:57 -07:00
Aparajita Fishman and Ross Boucher
9ab446b790
Added image alignment support to CPImageView, CPWindowController always loads a cib from the main bundle for consistency with Cocoa, CPApplication modified to explicitly load the About panel cib from the Framework bundle
2010-06-09 14:24:00 -07:00
Ross Boucher
10fad00c1e
Merge remote branch 'aljungberg/keyequivalents-merge'
2010-06-09 13:42:57 -07:00
Thomas Ingham and Ross Boucher
a49b01d396
Added missing asset.
2010-06-08 19:29:11 -07:00
Alexander Ljungberg
c26ebe0bd2
Added support for menu key equivalents such as Escape or Cmd-Delete. Refactored code to recognize key equivalents for reuse between CPMenu and CPButton. Added unit tests for CPMenu key equivalents.
2010-06-07 19:09:15 -04:00
Alexander Ljungberg
381a44148e
Special keys such as backspace and escape can now be used as key equivalents through checking for their unicode representations in [CPEvent characters]. This replaces the earlier raw key code approach.
2010-06-07 19:09:10 -04:00
Alexander Ljungberg
c1f16de441
Defined function and special key constants.
2010-06-07 19:09:01 -04:00
Alexander Ljungberg
4a048657c5
If a button is named "Cancel" in a CPAlert window, give it the 'escape' key equivalent.
2010-06-07 19:08:50 -04:00
Alexander Ljungberg
44f5086600
Key equivalents for CPButton.
2010-06-07 19:08:44 -04:00
Randall Luecke
39ba9b9a4f
setSeletable now works in CPTextField. Closes #690
2010-06-06 16:26:51 -05:00
Alexander Ljungberg and Randall Luecke
bdb36f35cf
Fixed: the actual delegate method definition somehow didn't make it into the change enabling outlineView:shouldEditTableColumn:item: for outline view inline editing. This commit predefines all CPOutlineView delegate methods.
2010-06-06 16:07:50 -05:00
Saikat Chakrabarti and Ross Boucher
c8759babae
Adding checks for existence of DOM when calling CPPlatformWindow+DOM-only methods
...
Conflicts:
AppKit/CPWindow/CPWindow.j
2010-06-06 11:48:15 -07:00
Francisco Ryan Tolmasky I
ab3d648244
Fix for browser:acceptDrop:atRow:column:dropOperation: not being called if browser:validateDrop:proposedRow:column:dropOperation: is implemented.
...
Reviewed by me.
2010-06-04 19:21:43 -07:00
Randall Luecke
57dc0460a3
Fixed theme state for CPBrowser.
2010-06-03 21:09:18 -05:00
Randall Luecke
d5ee07fe1b
CPControl should not be allowed to performClick: if it's disabled.
2010-06-02 20:43:09 -05:00
Randall Luecke
162381a73f
Removed worthless variable in the collectionview.
2010-06-01 19:16:02 -05:00
Randall Luecke
bb651d0c70
Added multiple selection support to the collectionview.
2010-06-01 01:53:26 -05:00
klaaspieter and Randall Luecke
d9c094f644
call tableview doubleclick action even if target is nil (action will travel down the responder chain)
...
Conflicts:
AppKit/CPTableView.j
2010-05-31 19:14:54 -05:00
Ross Boucher
1642149228
Missing #include had broken the slider color picker.
2010-05-28 12:45:15 -07:00
Ross Boucher
8fd564b034
Minor cleanup to the current test cases.
2010-05-28 10:54:45 -07:00
Ross Boucher
7c3f94dd87
Merge remote branch 'klaaspieter/bindings-fixes' into bindings
...
Conflicts:
AppKit/CPControl.j
Foundation/CPValueTransformer.j
2010-05-28 10:23:47 -07:00
Klaas Pieter Annema
eacd408ce8
Fixed a typo in CPObjectController
2010-05-27 15:23:09 +02:00
Klaas Pieter Annema
084da71420
exposed more bindings on CPControl
2010-05-27 15:22:40 +02:00
Alexander Ljungberg
3fa47ee9ec
Fixed: [_CPImageAndTextView setDimsImage] wasn't working right due to checking if a non existent variable equalled the current value.
2010-05-26 20:09:01 -04:00
Alexander Ljungberg
e811895570
Fixed: CPObjectController keyPathsForValuesAffectingX typos.
2010-05-26 20:06:32 -04:00
Alexander Ljungberg
47e890b8e1
Fixed table row drag view when using bindings.
2010-05-26 20:02:12 -04:00
Alexander Ljungberg
ef9d2d1775
Reverse update value binding when control editing stops, not only when 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."
2010-05-26 19:51:51 -04:00
Alexander Ljungberg
be13a14330
Hack to make [textField bind:CPValueBinding ...] work. Without this, 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.
2010-05-26 19:51:28 -04:00
Alexander Ljungberg
45a2bcb71a
Fixed bindings problems where 'nil' would be transformed into @"". Also, 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.
2010-05-26 19:50:35 -04:00
Alexander Ljungberg
218919a8ba
Fixed: exposed bindings on CPObject would not appear in CPObject subclasses.
2010-05-26 19:48:27 -04:00
Alexander Ljungberg
79ed04e403
Fixed: including CPValueTransformer.j causes an infinite loop due to 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.
2010-05-26 19:47:45 -04:00
Alexander Ljungberg
3c995fe17b
Fixed: the array controller remove method mapped selection indexes to the content array instead of the arranged objects, leading to the wrong objects being removed as filters and sort descriptors were effectively ignored.
2010-05-26 19:45:13 -04:00
Alexander Ljungberg
8b2350fb22
Optimized table data loading when using bindings for the cell values. 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.
2010-05-26 19:42:59 -04:00
Alexander Ljungberg
15be647c16
Fixed: the CPArrayController code to remove out of bounds selections failed to remove the last selected item if the new arrangedObjects array was empty.
2010-05-26 19:42:40 -04:00
Alexander Ljungberg
8a8af0e4a9
Fixed: CPArrayController could get out of bounds selections if a call to rearrangeObjects caused objects to disappear from the arranged set.
2010-05-26 19:41:34 -04:00
Alexander Ljungberg
4ff89eab04
Fixed: CPArrayController would throw out of bounds exceptions when its 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.
2010-05-26 19:40:55 -04:00
Alexander Ljungberg
ec032cb739
Performance fix: willChange and didChange for CPArrayController's selectionIndexes were sent doubly.
2010-05-26 19:40:24 -04:00
Alexander Ljungberg
2b287a85e5
CPArrayController now pushes new selections to the bound model for selectionIndexes. 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.
2010-05-26 19:39:42 -04:00
Alexander Ljungberg
6ea2b4e0e2
Fixed: the CPArrayController addObject: optimization for fast index updates would never fire with a nil _filterPredicate, causing rearrangeObjects to be called needlessly.
2010-05-26 19:39:09 -04:00
Alexander Ljungberg
f7e2e9c2ee
Fixed: the _CPObservableArray init method used by CPArrayController did not properly initialize _observationProxies.
...
Fixed: _CPObservableArray's insertObject:atIndex: caused an infinite loop.
2010-05-26 19:37:28 -04:00