Skip to content

Commit

Permalink
Fix Component implementations for Picker (#7382)
Browse files Browse the repository at this point in the history
  • Loading branch information
the-mikedavis committed Jun 19, 2023
1 parent 06d63d6 commit 9690e0b
Showing 1 changed file with 27 additions and 27 deletions.
54 changes: 27 additions & 27 deletions helix-term/src/ui/picker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -750,6 +750,33 @@ impl<T: Item + 'static> Picker<T> {
);
}
}
}

impl<T: Item + 'static> Component for Picker<T> {
fn render(&mut self, area: Rect, surface: &mut Surface, cx: &mut Context) {
// +---------+ +---------+
// |prompt | |preview |
// +---------+ | |
// |picker | | |
// | | | |
// +---------+ +---------+

let render_preview = self.show_preview && area.width > MIN_AREA_WIDTH_FOR_PREVIEW;

let picker_width = if render_preview {
area.width / 2
} else {
area.width
};

let picker_area = area.with_width(picker_width);
self.render_picker(picker_area, surface, cx);

if render_preview {
let preview_area = area.clip_left(picker_width);
self.render_preview(preview_area, surface, cx);
}
}

fn handle_event(&mut self, event: &Event, ctx: &mut Context) -> EventResult {
if let Event::IdleTimeout = event {
Expand Down Expand Up @@ -846,33 +873,6 @@ impl<T: Item + 'static> Picker<T> {
}
}

impl<T: Item + 'static> Component for Picker<T> {
fn render(&mut self, area: Rect, surface: &mut Surface, cx: &mut Context) {
// +---------+ +---------+
// |prompt | |preview |
// +---------+ | |
// |picker | | |
// | | | |
// +---------+ +---------+

let render_preview = self.show_preview && area.width > MIN_AREA_WIDTH_FOR_PREVIEW;

let picker_width = if render_preview {
area.width / 2
} else {
area.width
};

let picker_area = area.with_width(picker_width);
self.render_picker(picker_area, surface, cx);

if render_preview {
let preview_area = area.clip_left(picker_width);
self.render_preview(preview_area, surface, cx);
}
}
}

#[derive(PartialEq, Eq, Debug)]
struct PickerMatch {
score: i64,
Expand Down

0 comments on commit 9690e0b

Please sign in to comment.