Merge branch 'master' into feature/test-recorder
This commit is contained in:
commit
98d8f466bb
98 changed files with 643 additions and 204 deletions
|
|
@ -36,7 +36,7 @@ impl Arc {
|
|||
self.cache.clear();
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
Canvas::new(self).width(Fill).height(Fill).into()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
container(hover(
|
||||
self.bezier.view(&self.curves).map(Message::AddCurve),
|
||||
if self.curves.is_empty() {
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@ impl Generator {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
match self {
|
||||
Self::Loading => center("Loading...").into(),
|
||||
Self::Done => center(
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let default_checkbox = checkbox("Default", self.default)
|
||||
.on_toggle(Message::DefaultToggled);
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ impl Clock {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let canvas = canvas(self as &Self).width(Fill).height(Fill);
|
||||
|
||||
container(canvas).padding(20).into()
|
||||
|
|
@ -166,7 +166,7 @@ impl<Message> canvas::Program<Message> for Clock {
|
|||
let y = radius * angle.0.sin();
|
||||
|
||||
frame.fill_text(canvas::Text {
|
||||
content: format!("{}", hour),
|
||||
content: format!("{hour}"),
|
||||
size: (radius / 5.0).into(),
|
||||
position: Point::new(x * 0.82, y * 0.82),
|
||||
color: palette.secondary.strong.text,
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ impl ColorPalette {
|
|||
self.theme = Theme::new(to_color(srgb));
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let base = self.theme.base;
|
||||
|
||||
let srgb = to_rgb(base);
|
||||
|
|
@ -149,7 +149,7 @@ impl Theme {
|
|||
.chain(self.higher.iter())
|
||||
}
|
||||
|
||||
pub fn view(&self) -> Element<Message> {
|
||||
pub fn view(&self) -> Element<'_, Message> {
|
||||
Canvas::new(self).width(Fill).height(Fill).into()
|
||||
}
|
||||
|
||||
|
|
@ -296,7 +296,7 @@ trait ColorSpace: Sized {
|
|||
}
|
||||
|
||||
impl<C: ColorSpace + Copy> ColorPicker<C> {
|
||||
fn view(&self, color: C) -> Element<C> {
|
||||
fn view(&self, color: C) -> Element<'_, C> {
|
||||
let [c1, c2, c3] = color.components();
|
||||
let [cr1, cr2, cr3] = C::COMPONENT_RANGES;
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let combo_box = combo_box(
|
||||
&self.languages,
|
||||
"Type a language...",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ impl Counter {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Column<Message> {
|
||||
fn view(&self) -> Column<'_, Message> {
|
||||
column![
|
||||
button("Increment").on_press(Message::Increment),
|
||||
text(self.value).size(50),
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let border::Radius {
|
||||
top_left,
|
||||
top_right,
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let content = column![
|
||||
circle(self.radius),
|
||||
text!("Radius: {:.2}", self.radius),
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let downloads =
|
||||
Column::with_children(self.downloads.iter().map(Download::view))
|
||||
.push(
|
||||
|
|
@ -152,7 +152,7 @@ impl Download {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn view(&self) -> Element<Message> {
|
||||
pub fn view(&self) -> Element<'_, Message> {
|
||||
let current_progress = match &self.state {
|
||||
State::Idle => 0.0,
|
||||
State::Downloading { progress, .. } => *progress,
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ impl Editor {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let controls = row![
|
||||
action(new_icon(), "New file", Some(Message::NewFile)),
|
||||
action(
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ impl Events {
|
|||
event::listen().map(Message::EventOccurred)
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let events = Column::with_children(
|
||||
self.last
|
||||
.iter()
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ impl Exit {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let content = if self.show_confirm {
|
||||
column![
|
||||
"Are you sure you want to exit?",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ impl Image {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let i_am_ferris = column![
|
||||
"Hello!",
|
||||
Element::from(
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ impl GameOfLife {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let version = self.version;
|
||||
let selected_speed = self.next_speed.unwrap_or(self.speed);
|
||||
let controls = view_controls(
|
||||
|
|
@ -320,7 +320,7 @@ mod grid {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn view(&self) -> Element<Message> {
|
||||
pub fn view(&self) -> Element<'_, Message> {
|
||||
Canvas::new(self).width(Fill).height(Fill).into()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ impl Gradient {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let Self {
|
||||
start,
|
||||
end,
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ impl Controls {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn view(&self) -> Element<Message, Theme, Renderer> {
|
||||
pub fn view(&self) -> Element<'_, Message, Theme, Renderer> {
|
||||
let background_color = self.background_color;
|
||||
|
||||
let sliders = row![
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ impl Layout {
|
|||
})
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let header = row![
|
||||
text(self.example.title).size(20).font(Font::MONOSPACE),
|
||||
horizontal_space(),
|
||||
|
|
@ -121,7 +121,7 @@ impl Layout {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, Eq)]
|
||||
struct Example {
|
||||
title: &'static str,
|
||||
view: fn() -> Element<'static, Message>,
|
||||
|
|
@ -190,7 +190,7 @@ impl Example {
|
|||
Self::LIST.get(index + 1).copied().unwrap_or(self)
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
(self.view)()
|
||||
}
|
||||
}
|
||||
|
|
@ -201,6 +201,12 @@ impl Default for Example {
|
|||
}
|
||||
}
|
||||
|
||||
impl PartialEq for Example {
|
||||
fn eq(&self, other: &Self) -> bool {
|
||||
self.title == other.title
|
||||
}
|
||||
}
|
||||
|
||||
fn centered<'a>() -> Element<'a, Message> {
|
||||
center(text("I am centered!").size(50)).into()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ impl App {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let options = lazy(self.version, |_| {
|
||||
let mut items: Vec<_> = self.items.iter().cloned().collect();
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ impl LoadingSpinners {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let column = [
|
||||
&easing::EMPHASIZED,
|
||||
&easing::EMPHASIZED_DECELERATE,
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ impl Loupe {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
center(loupe(
|
||||
3.0,
|
||||
column![
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ Now, let's show the actual counter by putting it all together in our __view logi
|
|||
use iced::widget::{button, column, text, Column};
|
||||
|
||||
impl Counter {
|
||||
pub fn view(&self) -> Column<Message> {
|
||||
pub fn view(&self) -> Column<'_, Message> {
|
||||
// We use a column: a simple vertical layout
|
||||
column![
|
||||
// The increment button. We tell it to produce an
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ impl Markdown {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let editor = text_editor(&self.raw)
|
||||
.placeholder("Type your Markdown here...")
|
||||
.on_action(Message::Edit)
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ impl App {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let content = container(
|
||||
column![
|
||||
row![text("Top Left"), horizontal_space(), text("Top Right")]
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self, window_id: window::Id) -> Element<Message> {
|
||||
fn view(&self, window_id: window::Id) -> Element<'_, Message> {
|
||||
if let Some(window) = self.windows.get(&window_id) {
|
||||
center(window.view(window_id)).into()
|
||||
} else {
|
||||
|
|
@ -161,14 +161,14 @@ impl Example {
|
|||
impl Window {
|
||||
fn new(count: usize) -> Self {
|
||||
Self {
|
||||
title: format!("Window_{}", count),
|
||||
title: format!("Window_{count}"),
|
||||
scale_input: "1.0".to_string(),
|
||||
current_scale: 1.0,
|
||||
theme: Theme::ALL[count % Theme::ALL.len()].clone(),
|
||||
}
|
||||
}
|
||||
|
||||
fn view(&self, id: window::Id) -> Element<Message> {
|
||||
fn view(&self, id: window::Id) -> Element<'_, Message> {
|
||||
let scale_input = column![
|
||||
text("Window scale factor:"),
|
||||
text_input("Window Scale", &self.scale_input)
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ impl Multitouch {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
Canvas::new(self).width(Fill).height(Fill).into()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ impl Example {
|
|||
})
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let focus = self.focus;
|
||||
let total_panes = self.panes.len();
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let pick_list = pick_list(
|
||||
&Language::ALL[..],
|
||||
self.selected_language,
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ impl Pokedex {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let content: Element<_> = match self {
|
||||
Pokedex::Loading => {
|
||||
text("Searching for Pokémon...").size(40).into()
|
||||
|
|
@ -100,7 +100,7 @@ struct Pokemon {
|
|||
impl Pokemon {
|
||||
const TOTAL: u16 = 807;
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
row![
|
||||
image::viewer(self.image.clone()),
|
||||
column![
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ impl Progress {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let bar = progress_bar(0.0..=100.0, self.value);
|
||||
|
||||
column![
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ impl QRGenerator {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let title = text("QR Code Generator").size(70);
|
||||
|
||||
let input =
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ impl Example {
|
|||
|png_result| match png_result {
|
||||
Ok(path) => format!("Png saved as: {path:?}!"),
|
||||
Err(PngError(error)) => {
|
||||
format!("Png could not be saved due to:\n{}", error)
|
||||
format!("Png could not be saved due to:\n{error}")
|
||||
}
|
||||
},
|
||||
);
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ impl ScrollableDemo {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let scrollbar_width_slider = slider(
|
||||
0..=15,
|
||||
self.scrollbar_width,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
use iced::mouse;
|
||||
use iced::widget::canvas::{self, Canvas, Event, Geometry};
|
||||
use iced::widget::{column, row, slider, text};
|
||||
use iced::{Center, Color, Fill, Point, Rectangle, Renderer, Size, Theme};
|
||||
use iced::{
|
||||
Center, Color, Element, Fill, Point, Rectangle, Renderer, Size, Theme,
|
||||
};
|
||||
|
||||
use rand::Rng;
|
||||
use std::fmt::Debug;
|
||||
|
|
@ -46,7 +48,7 @@ impl SierpinskiEmulator {
|
|||
self.graph.redraw();
|
||||
}
|
||||
|
||||
fn view(&self) -> iced::Element<'_, Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
column![
|
||||
Canvas::new(&self.graph).width(Fill).height(Fill),
|
||||
row![
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ impl Slider {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let h_slider = container(
|
||||
slider(1..=100, self.value, Message::SliderChanged)
|
||||
.default(50)
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ impl SolarSystem {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
canvas(&self.state).width(Fill).height(Fill).into()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ impl Stopwatch {
|
|||
Subscription::batch(vec![tick, keyboard::on_key_press(handle_hotkey)])
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
const MINUTE: u64 = 60;
|
||||
const HOUR: u64 = 60 * MINUTE;
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
12ba47a34ed415825a23f8ef377a2d52950d2f8614a66bf46c0ec28d0cf15c85
|
||||
30570747bb062e9f7730cdd58be961c84bcf4711a6983185bff6d903e8d29e9c
|
||||
|
|
@ -1 +1 @@
|
|||
78d3afadbdca4a992c662541d602850e0dec0abafa585e2a3078daa1be5998b8
|
||||
d5a086a08544f98087189bd4ece8815e5290722a07cd580b933f1bf77a040c52
|
||||
|
|
@ -1 +1 @@
|
|||
4e594cfec775d51f7f836646c59bf4a2de07252721d66ddddea69c17e9112bae
|
||||
30e523961db89a3ee97ad1eac09e727ecb3dec485faa362534a9f5ad083b32dd
|
||||
|
|
@ -1 +1 @@
|
|||
2ab665b51387c61086ae0199c29e291105bfe4583bd4c4daa652e30917f10bd6
|
||||
bce5427d5105f68e1d7fa18a34fcc551cb78c2fefd9a583ba44686331133436d
|
||||
|
|
@ -1 +1 @@
|
|||
61c9ee377b33ffa800f512877e45ad5f41fbac36f5d3f06d1b62d6af6ee9d7b2
|
||||
c8a7edbd5a8bbf559134b84253e14e65340f4ffe3e22c272b21c8438e47ffaf7
|
||||
|
|
@ -1 +1 @@
|
|||
75f2fb12c9090a256708515de01a25e78905f71e134b7cda79f4fe44b2434052
|
||||
63d646b22d3dffbb56dac2e3f345090bd26625a388dd6cc142359f2a7ac9c8df
|
||||
|
|
@ -1 +1 @@
|
|||
b4a1b42d2e21b2a493605745e6beb8e1f28cbeb01b73336e1e8d9061249a8311
|
||||
d26f55674cbd96bc3b534ffdd098a13199718ef9c5ffe8ece0882ddab714b776
|
||||
|
|
@ -1 +1 @@
|
|||
eb52921b3ee23e1814268701c935d0dff387e7eb741c50443f75a7ab902b5e44
|
||||
482c44c13d4ff3de19e71f3dddf93bbee170e54e2d353e818811069de28e18ed
|
||||
|
|
@ -1 +1 @@
|
|||
bf6c4cbd6eeed0167d28509e37292f5ce26ed1d58bb156bedb861d0619a1945b
|
||||
6738cc4fc6eb8a5d406c613a4b0f08c0e8dcd2c1a5444445eebd3888f9303841
|
||||
|
|
@ -1 +1 @@
|
|||
83726a4175900a9ef159b80925f2fa985b4ea87bff78d8bb01918fb6c40d6175
|
||||
0a918c52538fc4848aa0c68d8f2d6f4c981ed68971dd9c725f0093a39ef7f353
|
||||
|
|
@ -1 +1 @@
|
|||
54c8d44afbdd644f324cf40e744b3d7871263e44de2d9a91f6c10470c38ac3c6
|
||||
de3e1a2c21e1a86d76ca99989c73e8a2596ef627bba95d246fab8f02d56bd0af
|
||||
|
|
@ -1 +1 @@
|
|||
5713843396e2efcfc7cc8abd00343d5d66ce8b8a195212a9b75dbfeec8edf7a7
|
||||
3418ea4eb0f7786607ef02e7db4bc97309530f2f7c08f8aea15c768a13a09ca4
|
||||
|
|
@ -1 +1 @@
|
|||
f1b20ab79f8242776d9eb1ad9cff7090435aa416811c48a7c22c69b09cd8e70f
|
||||
c8474e02a9df23f123816a489c1ea7ae6cb994a0eca429592dfe6d933de1beee
|
||||
|
|
@ -1 +1 @@
|
|||
2c4be9dc1340b65cad6d15d5318017412eba1247a016379b83db379dde0214af
|
||||
02095fd09c078be02dc41e29e55de25e8a79e6ad4293aa7e430257a9016dfb3d
|
||||
|
|
@ -1 +1 @@
|
|||
2d5d6b9613ccb6a2f23142baf704288037808e7a60ee05bdc73490d8c8780064
|
||||
d82588a2aba3e7211f25b85ebb812a42dfa59137dd4b59d26f5f60d5b28e537f
|
||||
|
|
@ -1 +1 @@
|
|||
512b8dfd4687a609d202436e75ecf1a5553acc2157000e77e31c1578941b033c
|
||||
d6b73545929cc7794c1a918f069b5326ef129bed8f9ad2cd001be7d078a2b6a0
|
||||
|
|
@ -1 +1 @@
|
|||
4b3b7a2dc65307a3551227f1c5d2bb49da15d29e320ccaa160e3d9fca44c1037
|
||||
0ec7251c69755becd678b7aec398a275edf31cc077960723cd6b9364e8678548
|
||||
|
|
@ -1 +1 @@
|
|||
be1f056f0decaee8c138cd038e3e34352f02448b77c1e251796a8f0be8086913
|
||||
4a15c475d45cf8eb0ccd6727cf6e493bd8c22454610b167a632a2328308faed1
|
||||
|
|
@ -1 +1 @@
|
|||
31a7a46ed7951d69e1a29ab595d241e689cacdf66cea53dda6609db4927070e5
|
||||
49a41af93e89aab0a4e352e9cedfba3c6e18caf4267955c9d362bad40264a165
|
||||
|
|
@ -1 +1 @@
|
|||
5eab001ed1aeeea3f24fe18e4aab9b8522cb35ac1328d7ca3532dbdfdf95780f
|
||||
8fcd80d4569dafdac4b4452b8ca8ab0cdceeb755f3c83d374ccd5ed4d0e8d43d
|
||||
|
|
@ -1 +1 @@
|
|||
2fed695daa4c3da56f744832a041060704310a97d65820c97d556d297dfb271a
|
||||
c37a32784c769c046f3aa881914b121af373b8c6e175ced89304d15b626a653a
|
||||
|
|
@ -1 +1 @@
|
|||
0ecd51994f6eb37f111dc1b21cad72bb705499eb83156e9dc3ae2221ec392a42
|
||||
533d25575e8bf1111036fb082b424d0d0e60947a7da8428ab8c71e0bda01469e
|
||||
|
|
@ -65,7 +65,7 @@ impl Styling {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let choose_theme = column![
|
||||
text("Theme:"),
|
||||
pick_list(Theme::ALL, Some(&self.theme), Message::ThemeChanged)
|
||||
|
|
@ -126,7 +126,7 @@ impl Styling {
|
|||
|
||||
let content = column![
|
||||
choose_theme,
|
||||
horizontal_rule(38),
|
||||
horizontal_rule(1),
|
||||
text_input,
|
||||
row![primary, success, warning, danger]
|
||||
.spacing(10)
|
||||
|
|
@ -135,8 +135,8 @@ impl Styling {
|
|||
progress_bar(),
|
||||
row![
|
||||
scrollable,
|
||||
vertical_rule(38),
|
||||
column![checkbox, toggler].spacing(20)
|
||||
row![vertical_rule(1), column![checkbox, toggler].spacing(20)]
|
||||
.spacing(20)
|
||||
]
|
||||
.spacing(10)
|
||||
.height(100)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ impl Tiger {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let handle = svg::Handle::from_path(format!(
|
||||
"{}/resources/tiger.svg",
|
||||
env!("CARGO_MANIFEST_DIR")
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
use bytesize::ByteSize;
|
||||
|
||||
let content: Element<_> = match self {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl TheMatrix {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
canvas(self).width(Fill).height(Fill).into()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -613,12 +613,11 @@ mod toast {
|
|||
&self.viewport,
|
||||
renderer,
|
||||
)
|
||||
.max(
|
||||
cursor
|
||||
.is_over(layout.bounds())
|
||||
.then_some(mouse::Interaction::Idle)
|
||||
.unwrap_or_default(),
|
||||
)
|
||||
.max(if cursor.is_over(layout.bounds()) {
|
||||
mouse::Interaction::Idle
|
||||
} else {
|
||||
Default::default()
|
||||
})
|
||||
})
|
||||
.max()
|
||||
.unwrap_or_default()
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ impl Todos {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
match self {
|
||||
Todos::Loading => loading_message(),
|
||||
Todos::Loaded(State {
|
||||
|
|
@ -338,7 +338,7 @@ impl Task {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self, i: usize) -> Element<TaskMessage> {
|
||||
fn view(&self, i: usize) -> Element<'_, TaskMessage> {
|
||||
match &self.state {
|
||||
TaskState::Idle => {
|
||||
let checkbox = checkbox(&self.description, self.completed)
|
||||
|
|
@ -385,7 +385,10 @@ impl Task {
|
|||
}
|
||||
}
|
||||
|
||||
fn view_controls(tasks: &[Task], current_filter: Filter) -> Element<Message> {
|
||||
fn view_controls(
|
||||
tasks: &[Task],
|
||||
current_filter: Filter,
|
||||
) -> Element<'_, Message> {
|
||||
let tasks_left = tasks.iter().filter(|task| !task.completed).count();
|
||||
|
||||
let filter_button = |label, filter, current_filter| {
|
||||
|
|
@ -617,7 +620,7 @@ mod tests {
|
|||
use iced_test::selector::id;
|
||||
use iced_test::{Error, Simulator};
|
||||
|
||||
fn simulator(todos: &Todos) -> Simulator<Message> {
|
||||
fn simulator(todos: &Todos) -> Simulator<'_, Message> {
|
||||
Simulator::with_settings(
|
||||
Settings {
|
||||
fonts: vec![Todos::ICON_FONT.into()],
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ impl Tooltip {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let tooltip = tooltip(
|
||||
button("Press to change position")
|
||||
.on_press(Message::ChangePosition),
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ impl Tour {
|
|||
Screen::End => "End",
|
||||
};
|
||||
|
||||
format!("{} - Iced", screen)
|
||||
format!("{screen} - Iced")
|
||||
}
|
||||
|
||||
fn update(&mut self, event: Message) {
|
||||
|
|
@ -141,7 +141,7 @@ impl Tour {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let controls =
|
||||
row![]
|
||||
.push_maybe(self.screen.previous().is_some().then(|| {
|
||||
|
|
@ -197,7 +197,7 @@ impl Tour {
|
|||
}
|
||||
}
|
||||
|
||||
fn welcome(&self) -> Column<Message> {
|
||||
fn welcome(&self) -> Column<'_, Message> {
|
||||
Self::container("Welcome!")
|
||||
.push(
|
||||
"This is a simple tour meant to showcase a bunch of \
|
||||
|
|
@ -244,7 +244,7 @@ impl Tour {
|
|||
)
|
||||
}
|
||||
|
||||
fn slider(&self) -> Column<Message> {
|
||||
fn slider(&self) -> Column<'_, Message> {
|
||||
Self::container("Slider")
|
||||
.push(
|
||||
"A slider allows you to smoothly select a value from a range \
|
||||
|
|
@ -258,7 +258,7 @@ impl Tour {
|
|||
.push(text(self.slider.to_string()).width(Fill).align_x(Center))
|
||||
}
|
||||
|
||||
fn rows_and_columns(&self) -> Column<Message> {
|
||||
fn rows_and_columns(&self) -> Column<'_, Message> {
|
||||
let row_radio = radio(
|
||||
"Row",
|
||||
Layout::Row,
|
||||
|
|
@ -303,7 +303,7 @@ impl Tour {
|
|||
.push(spacing_section)
|
||||
}
|
||||
|
||||
fn text(&self) -> Column<Message> {
|
||||
fn text(&self) -> Column<'_, Message> {
|
||||
let size = self.text_size;
|
||||
let color = self.text_color;
|
||||
|
||||
|
|
@ -339,7 +339,7 @@ impl Tour {
|
|||
.push(color_section)
|
||||
}
|
||||
|
||||
fn radio(&self) -> Column<Message> {
|
||||
fn radio(&self) -> Column<'_, Message> {
|
||||
let question = column![
|
||||
text("Iced is written in...").size(24),
|
||||
column(
|
||||
|
|
@ -374,7 +374,7 @@ impl Tour {
|
|||
)
|
||||
}
|
||||
|
||||
fn toggler(&self) -> Column<Message> {
|
||||
fn toggler(&self) -> Column<'_, Message> {
|
||||
Self::container("Toggler")
|
||||
.push("A toggler is mostly used to enable or disable something.")
|
||||
.push(
|
||||
|
|
@ -387,7 +387,7 @@ impl Tour {
|
|||
)
|
||||
}
|
||||
|
||||
fn image(&self) -> Column<Message> {
|
||||
fn image(&self) -> Column<'_, Message> {
|
||||
let width = self.image_width;
|
||||
let filter_method = self.image_filter_method;
|
||||
|
||||
|
|
@ -406,7 +406,7 @@ impl Tour {
|
|||
.align_x(Center)
|
||||
}
|
||||
|
||||
fn scrollable(&self) -> Column<Message> {
|
||||
fn scrollable(&self) -> Column<'_, Message> {
|
||||
Self::container("Scrollable")
|
||||
.push(
|
||||
"Iced supports scrollable content. Try it out! Find the \
|
||||
|
|
@ -428,7 +428,7 @@ impl Tour {
|
|||
.push(text("You made it!").width(Fill).size(50).align_x(Center))
|
||||
}
|
||||
|
||||
fn text_input(&self) -> Column<Message> {
|
||||
fn text_input(&self) -> Column<'_, Message> {
|
||||
let value = &self.input_value;
|
||||
let is_secure = self.input_is_secure;
|
||||
let is_showing_icon = self.input_is_showing_icon;
|
||||
|
|
@ -474,7 +474,7 @@ impl Tour {
|
|||
)
|
||||
}
|
||||
|
||||
fn debugger(&self) -> Column<Message> {
|
||||
fn debugger(&self) -> Column<'_, Message> {
|
||||
Self::container("Debugger")
|
||||
.push(
|
||||
"You can ask Iced to visually explain the layouting of the \
|
||||
|
|
@ -491,7 +491,7 @@ impl Tour {
|
|||
.push("Feel free to go back and take a look.")
|
||||
}
|
||||
|
||||
fn end(&self) -> Column<Message> {
|
||||
fn end(&self) -> Column<'_, Message> {
|
||||
Self::container("You reached the end!")
|
||||
.push("This tour will be updated as more features are added.")
|
||||
.push("Make sure to keep an eye on it!")
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ impl App {
|
|||
event::listen_url().map(Message::UrlReceived)
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let content = match &self.url {
|
||||
Some(url) => text(url),
|
||||
None => text("No URL received yet!"),
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ impl VectorialText {
|
|||
self.state.cache.clear();
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let slider_with_label = |label, range, value, message: fn(f32) -> _| {
|
||||
column![
|
||||
row![text(label), horizontal_space(), text!("{:.2}", value)],
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ impl Example {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let data_row = |label, value, color| {
|
||||
row![
|
||||
text(label),
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ impl WebSocket {
|
|||
])
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let message_log: Element<_> = if self.messages.is_empty() {
|
||||
center(
|
||||
text("Your messages will appear here...")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue