refactor: add panel border to inputview

This commit is contained in:
CJ van den Berg 2025-12-11 19:00:02 +01:00
parent 15fd338074
commit 950c5af01d
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");
pub const name = "inputview";
@ -23,6 +24,7 @@ last_count: u64 = 0,
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.* = .{
@ -43,7 +46,9 @@ pub fn create(allocator: Allocator, parent: Plane) !Widget {
.buffer = .empty,
};
try tui.input_listeners().add(EventHandler.bind(self, listen));
return Widget.to(self);
container.ctx = self;
try container.add(Widget.to(self));
return container.widget();
}
pub fn deinit(self: *Self, allocator: Allocator) void {