This changes the behavior of requestFocus when it is called on a FocusNode that does not yet have a parent, so that it defers requesting focus until it receives a parent. Before this change, calling requestFocus before it had a parent was a no-op.
This allows scenarios where a widget is newly added and wishes to immediately request the focus. Previously, it was very hard to make that work because requesting focus before the widget's focus node had a parent was ignored, so the developer had to wait until two frames later to request focus (one for the widget's node to be added to the focus tree, and one to request the focus).
Now, in order to have a widget be focused when initially added, you just need to call requestFocus on its node when you create it, and as soon as it is added, it will automatically request focus.
This is different from the autofocus attribute on the Focus widget, because it unconditionally requests focus when added (autofocus will only request focus if nothing else in the scope has focus).
This simplifies the diagnostic output for the Shortcuts widget so that if a debugLabel is supplied, then that is printed instead of the full list of shortcut keys in the map. Also, the output of the shortcut map is simplified to have the list of keys presented in more readable text.
Moves the checks that projects have been configured for desktop to a lower level, where they will cover more codepaths (e.g., 'run'), and improves them to check for native build projects, rather than just directories, to catch cases where the directory exists (e.g., due to accidental creation of generated files).
Also adds links to the error messages pointing to instructions on adding desktop support to a project.
Fixes#47145
* Added property for expanded padding of expansion panel for solving #24071
* #24071: Renamed default const name for being more descriptive
* #24071: Improved comment of property expandedPadding
* #24071: Improved test by expanding the expansion panel by header tap + precise assertion
* #24071: Renamed property to be more descriptive
* #24071: Adjusted property comment and added missing trailing commas
* #24071: Improved test by checking real exact header size
* #24071: Added test for default header padding
* #24071: Improved comment of expandedHeaderPadding + code style adjustments
* #24071: Added missing trailing comma