You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This ticket is not a single issue but will discuss and try to improve soma.web.ControllerWidget. We can summarize a short problems list here (by editing the ticket) and discuss in answers.
First, I had difficulties when opening it on a controller containing None values. I have fixed a few problems by adding tests, and I will push fixes.
The ControllerWidget opened on a Morphologist instance displays nothing, without a visible error.
The ControllerWidget opened on a Morphologist instance displays all values empty.
Deleting the widget (del controller_widget) doesn't actually destroy it: it remains visible. But gc.collect() does delete it afterwards.
ControllerWidget lacks the former set_visible() method to hide or show some selected fields
Values manually modified in ControllerWidget are not marked as modified as they used to do in Capsul 2. This is required to block completion on manually forced fields.
Fields names / values display layout should be adjusted / fixed. For now they cannot be properly resized, and there is no horizontal scrollbar, thus we need to set the widget fullscreen to get a chance to read the value
A number of field types are not supported, resulting in the full ControllerWidget to be completely empty.
Errors like unsupported types are not displayed nor logged and do not raise an exception, thus debugging is difficult.
A Controller view is either read-only, or completely modifiable, that is not only values can be edited, but fields canbe removed etc. We need a 3rd state where only values can be edited, and fields are fixed (except for OpenKeyControllers).
We should also be able to specify when expandable fields (like lists, dicts etc) are displayed expanded or folded at the beginning.
A few fields metadata may prove useful also, in order to display things to the user in tooltips, colors, or other visual hints: for instance input/ouput state, locked fields, or other information. Thus considering this and earlier points in this list, I guess controller descriptions should be passed in a 2-level JSON dict rather than the "direct" one passed now.
This ticket is not a single issue but will discuss and try to improve
soma.web.ControllerWidget. We can summarize a short problems list here (by editing the ticket) and discuss in answers.Nonevalues. I have fixed a few problems by adding tests, and I will push fixes.ControllerWidgetopened on a Morphologist instance displays nothing, without a visible error.ControllerWidgetopened on a Morphologist instance displays all values empty.del controller_widget) doesn't actually destroy it: it remains visible. Butgc.collect()does delete it afterwards.ControllerWidgetlacks the formerset_visible()method to hide or show some selected fieldsControllerWidgetare not marked as modified as they used to do in Capsul 2. This is required to block completion on manually forced fields.ControllerWidgetto be completely empty.OpenKeyControllers).