root: Improve new method argument to use into <AnyView>. (#1594)

This commit is contained in:
Jason Lee 2025-11-14 11:02:44 +08:00 committed by GitHub
parent cf6d6b71a3
commit 69b21142dc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 7 additions and 6 deletions

View file

@ -404,7 +404,7 @@ impl StoryWorkspace {
let window = cx.open_window(options, |window, cx| {
let story_view = cx.new(|cx| StoryWorkspace::new(window, cx));
cx.new(|cx| Root::new(story_view.into(), window, cx))
cx.new(|cx| Root::new(story_view, window, cx))
})?;
window

View file

@ -379,7 +379,7 @@ impl StoryTiles {
let window = cx.open_window(options, |window, cx| {
let tiles_view = cx.new(|cx| Self::new(window, cx));
cx.new(|cx| Root::new(tiles_view.into(), window, cx))
cx.new(|cx| Root::new(tiles_view, window, cx))
})?;
window

View file

@ -224,7 +224,7 @@ pub fn create_new_window_with_size<F, E>(
let view = crate_view_fn(window, cx);
let root = cx.new(|cx| StoryRoot::new(title.clone(), view, window, cx));
cx.new(|cx| Root::new(root.into(), window, cx))
cx.new(|cx| Root::new(root, window, cx))
})
.expect("failed to open window");

View file

@ -235,7 +235,8 @@ pub(crate) struct ActiveDialog {
}
impl Root {
pub fn new(view: AnyView, window: &mut Window, cx: &mut Context<Self>) -> Self {
/// Create a new Root view.
pub fn new(view: impl Into<AnyView>, window: &mut Window, cx: &mut Context<Self>) -> Self {
Self {
previous_focus_handle: None,
active_sheet: None,
@ -243,7 +244,7 @@ impl Root {
focused_input: None,
notification: cx.new(|cx| NotificationList::new(window, cx)),
sheet_size: None,
view,
view: view.into(),
}
}

View file

@ -54,7 +54,7 @@ fn main() {
cx.open_window(WindowOptions::default(), |window, cx| {
let view = cx.new(|_| Example);
// The first level on the window must be Root.
cx.new(|cx| Root::new(view.into(), window, cx))
cx.new(|cx| Root::new(view, window, cx))
})?;
Ok::<_, anyhow::Error>(())