From 19fb8caee81bf8856f11772ed47196cbda7b2e3d Mon Sep 17 00:00:00 2001 From: Yusuf Bera Ertan Date: Tue, 18 Aug 2020 14:28:22 +0300 Subject: [PATCH] disallow creating tooltip's without hover_content, change the example accordingly --- examples/tooltip/src/main.rs | 6 ++++-- native/src/widget/tooltip.rs | 19 ++++--------------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/examples/tooltip/src/main.rs b/examples/tooltip/src/main.rs index 64798463fd..56b10a92f3 100644 --- a/examples/tooltip/src/main.rs +++ b/examples/tooltip/src/main.rs @@ -24,8 +24,10 @@ impl Sandbox for Example { fn update(&mut self, _message: Message) {} fn view(&mut self) -> Element { - let tooltip = Tooltip::new(Text::new("hello").size(60)) - .hover_content(Text::new("hello but smaller").size(30)); + let tooltip = Tooltip::new( + Text::new("hello").size(60), + Text::new("hello but smaller").size(30), + ); Container::new(tooltip) .width(Length::Fill) diff --git a/native/src/widget/tooltip.rs b/native/src/widget/tooltip.rs index 26ff9ad79f..1ed18ad12b 100644 --- a/native/src/widget/tooltip.rs +++ b/native/src/widget/tooltip.rs @@ -11,7 +11,7 @@ use crate::{ pub struct Tooltip<'a, Message, Renderer: self::Renderer> { state: State, content: Element<'a, Message, Renderer>, - hover_content: Option>, + hover_content: Element<'a, Message, Renderer>, } impl<'a, Message, Renderer> Tooltip<'a, Message, Renderer> @@ -21,27 +21,16 @@ where /// Creates an empty [`Tooltip`]. /// /// [`Tooltip`]: struct.Tooltip.html - pub fn new(content: T) -> Self + pub fn new(content: T, hover_content: T) -> Self where T: Into>, { Tooltip { state: Default::default(), content: content.into(), - hover_content: None, + hover_content: hover_content.into(), } } - - /// Sets the hover_content of the [`Tooltip`]. - /// - /// [`Tooltip`]: struct.Tooltip.html - pub fn hover_content(mut self, hover_content: T) -> Self - where - T: Into>, - { - self.hover_content = Some(hover_content.into()); - self - } } #[derive(Debug, Default)] @@ -126,7 +115,7 @@ where if layout.bounds().contains(self.state.cursor_position) { Some(overlay::Element::new( self.state.cursor_position, - Box::new(Overlay::new(self.hover_content.as_ref()?)), + Box::new(Overlay::new(&self.hover_content)), )) } else { None