feat: add mouse resizing of panel views
This commit is contained in:
parent
95bf2ac9a7
commit
50d47a73f2
15 changed files with 138 additions and 65 deletions
|
@ -140,9 +140,6 @@ fn handle_render_menu(self: *Self, button: *Button.State(*Menu.State(*Self)), th
|
|||
const style_info: Widget.Theme.Style = .{ .fg = theme.editor_information.fg, .fs = theme.editor_information.fs, .bg = style_base.bg };
|
||||
const style_separator: Widget.Theme.Style = .{ .fg = theme.editor_selection.bg, .bg = style_base.bg };
|
||||
// const style_error: Widget.Theme.Style = .{ .fg = theme.editor_error.fg, .fs = theme.editor_error.fs, .bg = style_base.bg };
|
||||
button.plane.set_base_style(" ", style_base);
|
||||
button.plane.erase();
|
||||
button.plane.home();
|
||||
var idx: usize = undefined;
|
||||
var iter = button.opts.label; // label contains cbor, just the index
|
||||
if (!(cbor.matchValue(&iter, cbor.extract(&idx)) catch false)) {
|
||||
|
@ -155,6 +152,9 @@ fn handle_render_menu(self: *Self, button: *Button.State(*Menu.State(*Self)), th
|
|||
if (idx >= self.entries.items.len) {
|
||||
return false;
|
||||
}
|
||||
button.plane.set_base_style(" ", style_base);
|
||||
button.plane.erase();
|
||||
button.plane.home();
|
||||
const entry = &self.entries.items[idx];
|
||||
const pointer = if (selected) "⏵" else " ";
|
||||
_ = button.plane.print("{s} ", .{pointer}) catch {};
|
||||
|
@ -229,10 +229,7 @@ fn handle_menu_action(menu: **Menu.State(*Self), button: *Button.State(*Menu.Sta
|
|||
return;
|
||||
}
|
||||
idx += self.view_pos;
|
||||
if (idx >= self.entries.items.len) {
|
||||
self.logger.print_err(name, "table entry index out of range: {d}/{d}", .{ idx, self.entries.items.len });
|
||||
return;
|
||||
}
|
||||
if (idx >= self.entries.items.len) return;
|
||||
self.selected = idx;
|
||||
self.update_selected();
|
||||
const entry = &self.entries.items[idx];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue