Files
cappuccino/AppKit
David Richardson 01f7f9b601 Fix CPStackView compile errors and add minimal correctness fixes
CPStackView.j emited warnings during builds and tests which constituted
either real errors or indeterminate state.

These included four types that did not exist: CPUserInterfaceLayoutOrientation, CPLayoutAttribute,
CPEdgeInsets, and CPMapTable.

The missing types are now present.

- Add local typedefs for CPUserInterfaceLayoutOrientation and
  CPLayoutAttribute. Numeric values match the equivalent Cocoa
  constants.
- Add CPEdgeInsets as an alias for the existing CGInset struct.
  Add CPEdgeInsetsMake and CPEdgeInsetsEqualToEdgeInsets.
- Import Foundation/CPMapTable.j. CPMapTable already exists in
  Foundation.

This commit also fixes two logic errors found during review.

- arrangedSubviews did not match the true view order after
  insert or remove. Add _rebuildArrangedSubviews and call it
  from every method that changes view order.
- Trailing-gravity layout added one extra spacing gap past the
  last view. This shifted the returned layout boundary. Spacing
  is now added before each view, not after.

This commit adds one new property.

- Add a distribution property with storage and accessors. It
  has no effect on layout yet. This makes the property honest:
  before this change, the type existed but no property did.

The manual test, ./Tests/Manual/CPStackViewTest, used a Narwhal-era
Jakefile and would not build. This has been updated to reflect
usage under the Node toolchain.

This commit adds CPStackView.j to AppKit.j. The file was never
imported. Only the build script's wildcard file list included
it.

This commit adds a header comment to CPStackView.j. The comment
states that the class is a placeholder. It lists known
limitations. It states that a constraint-solver based
replacement is planned.

Why: CPStackView must compile and pass tests before capp-build
can use this tree as a build reference, and a class with unstated
limits invites misuse.
2026-08-14 20:09:17 -06:00
..
2022-03-21 15:55:08 +01:00
2026-07-21 15:15:53 -06:00
2013-01-23 15:48:55 +07:00
2026-07-21 15:15:53 -06:00
2025-09-02 17:38:10 +03:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-04-03 19:00:09 +02:00
2013-01-23 15:48:55 +07:00
2026-07-21 15:15:53 -06:00
2021-08-19 10:56:13 +02:00
2025-12-26 10:42:41 +01:00
2025-12-25 19:56:15 +01:00
2013-01-24 19:18:39 +08:00
2026-01-28 21:41:15 +01:00
2016-02-06 20:39:49 +01:00
2016-02-06 20:39:49 +01:00
2026-07-21 15:15:53 -06:00
2021-08-19 10:56:13 +02:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-07-21 15:15:53 -06:00
2026-03-08 19:52:58 +01:00
2026-07-21 15:15:53 -06:00