Commit Graph
1 Commits
Author SHA1 Message Date
David Richardson 9944659776 AppKit: Protect behaviour of decoded views and add regression tests
Ensure decoded views are correct by verifying they retain their connections and
respond as before archiving.

A decoded table no longer raises, and decoded button bars, tab views, text
fields and outlines retain their observers, selection, delegates and data source
methods.

* CPButtonBar: Observe the hidden state of decoded buttons.

* CPOutlineView: Decode the data source and delegate through their setters.

* CPTableView: Set the data source and delegate after _init during decoding.

* CPTabView: Select the archived tab view item during decoding, before the
  delegate is set.

* CPTextField: Archive the delegate.

* CPViewDecodedBehaviorTest: Verifies connections, the view hierarchy, and the
  behaviour of objects each class creates or observes after decoding.
2026-10-31 22:02:28 -06:00