refactor: add panel border to keybindview

This commit is contained in:
CJ van den Berg 2025-12-11 19:00:15 +01:00
parent 82257ee4e3
commit c718924698
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -13,6 +13,7 @@ const input = @import("input");
const tui = @import("tui.zig");
const Widget = @import("Widget.zig");
const WidgetList = @import("WidgetList.zig");
const MessageFilter = @import("MessageFilter.zig");
pub const name = "keybindview";
@ -23,6 +24,7 @@ plane: Plane,
buffer: Buffer,
const Self = @This();
const widget_type: Widget.Type = .panel;
const Entry = struct {
time: i64,
@ -34,6 +36,7 @@ const Buffer = ArrayList(Entry);
pub fn create(allocator: Allocator, parent: Plane) !Widget {
var n = try Plane.init(&(Widget.Box{}).opts_vscroll(@typeName(Self)), parent);
errdefer n.deinit();
const container = try WidgetList.createHStyled(allocator, parent, "panel_frame", .dynamic, widget_type);
const self = try allocator.create(Self);
errdefer allocator.destroy(self);
self.* = .{
@ -44,7 +47,9 @@ pub fn create(allocator: Allocator, parent: Plane) !Widget {
};
try tui.message_filters().add(MessageFilter.bind(self, keybind_match));
tui.enable_match_events();
return Widget.to(self);
container.ctx = self;
try container.add(Widget.to(self));
return container.widget();
}
pub fn deinit(self: *Self, allocator: Allocator) void {