11th of July to 18th of July 2021

Progress

Progress was made in the following areas:

  • Native style: fix sizing of the ComboBox.
  • Various documentation updates:
    • Recommend the use of resolver = "2" in the tutorial and the docs.
    • Document ComboBox.
    • Start documenting some of the cbindgen internals.
  • Make sure error messages in the compiler don't end with '.'

    As suggested in #275

  • Fix error with structures that are only referenced by callbacks

    We would have a compilation error in Rust or C++ because the collect_struct visitor would not visit these type and not produce them correctly.

  • Fix stack overflow with Rust generated code in debug builds on Windows (#133).
  • LSP: properly classify callback aliases in auto-complete

    Otherwise the completion is wrong as it tries to complete with : instead of =>

  • Remove the freetype dependency on Windows and macOS
  • Fix name conflict when having two globals with the same name in different files

    Give globals an unique id so two global with the same name imported from different file don't clash

    Fixes #159

  • Add a selected callback to ComboBox
  • The clip property now clips the mouse events

    Fixes #180

    Note that there is still a small issue that the clipped element may not receive the MouseExit event because it is still considered having the mouse.

  • Fix interpreter C interface generated by cbindgen

    Make sure to never export the Value enum. It might drag in all sorts of unrelated types (as it happened in #311). We have ValueOpaque for that, so exclude Value from the export config explicitly. However since we expose the Value *pointers* for the struct iterators, at least provide a forward declaration.

  • Provide impl Default instead of new() constructors for ComponentCompiler and CompilerConfiguration
  • Janitor: Work towards making sixtyfps clippy clean

Statistics

52 patches were committed by 3 authors.

← Next : 18th of July to 25th of July 2021 | Previous : 4th of July to 11th of July 2021


Slint is a declarative GUI toolkit to build native user interfaces for desktop and embedded applications written in Rust, C++, JavaScript, and Python. Find more information at https://slint.dev/ or check out the source code at https://github.com/slint-ui/slint