This is a small cleanup to not keep in memory a value we don't need.
After the update_callback callback is called, we don't need to remember
it happens this callback was queued before. (It also prevents a
possible memory leak (of a boolean value) when widgets are destroyed)
The draw method exists only for widgets. When dealing with more complex
widget, this method is not necessary implemented (i.e. with layouts).
We need to check the method is defined by the child before calling it.
The previous implementation for these methods was a naive attempt at
making the base widget working. We need to make sure computing the
widget's sizes is more robust for complex widget_template definition.
This is a needed property from the awesome global object to allow unit tests
to be checked now that widget.base implements different features based on the
current API level.
The CI currently doesn't install (correctly?) the "discount" formatter,
so ldoc fallbacks to the default "markdown" formatter. However, if we
try to install the discount or lua-discount, the doc rendering is
slightly different from what we currently have.
All of this was already mentioned in the issue "Generate apidoc doesn't
use the discount markdown formatter #3500".
This change removes the configuration in the `config.ld` file, so we
don't have the "format: using built-in markdown" message any longer in
in the CI logs.
Note that I also removed the lua-discount installation from the
`apidoc.yml` workflow, since it wasn't working. (I guess it installs the lua
package for a different version of lua than the one used by ldoc)
The textbox API reflects the Pango layout API circa 2011, time to
bring this to 2022. This adds:
* indent
* justify
* line_spacing_factor
It doesn't add `spacing` because it doesn't seem to do anything.
It also doesn't add the `is_*` methods to know if the text wraps
or ellipsize. We could, but nobody asked for them. The line spacing
is a feature request from Posix on Discord.