dock: Add item to tiles layout should use default TabPanel view (#645)

This commit is contained in:
ihavecoke 2025-02-23 22:22:27 +08:00 committed by GitHub
parent 03d5f83a83
commit c303b84303
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -343,11 +343,19 @@ impl DockItem {
stack_panel.add_panel(new_item.view(), None, dock_area.clone(), window, cx);
});
}
Self::Tiles { view, .. } => {
Self::Tiles { view, items } => {
let tile_item = TileItem::new(
Arc::new(cx.new(|cx| {
let mut tab_panel = TabPanel::new(None, dock_area.clone(), window, cx);
tab_panel.add_panel(panel.clone(), window, cx);
tab_panel
})),
bounds.unwrap_or_else(|| TileMeta::default().bounds),
);
items.push(tile_item.clone());
view.update(cx, |tiles, cx| {
let bounds = bounds.unwrap_or_else(|| TileMeta::default().bounds);
tiles.add_item(TileItem::new(panel.clone(), bounds), dock_area, window, cx);
cx.notify();
tiles.add_item(tile_item, dock_area, window, cx);
});
}
Self::Panel { .. } => {}