- Functions to determine the OS-preferred width and height of Gadgets, like ButtonGadget. This could be done via GetGadgetAttribute(), but perhaps it would be better to be able to obtain it before the Gadget is displayed. The idea is that you have a way to know the right, platform-dependent size of buttons, text, and similar items based on a given caption. This needs to account for DPI scaling.
- Automatic layout management, e.g. based on VerticalPanelGadget and HorizontalPanelGadget that can hierarchically embedd other gadgets. Perhaps the PB-way would be via functions like OpenVerticalPanel ... CloseVerticalPanel. Not sure if this will be obsolete with the new XML-based layout forms. Anyway, we need a way for grouping Gadgets in the platform-optimal layout, e.g. with platform-dependent borders and default sizes (and adjust the window default minimum size accordingly)
- Related to the above: Patform-dependent control fonts (e.g. to get a LargeGadgetSystemFont, SmallGadgetSystemFont, ListItemGadgetSystemFont, ...)
- A completely cross-platform way to obtain an EditorGadget's selection start, end, range, set the selection, insert into the selection, activating word wrap, and tracking changes to the editor (via Events).
One more in the long run. An editable EditorGadget or other text gadget with
- cross-platform font and text style settings (bold, italic, underline) font size and font
- getting, setting and manipulation of styled text (in internal format, e.g. as binary blob string)
- rudimentary support for inline images
- my favorite: a way to associate arbitrary regions of text with user-defined "tags" (e.g. just a number) and make these regions behave like styles (i.e. keep track of changes)
