| Commit message (Collapse) | Author | Files | Lines |
|
|
|
... and check those in CI as well!
|
|
|
|
RFC: https://github.com/iced-rs/rfcs/pull/6
|
|
|
|
|
|
... and fix collisions with the new `helpers`
|
|
|
|
|
|
|
|
The `Widget` trait in `iced_pure` needed to change a bit to make the
implementation of `Element::map` possible.
Specifically, the `children` method has been split into `diff` and
`children_state`.
|
|
|
|
|
|
... and reuse it in `iced_pure`!
|
|
|
|
`virtual` is a reserved keyword in Rust :grimacing:
|
|
|
|
... as well as a very naive diffing strategy!
|
|
The idea here is to expose a set of "virtual widgets" that can be used with a
`Virtual` widget and its `virtual::State`.
A virtual widget is a widget that does not contain any state, but instead is a
"virtual" representation of the "real" widget. The real widgets are stored in
the `virtual::State`.
Every time a new virtual widget tree is created during `view`, it is compared to
the previous one and "real" widgets are added / removed to the `virtual::State`.
Effectively, this removes the need to keep track of local widget state in the
application state and allows `view` to take an immutable reference to `self`.
To summarize, using this crate should allow users to remove `State` structs
in their application state.
Eventually, the strategy used here may be adopted generally and, as a result,
all of the widgets in `iced_native` would be replaced!
|