Commit Graph
205 Commits
Author SHA1 Message Date
daboe01 ea4fc96df5 fixed: outlineview dropHighlightViewOnRow height was off by 2 pixels 2026-08-27 19:11:12 +02:00
daboe01 2e9b02b65a Merge branch 'main' into Aristo3 2026-08-20 19:25:05 +02:00
David Richardson ac8ce3eec3 Fix CPOutlineView build warnings and audit+improve CPTreeNode
CPOutlineView.j used CPTreeNode before AppKit.j imported it. This
triggered build warnings. This commit adds an import.

- Add @import "CPTreeNode.j" to CPOutlineView.j.

While addressing this warning, CPTreeNode was audited and found to have an algorithmic complexity regression and multiple structural inconsistencies in the KVO support code.

The test suite for CPTreeNode was Spartan in the extreme.

All of these have been addressed - see inline notes for details.
CPTreeNode is subject to further audit.
2026-08-19 10:11:20 -06:00
daboe01 1878967da1 fixed: CPOutlineView and CPTableView corner cases 2026-08-11 19:11:36 +02:00
daboe01 078ab40d99 Merge remote-tracking branch 'upstream/main' into Aristo3 2026-04-08 15:26:43 +02:00
daboe01 f34cbbdf29 New: toolTips for CPTableView and CPOutlineView 2026-04-04 15:00:53 +02:00
daboe01 fa077e4fc7 fixed: race condition during unfolding animation 2026-03-15 17:44:51 +01:00
daboe01 fd745d37a9 Merge remote-tracking branch 'upstream/main' into Aristo3 2026-03-15 17:43:57 +01:00
daboe01 2da26b2de2 formatting 2026-03-15 17:41:51 +01:00
daboe01 5e297dd293 removed: erroneous code spillover 2026-03-15 17:39:33 +01:00
daboe01 17dc653149 Merge remote-tracking branch 'upstream/main' into Aristo3 2026-03-15 17:09:21 +01:00
daboe01 ea4adf1039 fixed: racecondition in row expansion animation 2026-03-15 17:08:21 +01:00
daboe01 e779198a80 Merge remote-tracking branch 'upstream/main' into Aristo3 2026-03-15 09:01:42 +01:00
daboe01 43936f640c formatting 2026-03-15 08:53:04 +01:00
daboe01 6671d371e9 fixed: treeview binding issues 2026-03-15 08:51:03 +01:00
daboe01 e801064bd9 Merge remote-tracking branch 'upstream/main' into Aristo3 2026-03-08 21:20:32 +01:00
daboe01 fdba5f55c5 fixed> syntax error 2026-03-08 21:16:54 +01:00
daboe01 bfeaabc038 Merge remote-tracking branch 'upstream/main' into cpoutlineview-delegate-fix 2026-03-08 21:13:47 +01:00
daboe01 6b9bad37c2 Merge remote-tracking branch 'upstream/main' into Aristo3 2026-03-08 21:09:57 +01:00
daboe01 9f4db09bec removed: dead code 2026-03-08 21:07:08 +01:00
daboe01 031e5e7ca3 fixed: selection issues 2026-03-08 19:52:58 +01:00
daboe01 c70079ae71 improved: bindings to CPOutlineView 2026-03-08 18:03:52 +01:00
daboe01 8ac2b94400 refac 2026-03-07 21:48:10 +01:00
daboe01 b1f2fb44a8 new: CPOutlineView bindings support 2026-03-07 21:43:41 +01:00
daboe01 b24cb2c48e fixed: disclosure triangle was canvas based 2026-03-06 19:21:55 +01:00
daboe01 4aac83b50d removed: unnecessary triangle border 2026-03-02 20:57:10 +01:00
daboe01 48b4345e80 new: full animation support for CPOutlineView 2026-03-02 16:09:29 +01:00
daboe01 4636c0f3b8 fixed: double click error 2026-03-01 20:21:48 +01:00
daboe01 7c093e1a64 fixed: outline-view disclosure animation 2026-03-01 19:29:51 +01:00
daboe01 1a7b7054fb improved: animation 2026-01-27 19:46:49 +01:00
daboe01 01fc279709 improved: animation 2026-01-27 19:41:18 +01:00
daboe01 5540ef8ca7 new: triangle animation in outline view 2026-01-26 22:38:49 +01:00
daboe01 d661c83acc fixed disclosure colors in outlineview 2026-01-26 07:32:35 +01:00
daboe01 437bcc8078 revert: cpoutlineview 2026-01-26 07:26:22 +01:00
daboe01 ac1407484a fixed: outlineview arrow colors 2026-01-25 17:19:07 +01:00
daboe01 a531dc6fc0 improved: demo app 2026-01-25 11:45:23 +01:00
daboe01 57858db161 new: CPOutlineView 2026-01-24 19:15:37 +01:00
daboe01 2f552abf94 fixed: disclosure button issue in outline view 2026-01-06 19:52:36 +01:00
daboe01 547be633b6 fixed: CPOutlineView should be its own tableView delegate and datasource 2025-12-07 09:18:36 +01:00
daboe01 7be2005fae fixed: wrong documentation 2025-06-29 15:50:05 +02:00
daboe01 afadec517b fixed: missing documentation of CPOutlineViewDataSource protocol 2025-06-29 15:20:23 +02:00
Martin Carlberg 0618fa9bb2 Fixed: Added protocol to data source and delegate for outline view 2021-09-15 17:24:31 +02:00
Martin Carlberg 7dc77ed609 Fixed: Make sure we handle undefined when testing for nil values (#2862) 2020-01-31 13:43:58 +01:00
daniel a8a74a0246 Formatting: add semi-colons to CPOutlineView.j 2018-04-04 14:37:34 -07:00
Martin Carlberg e5e50c2220 Fixed: Use the faster objj_msgSend instead of the old slower objj_msgSend
In some places the objj_msgSend function is called directly. Most of the times the old slower version is called. This commit will use the never faster version instead.
2015-10-01 22:17:13 +02:00
cacaodev f82099143f CPTableView: -_reloadDataViewsImmediately -> -reloadData
CPTableColumn: binder:-setValueFor:  is a simple data reload.
2014-09-23 12:17:52 +02:00
cacaodev abe2e544bb Merge remote-tracking branch 'upstream/master' into CPTableView-enumerateRows 2014-09-06 21:33:18 +02:00
Alexandre Wilhelm 92a5fa19fb Fixed: crash of the CPOutlineView when reloading and changing an item to another parent
Previously, when reloading the CPOutlineView and changing an item to another parentItem, the CPOutlineView deleted the reference of the item.

Now, when removing old data to avoid memory leaks, the CPOutlineView checks if the pending item to delete doesn't have another parent item.
2014-08-20 18:32:20 -07:00
Alexandre Wilhelm 4fbd307163 Fixed: refactoring of the class CPOutlineView 2014-08-09 15:10:25 -07:00
Alexandre Wilhelm 3e4c03852d 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
2014-08-08 15:05:24 -07:00