diff options
author | Gokul Soumya | 2023-06-18 17:10:00 +0000 |
---|---|---|
committer | Michael Davis | 2023-06-18 17:10:00 +0000 |
commit | 49fbf8df53195d521cf03d03e288c583bcba4c7c (patch) | |
tree | 28c411aaecb1a45e9d3d7ffff059260d6889d099 | |
parent | 1e66e9198c3e00afd531f155816617043e787bb0 (diff) |
Move Component methods except render() to FilePicker
-rw-r--r-- | helix-term/src/ui/picker.rs | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/helix-term/src/ui/picker.rs b/helix-term/src/ui/picker.rs index 0f334548..627f9472 100644 --- a/helix-term/src/ui/picker.rs +++ b/helix-term/src/ui/picker.rs @@ -684,17 +684,19 @@ impl<T: Item + 'static> FilePicker<T> { EventResult::Consumed(None) } - fn cursor(&self, area: Rect, ctx: &Editor) -> (Option<Position>, CursorKind) { - self.picker.cursor(area, ctx) + fn cursor(&self, area: Rect, editor: &Editor) -> (Option<Position>, CursorKind) { + let block = Block::default().borders(Borders::ALL); + // calculate the inner area inside the box + let inner = block.inner(area); + + // prompt area + let area = inner.clip_left(1).with_height(1); + + self.prompt.cursor(area, editor) } fn required_size(&mut self, (width, height): (u16, u16)) -> Option<(u16, u16)> { - let picker_width = if width > MIN_AREA_WIDTH_FOR_PREVIEW { - width / 2 - } else { - width - }; - self.picker.required_size((picker_width, height))?; + self.completion_height = height.saturating_sub(4); Some((width, height)) } @@ -826,8 +828,7 @@ impl<T: Item> Picker<T> { impl<T: Item + 'static> Component for Picker<T> { fn required_size(&mut self, viewport: (u16, u16)) -> Option<(u16, u16)> { - self.completion_height = viewport.1.saturating_sub(4); - Some(viewport) + unimplemented!() } fn handle_event(&mut self, event: &Event, cx: &mut Context) -> EventResult { @@ -1001,14 +1002,7 @@ impl<T: Item + 'static> Component for Picker<T> { } fn cursor(&self, area: Rect, editor: &Editor) -> (Option<Position>, CursorKind) { - let block = Block::default().borders(Borders::ALL); - // calculate the inner area inside the box - let inner = block.inner(area); - - // prompt area - let area = inner.clip_left(1).with_height(1); - - self.prompt.cursor(area, editor) + unimplemented!() } } |