.. | ||
booker.rs | ||
booker.slint | ||
Cargo.toml | ||
cells.rs | ||
cells.slint | ||
circledraw.rs | ||
circledraw.slint | ||
counter.slint | ||
crud.rs | ||
crud.slint | ||
README.md | ||
tempconv.slint | ||
timer.slint |
Slint's 7GUIs implementation
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:
Counter
Just a Button that increases a value in a text field.
Temperature Converter
Converts Celsius to Fahrenheit and vice versa.
Flight Booker
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.)
Timer
A simple timer where the duration is adjustable while running.
CRUD
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.)
Circle Drawer
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.)
Cells
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.)