mattcasters opened a new issue, #8016:
URL: https://github.com/apache/hop/issues/8016
### What would you like to happen?
`@GuiWidgetElement` can only lay fields out as one vertical form. Large
editors (load-balancing run configurations, Beam Flink/Dataflow, Mongo, Redis)
run out of screen space. We already group *by hand*: extra `parentId`s, a
custom `CTabFolder` in the load-balancing editor, two `GuiCompositeWidgets`
instances in Redis, and the configuration perspective Plugins list.
It would be better if grouping were an option on the annotation, with
`GuiCompositeWidgets` creating the container.
Proposed API (opt-in, default is today's flat form):
```java
public enum GuiWidgetGroupType {
NONE, // default
TABS, // CTabFolder
LIST, // SWT List + detail composite
BOXES // stacked SWT Group
}
@GuiWidgetElement(
parentId = PipelineRunConfiguration.GUI_PLUGIN_ELEMENT_PARENT_ID,
group = "i18n:...Management",
groupOrder = "10",
groupImage = "ui/images/server.svg",
groupType = GuiWidgetGroupType.TABS,
...
)
```
- `parentId` stays the registry key.
- `group` is a layout bucket inside that tree (not a second `parentId`).
- Empty `group` keeps the current layout. Existing widgets do not need to
change.
- Do not reuse `@GuiTab` (that injects tabs into Hop Gui perspectives).
- The configuration-perspective Plugins **List** stays as plugin *selection*
(one item per `ConfigPlugin`). `LIST` is for grouping fields of *one* class.
First consumer after the API exists: the load-balancing pipeline/workflow
run configuration editor (PR #7999), which currently builds three tabs by hand.
### Issue Priority
Priority: 3
### Issue Component
Component: Hop Gui
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]