Add elided lifetimes to view helpers in examples
This commit is contained in:
parent
bde4572bc5
commit
5ca5000cdc
50 changed files with 95 additions and 84 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()
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
@ -168,7 +168,7 @@ impl Window {
|
|||
}
|
||||
}
|
||||
|
||||
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 =
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ impl Todos {
|
|||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
match self {
|
||||
Todos::Loading => loading_message(),
|
||||
Todos::Loaded(State {
|
||||
|
|
@ -334,7 +334,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)
|
||||
|
|
@ -381,7 +381,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| {
|
||||
|
|
@ -580,7 +583,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),
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ impl WebSocket {
|
|||
Subscription::run(echo::connect).map(Message::Echo)
|
||||
}
|
||||
|
||||
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...")
|
||||
|
|
|
|||
22
src/lib.rs
22
src/lib.rs
|
|
@ -34,7 +34,7 @@
|
|||
//! iced::run(update, view)
|
||||
//! }
|
||||
//! # fn update(state: &mut (), message: ()) {}
|
||||
//! # fn view(state: &()) -> iced::Element<()> { iced::widget::text("").into() }
|
||||
//! # fn view(state: &()) -> iced::Element<'_, ()> { iced::widget::text("").into() }
|
||||
//! ```
|
||||
//!
|
||||
//! Define an `update` function to __change__ your state:
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
//! use iced::widget::{button, text};
|
||||
//! use iced::Element;
|
||||
//!
|
||||
//! fn view(counter: &u64) -> Element<Message> {
|
||||
//! fn view(counter: &u64) -> Element<'_, Message> {
|
||||
//! button(text(counter)).on_press(Message::Increment).into()
|
||||
//! }
|
||||
//! # #[derive(Clone)]
|
||||
|
|
@ -95,7 +95,7 @@
|
|||
//! }
|
||||
//! }
|
||||
//!
|
||||
//! fn view(counter: &Counter) -> Element<Message> {
|
||||
//! fn view(counter: &Counter) -> Element<'_, Message> {
|
||||
//! button(text(counter.value)).on_press(Message::Increment).into()
|
||||
//! }
|
||||
//! ```
|
||||
|
|
@ -115,7 +115,7 @@
|
|||
//! use iced::widget::{button, column, text};
|
||||
//! use iced::Element;
|
||||
//!
|
||||
//! fn view(counter: &Counter) -> Element<Message> {
|
||||
//! fn view(counter: &Counter) -> Element<'_, Message> {
|
||||
//! column![
|
||||
//! text(counter.value).size(20),
|
||||
//! button("Increment").on_press(Message::Increment),
|
||||
|
|
@ -144,7 +144,7 @@
|
|||
//! use iced::widget::{column, container, row};
|
||||
//! use iced::{Fill, Element};
|
||||
//!
|
||||
//! fn view(state: &State) -> Element<Message> {
|
||||
//! fn view(state: &State) -> Element<'_, Message> {
|
||||
//! container(
|
||||
//! column![
|
||||
//! "Top",
|
||||
|
|
@ -187,7 +187,7 @@
|
|||
//! use iced::widget::container;
|
||||
//! use iced::Element;
|
||||
//!
|
||||
//! fn view(state: &State) -> Element<Message> {
|
||||
//! fn view(state: &State) -> Element<'_, Message> {
|
||||
//! container("I am 300px tall!").height(300).into()
|
||||
//! }
|
||||
//! ```
|
||||
|
|
@ -216,7 +216,7 @@
|
|||
//! Theme::TokyoNight
|
||||
//! }
|
||||
//! # fn update(state: &mut State, message: ()) {}
|
||||
//! # fn view(state: &State) -> iced::Element<()> { iced::widget::text("").into() }
|
||||
//! # fn view(state: &State) -> iced::Element<'_, ()> { iced::widget::text("").into() }
|
||||
//! ```
|
||||
//!
|
||||
//! The `theme` function takes the current state of the application, allowing the
|
||||
|
|
@ -237,7 +237,7 @@
|
|||
//! use iced::widget::container;
|
||||
//! use iced::Element;
|
||||
//!
|
||||
//! fn view(state: &State) -> Element<Message> {
|
||||
//! fn view(state: &State) -> Element<'_, Message> {
|
||||
//! container("I am a rounded box!").style(container::rounded_box).into()
|
||||
//! }
|
||||
//! ```
|
||||
|
|
@ -252,7 +252,7 @@
|
|||
//! use iced::widget::button;
|
||||
//! use iced::{Element, Theme};
|
||||
//!
|
||||
//! fn view(state: &State) -> Element<Message> {
|
||||
//! fn view(state: &State) -> Element<'_, Message> {
|
||||
//! button("I am a styled button!").style(|theme: &Theme, status| {
|
||||
//! let palette = theme.extended_palette();
|
||||
//!
|
||||
|
|
@ -359,7 +359,7 @@
|
|||
//! }
|
||||
//! # fn new() -> State { State }
|
||||
//! # fn update(state: &mut State, message: Message) {}
|
||||
//! # fn view(state: &State) -> iced::Element<Message> { iced::widget::text("").into() }
|
||||
//! # fn view(state: &State) -> iced::Element<'_, Message> { iced::widget::text("").into() }
|
||||
//! ```
|
||||
//!
|
||||
//! A [`Subscription`] is [a _declarative_ builder of streams](Subscription#the-lifetime-of-a-subscription)
|
||||
|
|
@ -452,7 +452,7 @@
|
|||
//! }
|
||||
//! }
|
||||
//!
|
||||
//! fn view(state: &State) -> Element<Message> {
|
||||
//! fn view(state: &State) -> Element<'_, Message> {
|
||||
//! match &state.screen {
|
||||
//! Screen::Contacts(contacts) => contacts.view().map(Message::Contacts),
|
||||
//! Screen::Conversation(conversation) => conversation.view().map(Message::Conversation),
|
||||
|
|
|
|||
|
|
@ -339,8 +339,8 @@ impl Span {
|
|||
///
|
||||
/// fn view(&self) -> Element<'_, Message> {
|
||||
/// markdown::view(&self.markdown, Theme::TokyoNight)
|
||||
/// .map(Message::LinkClicked)
|
||||
/// .into()
|
||||
/// .map(Message::LinkClicked)
|
||||
/// .into()
|
||||
/// }
|
||||
///
|
||||
/// fn update(state: &mut State, message: Message) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue