improv(widget/headerbar): Allow owned string (#73)
This commit is contained in:
parent
2c1216c725
commit
b6c09aaa85
1 changed files with 5 additions and 3 deletions
|
|
@ -5,11 +5,12 @@ use crate::{theme, Element};
|
||||||
use apply::Apply;
|
use apply::Apply;
|
||||||
use derive_setters::Setters;
|
use derive_setters::Setters;
|
||||||
use iced::{self, widget, Length};
|
use iced::{self, widget, Length};
|
||||||
|
use std::borrow::Cow;
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn header_bar<'a, Message>() -> HeaderBar<'a, Message> {
|
pub fn header_bar<'a, Message>() -> HeaderBar<'a, Message> {
|
||||||
HeaderBar {
|
HeaderBar {
|
||||||
title: "",
|
title: "".into(),
|
||||||
on_close: None,
|
on_close: None,
|
||||||
on_drag: None,
|
on_drag: None,
|
||||||
on_maximize: None,
|
on_maximize: None,
|
||||||
|
|
@ -22,7 +23,8 @@ pub fn header_bar<'a, Message>() -> HeaderBar<'a, Message> {
|
||||||
|
|
||||||
#[derive(Setters)]
|
#[derive(Setters)]
|
||||||
pub struct HeaderBar<'a, Message> {
|
pub struct HeaderBar<'a, Message> {
|
||||||
title: &'a str,
|
#[setters(into)]
|
||||||
|
title: Cow<'a, str>,
|
||||||
#[setters(strip_option)]
|
#[setters(strip_option)]
|
||||||
on_close: Option<Message>,
|
on_close: Option<Message>,
|
||||||
#[setters(strip_option)]
|
#[setters(strip_option)]
|
||||||
|
|
@ -88,7 +90,7 @@ impl<'a, Message: Clone + 'static> HeaderBar<'a, Message> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn title_widget(&self) -> Element<'a, Message> {
|
fn title_widget(&self) -> Element<'a, Message> {
|
||||||
widget::container(widget::text(self.title))
|
widget::container(widget::text(self.title.clone()))
|
||||||
.center_x()
|
.center_x()
|
||||||
.center_y()
|
.center_y()
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue