Unify Flexible and Expanded elements

We'll use the name Expanded for something else now.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
Max Brunsfeld 2022-01-06 17:29:34 -08:00
parent b19d92e918
commit 1f762e482d
11 changed files with 58 additions and 145 deletions

View file

@ -1191,50 +1191,40 @@ impl View for Workspace {
fn render(&mut self, cx: &mut RenderContext<Self>) -> ElementBox {
let settings = self.settings.borrow();
let theme = &settings.theme;
Container::new(
Flex::column()
.with_child(self.render_titlebar(&theme, cx))
.with_child(
Expanded::new(
1.0,
Stack::new()
.with_child({
let mut content = Flex::row();
content.add_child(self.left_sidebar.render(&settings, cx));
if let Some(element) =
self.left_sidebar.render_active_item(&settings, cx)
{
content.add_child(Flexible::new(0.8, element).boxed());
}
content.add_child(
Flex::column()
.with_child(
Expanded::new(1.0, self.center.render(&settings.theme))
.boxed(),
)
.with_child(ChildView::new(self.status_bar.id()).boxed())
.expanded(1.)
Flex::column()
.with_child(self.render_titlebar(&theme, cx))
.with_child(
Stack::new()
.with_child({
let mut content = Flex::row();
content.add_child(self.left_sidebar.render(&settings, cx));
if let Some(element) = self.left_sidebar.render_active_item(&settings, cx) {
content.add_child(Flexible::new(0.8, false, element).boxed());
}
content.add_child(
Flex::column()
.with_child(
Flexible::new(1., true, self.center.render(&settings.theme))
.boxed(),
);
if let Some(element) =
self.right_sidebar.render_active_item(&settings, cx)
{
content.add_child(Flexible::new(0.8, element).boxed());
}
content.add_child(self.right_sidebar.render(&settings, cx));
content.boxed()
})
.with_children(
self.modal.as_ref().map(|m| ChildView::new(m.id()).boxed()),
)
.boxed(),
)
)
.with_child(ChildView::new(self.status_bar.id()).boxed())
.flexible(1., true)
.boxed(),
);
if let Some(element) = self.right_sidebar.render_active_item(&settings, cx)
{
content.add_child(Flexible::new(0.8, false, element).boxed());
}
content.add_child(self.right_sidebar.render(&settings, cx));
content.boxed()
})
.with_children(self.modal.as_ref().map(|m| ChildView::new(m.id()).boxed()))
.flexible(1.0, true)
.boxed(),
)
.boxed(),
)
.with_background_color(settings.theme.workspace.background)
.named("workspace")
)
.contained()
.with_background_color(settings.theme.workspace.background)
.named("workspace")
}
fn on_focus(&mut self, cx: &mut ViewContext<Self>) {