MCPcopy Create free account
hub / github.com/GCWing/BitFun / handle_mouse_event

Method handle_mouse_event

src/apps/cli/src/ui/chat/mouse.rs:26–73  ·  view source on GitHub ↗
(&mut self, mouse: &crossterm::event::MouseEvent)

Source from the content-addressed store, hash-verified

24 }
25
26 pub fn handle_mouse_event(&mut self, mouse: &crossterm::event::MouseEvent) -> bool {
27 // Popups take priority when visible
28 if self.model_selector.captures_mouse(mouse) {
29 self.model_selector.handle_mouse_event(mouse);
30 return true;
31 }
32 if self.theme_selector.captures_mouse(mouse) {
33 self.theme_selector.handle_mouse_event(mouse);
34 self.pending_theme_preview = self.theme_selector.selected_item().cloned();
35 return true;
36 }
37 if self.agent_selector.captures_mouse(mouse) {
38 self.agent_selector.handle_mouse_event(mouse);
39 return true;
40 }
41 if self.session_selector.captures_mouse(mouse) {
42 self.session_selector.handle_mouse_event(mouse);
43 return true;
44 }
45 if self.skill_selector.captures_mouse(mouse) {
46 if let Some(action) = self.skill_selector.handle_mouse_event(mouse) {
47 self.pending_skill_action = Some(action);
48 }
49 return true;
50 }
51 if self.subagent_selector.captures_mouse(mouse) {
52 if let Some(action) = self.subagent_selector.handle_mouse_event(mouse) {
53 self.pending_subagent_action = Some(action);
54 }
55 return true;
56 }
57 if self.mcp_selector.captures_mouse(mouse) {
58 let action = self.mcp_selector.handle_mouse_event(mouse);
59 if let McpAction::Toggle(item) = action {
60 self.pending_mcp_toggle = Some(item.id.clone());
61 }
62 return true;
63 }
64 if self.command_menu.captures_mouse(mouse) {
65 if let Some(cmd) = self.command_menu.handle_mouse_event(mouse) {
66 self.text_input.clear();
67 self.refresh_command_menu();
68 self.pending_command = Some(cmd);
69 }
70 return true;
71 }
72 false
73 }
74
75 fn clear_mouse_selection_state(&mut self) {
76 self.selection_anchor = None;

Calls 5

captures_mouseMethod · 0.45
selected_itemMethod · 0.45
cloneMethod · 0.45
clearMethod · 0.45
refresh_command_menuMethod · 0.45

Tested by

no test coverage detected