Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Component] Revisit the class hierarchy of commands and presentation models #447

Closed
kirill-grouchnikov opened this issue May 4, 2023 · 0 comments
Assignees
Labels
7.0 - Karat Release 7.0 - 2024.H1 Breaking change Marking changes that break backwards compatibility

Comments

@kirill-grouchnikov
Copy link
Owner

No description provided.

@kirill-grouchnikov kirill-grouchnikov added Breaking change Marking changes that break backwards compatibility 7.0 - Karat Release 7.0 - 2024.H1 labels May 4, 2023
@kirill-grouchnikov kirill-grouchnikov self-assigned this May 4, 2023
kirill-grouchnikov added a commit that referenced this issue May 4, 2023
No longer need to use its own popup menu content model. For #447
kirill-grouchnikov added a commit that referenced this issue May 5, 2023
…tons

* Add FitToIcon variants for all core command button presentation states (small, medium, tile, big)
* Add BaseCommand.tag attribute
* Add BaseCommandButtonPresentationModel.sides attribute
* Add CommandButtonFollowColorSchemeIcon implementation that can be used for command button icons that need to be dynamically rendered to follow the color scheme that matches the current transition-aware state of the button
* Convert the ribbon taskbar overflow button to be fully configured by the command and the presentation model, with no component customizer

For #447
kirill-grouchnikov added a commit that referenced this issue May 5, 2023
…ttons

* Remove FIT_TO_ICON button presentation state and replace with BIG_FIT_TO_ICON everywhere it was used
* Also convert ribbon band expand button to be fully configured by the command and the presentation model, with no component customizer

For #447
kirill-grouchnikov added a commit that referenced this issue May 5, 2023
…tons

Convert ribbon gallery scroller / expand buttons, as well as scrollable panel scroll buttons to be fully configured by the command and the presentation model, with no component customizer

For #447
kirill-grouchnikov added a commit that referenced this issue May 12, 2023
kirill-grouchnikov added a commit that referenced this issue May 13, 2023
The newly added `BaseCommandButtonProjection.getPopupMenuPanelProjection()` is used to get the projection for the popup menu panel content. This also allows removing the need to have the `JCommandButton` to know the "difference" between a regular command button and a ribbon application menu button - as well as removing the need for a separate `JColorSelectorCommandButton` extension of `JCommandButton` just to configure its popup content.

For #447
kirill-grouchnikov added a commit that referenced this issue May 21, 2023
* Refactor the API of `CommandPopupMenuPresentationModel` to use `item` instead of `menu`
* Add `sides` and `horizontalAlignment` to `CommandPopupMenuPresentationModel`
* Update `BaseCommandButtonPresentationModel.getPopupMenuPresentationModel` return type
* Mark `addMenuXYZ` methods of `AbstractPopupMenuPanel` to be protected so that they can be used outside of the `api.common.popup` package

For #447
kirill-grouchnikov added a commit that referenced this issue May 21, 2023
* Switch `BaseCommandButtonPresentationModel.horizontalAlignment` from `int` (constants in `SwingUtilities`) to our own `HorizontalAlignment`
* Support `HorizontalAlignment.FILL` in small, medium and tile layout managers

For #447
kirill-grouchnikov added a commit that referenced this issue May 31, 2023
kirill-grouchnikov added a commit that referenced this issue May 31, 2023
* Refactor command button panel to populate its content in the UI delegate
* Remove get/set horizontal alignment APIs from command button

For #447
kirill-grouchnikov added a commit that referenced this issue Jun 1, 2023
* Content padding
* Horizontal and vertical gap scale factor
* Fire action on rollover

For #447
kirill-grouchnikov added a commit that referenced this issue Jun 1, 2023
* Icon dimension
* Location order kind - replace with consistent support for straight and open sides, adding the missing support for open sides on command buttons

For #447
kirill-grouchnikov added a commit that referenced this issue Jun 1, 2023
* Auto-repeat action
* Auto-repeat intervals

For #447
kirill-grouchnikov added a commit that referenced this issue Jun 2, 2023
This allows adding any command to the ribbon taskbar

For #447
kirill-grouchnikov added a commit that referenced this issue Jun 5, 2023
* Convert the breadcrumb bar buttons to the recently added `.setPopupIcon` API with a custom implementation that looks at the rollover / popup showing to decide on the arrow direction (further visual tweaks incoming)
* Remove the popup placement strategy APIs from the command button itself

For #447. Fixes #451.
kirill-grouchnikov added a commit that referenced this issue Jun 11, 2023
Also add `BaseCommandButtonPresentationModel.forceAllocateSpaceForIcon` attribute

For #447
kirill-grouchnikov added a commit that referenced this issue Jun 11, 2023
Redirect existing calls that work on command buttons

For #447
kirill-grouchnikov added a commit that referenced this issue Jun 12, 2023
Convert all usages of getPreferredSize and getPreferredIconSize to the new world

For #447
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
7.0 - Karat Release 7.0 - 2024.H1 Breaking change Marking changes that break backwards compatibility
Projects
None yet
Development

No branches or pull requests

1 participant