refactor: add panel border to info_view

This commit is contained in:
CJ van den Berg 2025-12-11 18:59:32 +01:00
parent f87a9cfb6d
commit 15fd338074
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -2,6 +2,7 @@ const std = @import("std");
const Allocator = @import("std").mem.Allocator; const Allocator = @import("std").mem.Allocator;
const Plane = @import("renderer").Plane; const Plane = @import("renderer").Plane;
const Widget = @import("Widget.zig"); const Widget = @import("Widget.zig");
const WidgetList = @import("WidgetList.zig");
pub const name = @typeName(Self); pub const name = @typeName(Self);
@ -13,15 +14,20 @@ plane: Plane,
view_rows: usize = 0, view_rows: usize = 0,
lines: std.ArrayList([]const u8), lines: std.ArrayList([]const u8),
const widget_type: Widget.Type = .panel;
pub fn create(allocator: Allocator, parent: Plane) !Widget { pub fn create(allocator: Allocator, parent: Plane) !Widget {
const self = try allocator.create(Self); const self = try allocator.create(Self);
errdefer allocator.destroy(self); errdefer allocator.destroy(self);
const container = try WidgetList.createHStyled(allocator, parent, "panel_frame", .dynamic, widget_type);
self.* = .{ self.* = .{
.allocator = allocator, .allocator = allocator,
.plane = try Plane.init(&(Widget.Box{}).opts(name), parent), .plane = try Plane.init(&(Widget.Box{}).opts(name), parent),
.lines = .empty, .lines = .empty,
}; };
return Widget.to(self); container.ctx = self;
try container.add(Widget.to(self));
return container.widget();
} }
pub fn deinit(self: *Self, allocator: Allocator) void { pub fn deinit(self: *Self, allocator: Allocator) void {