Skip to content

Conversation

@CosimoTiger
Copy link
Owner

@CosimoTiger CosimoTiger commented Dec 29, 2024

  • merge the InventoryListener interface into IMenu to lessen the nonsense of unused extracted interfaces
  • drop menu properties in favor of simplicity, use ActionMenu instead with MenuActions
  • add a neat ActionMenu.ActionMenuIterator
  • separate common menu logic into MenuUtils as publicly available methods and constants
  • introduce the concept of columns and rows as a utility in MenuUtils and IMenu itself
  • drop the Range annotation nonsense
  • write unit tests for some menu methods and utilities
  • improved documentation
  • reduce menu setters to setting an item, action or both to one or multiple slots with support for most collections

@CosimoTiger CosimoTiger added documentation Improvements or additions to documentation feature New feature or request for one SemVer: major PR: major change by Semantic Versioning labels Dec 29, 2024
@CosimoTiger CosimoTiger self-assigned this Dec 29, 2024
@CosimoTiger CosimoTiger marked this pull request as draft December 29, 2024 15:17
@CosimoTiger CosimoTiger changed the title New menu utilities, simplified setting of items and actions New menu utilities, simplified and generalized menu API Jan 6, 2025
@CosimoTiger CosimoTiger marked this pull request as ready for review January 6, 2025 02:55
@CosimoTiger CosimoTiger merged commit e38e135 into main Jan 6, 2025
1 check passed
@CosimoTiger CosimoTiger deleted the feature/new-menus branch January 6, 2025 02:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation feature New feature or request for one SemVer: major PR: major change by Semantic Versioning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rewrite the Menu types with the "composition over inheritance" approach

2 participants