7GUIs is a "GUI Programming Benchmark". However rather than benchmarking performance, it offers 7 GUI related tasks that aim to make UI Toolkits comparable.
These 7 challenges have implementations for multiple frameworks already and the following are ours:
Just a Button that increases a value in a text field.
Converts Celsius to Fahrenheit and vice versa.
Performs some validation checking on dates. Does not actually book flights.
.slint
code in web editor
(Note that the logic for date validation and date comparison is implemented in Rust.)
A simple timer where the duration is adjustable while running.
.slint
code in web editor
(Note that the actual timer functionality is implemented in Rust.)
Lets you create, read, update and delete names from a list as well as filter them by prefix.
Our implementation makes use of MapModel
and FilterModel
to achieve this.
.slint
code in web editor
(Note that the changes to the data model and filtering is implemented in Rust.)
Draw some circles on a canvas and change their sizes. It has undo and redo capabilities.
.slint
code in web editor
(Note that the undo-redo stack is implemented in Rust.)
Almost MS Excel. It uses nested models to create the table.
.slint
code in web editor
(Note that the cell model, expression evaluation and dependency handling is implemented in Rust.)