add(Scrollable): init function with corresponding usages
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 42s
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 42s
This commit is contained in:
@@ -75,7 +75,7 @@ pub fn main() !void {
|
|||||||
}, .{}));
|
}, .{}));
|
||||||
defer box.deinit();
|
defer box.deinit();
|
||||||
|
|
||||||
var scrollable: App.Scrollable = .{ .container = box };
|
var scrollable: App.Scrollable = .init(box);
|
||||||
|
|
||||||
var container = try App.Container.init(allocator, .{
|
var container = try App.Container.init(allocator, .{
|
||||||
.layout = .{
|
.layout = .{
|
||||||
|
|||||||
@@ -156,10 +156,10 @@ pub fn main() !void {
|
|||||||
defer container.deinit();
|
defer container.deinit();
|
||||||
|
|
||||||
// place empty container containing the element of the scrollable Container.
|
// place empty container containing the element of the scrollable Container.
|
||||||
var scrollable_top: App.Scrollable = .{ .container = top_box };
|
var scrollable_top: App.Scrollable = .init(top_box);
|
||||||
try container.append(try App.Container.init(allocator, .{}, scrollable_top.element()));
|
try container.append(try App.Container.init(allocator, .{}, scrollable_top.element()));
|
||||||
|
|
||||||
var scrollable_bottom: App.Scrollable = .{ .container = bottom_box };
|
var scrollable_bottom: App.Scrollable = .init(bottom_box);
|
||||||
try container.append(try App.Container.init(allocator, .{}, scrollable_bottom.element()));
|
try container.append(try App.Container.init(allocator, .{}, scrollable_bottom.element()));
|
||||||
|
|
||||||
try app.start();
|
try app.start();
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ pub fn main() !void {
|
|||||||
if (comptime field.value == 0) continue; // zterm.Color.default == 0 -> skip
|
if (comptime field.value == 0) continue; // zterm.Color.default == 0 -> skip
|
||||||
try box.append(try App.Container.init(allocator, .{ .rectangle = .{ .fill = @enumFromInt(field.value) } }, .{}));
|
try box.append(try App.Container.init(allocator, .{ .rectangle = .{ .fill = @enumFromInt(field.value) } }, .{}));
|
||||||
}
|
}
|
||||||
var scrollable: App.Scrollable = .{ .container = box };
|
var scrollable: App.Scrollable = .init(box);
|
||||||
try container.append(try App.Container.init(allocator, .{}, scrollable.element()));
|
try container.append(try App.Container.init(allocator, .{}, scrollable.element()));
|
||||||
|
|
||||||
try app.start();
|
try app.start();
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ pub fn main() !void {
|
|||||||
}, text_styles.element());
|
}, text_styles.element());
|
||||||
defer box.deinit();
|
defer box.deinit();
|
||||||
|
|
||||||
var scrollable: App.Scrollable = .{ .container = box };
|
var scrollable: App.Scrollable = .init(box);
|
||||||
try container.append(try App.Container.init(allocator, .{}, scrollable.element()));
|
try container.append(try App.Container.init(allocator, .{}, scrollable.element()));
|
||||||
|
|
||||||
try app.start();
|
try app.start();
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ pub const Color = enum(u8) {
|
|||||||
white,
|
white,
|
||||||
// TODO add further colors as described in https://gist.github.com/ConnerWill/d4b6c776b509add763e17f9f113fd25b # Color / Graphics Mode - 256 Colors
|
// TODO add further colors as described in https://gist.github.com/ConnerWill/d4b6c776b509add763e17f9f113fd25b # Color / Graphics Mode - 256 Colors
|
||||||
|
|
||||||
|
// TODO might be useful to use the std.ascii stuff!
|
||||||
|
|
||||||
pub inline fn write(this: Color, writer: anytype, comptime coloring: enum { fg, bg, ul }) !void {
|
pub inline fn write(this: Color, writer: anytype, comptime coloring: enum { fg, bg, ul }) !void {
|
||||||
if (this == .default) {
|
if (this == .default) {
|
||||||
switch (coloring) {
|
switch (coloring) {
|
||||||
|
|||||||
@@ -78,6 +78,10 @@ pub fn Scrollable(Event: type) type {
|
|||||||
/// The actual `Container`, that is scrollable.
|
/// The actual `Container`, that is scrollable.
|
||||||
container: Container(Event),
|
container: Container(Event),
|
||||||
|
|
||||||
|
pub fn init(container: Container(Event)) @This() {
|
||||||
|
return .{ .container = container };
|
||||||
|
}
|
||||||
|
|
||||||
pub fn element(this: *@This()) Element(Event) {
|
pub fn element(this: *@This()) Element(Event) {
|
||||||
return .{
|
return .{
|
||||||
.ptr = this,
|
.ptr = this,
|
||||||
@@ -222,7 +226,7 @@ test "scrollable vertical" {
|
|||||||
}, .{}));
|
}, .{}));
|
||||||
defer box.deinit();
|
defer box.deinit();
|
||||||
|
|
||||||
var scrollable: Scrollable(event.SystemEvent) = .{ .container = box };
|
var scrollable: Scrollable(event.SystemEvent) = .init(box);
|
||||||
|
|
||||||
var container: Container(event.SystemEvent) = try .init(allocator, .{
|
var container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||||
.border = .{
|
.border = .{
|
||||||
@@ -300,7 +304,7 @@ test "scrollable horizontal" {
|
|||||||
}, .{}));
|
}, .{}));
|
||||||
defer box.deinit();
|
defer box.deinit();
|
||||||
|
|
||||||
var scrollable: Scrollable(event.SystemEvent) = .{ .container = box };
|
var scrollable: Scrollable(event.SystemEvent) = .init(box);
|
||||||
|
|
||||||
var container: Container(event.SystemEvent) = try .init(allocator, .{
|
var container: Container(event.SystemEvent) = try .init(allocator, .{
|
||||||
.border = .{
|
.border = .{
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ pub const Key = packed struct {
|
|||||||
return std.meta.eql(this, other);
|
return std.meta.eql(this, other);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO might be useful to use the std.ascii stuff!
|
||||||
|
|
||||||
/// Determine if the `Key` is an ascii character that can be printed to
|
/// Determine if the `Key` is an ascii character that can be printed to
|
||||||
/// the screen. This means that the code point of the `Key` is an ascii
|
/// the screen. This means that the code point of the `Key` is an ascii
|
||||||
/// character between 32 - 255 (with the exception of 127 = Delete) and no
|
/// character between 32 - 255 (with the exception of 127 = Delete) and no
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ pub fn eql(this: Style, other: Style) bool {
|
|||||||
return std.meta.eql(this, other);
|
return std.meta.eql(this, other);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO might be useful to use the std.ascii stuff!
|
||||||
|
|
||||||
pub fn value(this: Style, writer: anytype, cp: u21) !void {
|
pub fn value(this: Style, writer: anytype, cp: u21) !void {
|
||||||
var buffer: [4]u8 = undefined;
|
var buffer: [4]u8 = undefined;
|
||||||
const bytes = try std.unicode.utf8Encode(cp, &buffer);
|
const bytes = try std.unicode.utf8Encode(cp, &buffer);
|
||||||
|
|||||||
Reference in New Issue
Block a user