assistant2: Remove unnecessary `Pane` (#21183)

Marshall Bowers created

This PR removes an unnecessary `Pane` that was copied over from
`assistant::AssistantPanel` to `assistant2::AssistantPanel`.

Release Notes:

- N/A

Change summary

crates/assistant2/src/assistant_panel.rs | 35 ++-----------------------
crates/assistant2/src/message_editor.rs  |  8 +++++
2 files changed, 10 insertions(+), 33 deletions(-)

Detailed changes

crates/assistant2/src/assistant_panel.rs 🔗

@@ -7,7 +7,7 @@ use language_model::LanguageModelRegistry;
 use language_model_selector::LanguageModelSelector;
 use ui::{prelude::*, ButtonLike, Divider, IconButtonShape, Tab, Tooltip};
 use workspace::dock::{DockPosition, Panel, PanelEvent};
-use workspace::{Pane, Workspace};
+use workspace::Workspace;
 
 use crate::message_editor::MessageEditor;
 use crate::thread::Thread;
@@ -25,7 +25,6 @@ pub fn init(cx: &mut AppContext) {
 }
 
 pub struct AssistantPanel {
-    pane: View<Pane>,
     thread: Model<Thread>,
     message_editor: View<MessageEditor>,
     _subscriptions: Vec<Subscription>,
@@ -43,27 +42,11 @@ impl AssistantPanel {
         })
     }
 
-    fn new(workspace: &Workspace, cx: &mut ViewContext<Self>) -> Self {
-        let pane = cx.new_view(|cx| {
-            let mut pane = Pane::new(
-                workspace.weak_handle(),
-                workspace.project().clone(),
-                Default::default(),
-                None,
-                NewThread.boxed_clone(),
-                cx,
-            );
-            pane.set_can_split(false, cx);
-            pane.set_can_navigate(true, cx);
-
-            pane
-        });
-
+    fn new(_workspace: &Workspace, cx: &mut ViewContext<Self>) -> Self {
         let thread = cx.new_model(Thread::new);
         let subscriptions = vec![cx.observe(&thread, |_, _, cx| cx.notify())];
 
         Self {
-            pane,
             thread: thread.clone(),
             message_editor: cx.new_view(|cx| MessageEditor::new(thread, cx)),
             _subscriptions: subscriptions,
@@ -73,7 +56,7 @@ impl AssistantPanel {
 
 impl FocusableView for AssistantPanel {
     fn focus_handle(&self, cx: &AppContext) -> FocusHandle {
-        self.pane.focus_handle(cx)
+        self.message_editor.focus_handle(cx)
     }
 }
 
@@ -100,20 +83,8 @@ impl Panel for AssistantPanel {
 
     fn set_size(&mut self, _size: Option<Pixels>, _cx: &mut ViewContext<Self>) {}
 
-    fn is_zoomed(&self, cx: &WindowContext) -> bool {
-        self.pane.read(cx).is_zoomed()
-    }
-
-    fn set_zoomed(&mut self, zoomed: bool, cx: &mut ViewContext<Self>) {
-        self.pane.update(cx, |pane, cx| pane.set_zoomed(zoomed, cx));
-    }
-
     fn set_active(&mut self, _active: bool, _cx: &mut ViewContext<Self>) {}
 
-    fn pane(&self) -> Option<View<Pane>> {
-        Some(self.pane.clone())
-    }
-
     fn remote_id() -> Option<proto::PanelId> {
         Some(proto::PanelId::AssistantPanel)
     }

crates/assistant2/src/message_editor.rs 🔗

@@ -1,5 +1,5 @@
 use editor::{Editor, EditorElement, EditorStyle};
-use gpui::{AppContext, Model, TextStyle, View};
+use gpui::{AppContext, FocusableView, Model, TextStyle, View};
 use language_model::{
     LanguageModelRegistry, LanguageModelRequest, LanguageModelRequestMessage, MessageContent, Role,
 };
@@ -97,6 +97,12 @@ impl MessageEditor {
     }
 }
 
+impl FocusableView for MessageEditor {
+    fn focus_handle(&self, cx: &AppContext) -> gpui::FocusHandle {
+        self.editor.focus_handle(cx)
+    }
+}
+
 impl Render for MessageEditor {
     fn render(&mut self, cx: &mut ViewContext<Self>) -> impl IntoElement {
         let font_size = TextSize::Default.rems(cx);