init
Parameters
- self:*TreeWidget
- *TreeWidget
- src:std.builtin.SourceLocation
- std.builtin.SourceLocation
- init_opts:InitOptions
- InitOptions
- opts:Options
- Options
Source
Implementation
pub fn init(self: *TreeWidget, src: std.builtin.SourceLocation, init_opts: InitOptions, opts: Options) void {
self.* = .{};
const defaults = Options{ .name = "Tree", .role = .tree };
self.init_options = init_opts;
self.wd = WidgetData.init(src, .{}, defaults.override(opts));
self.id_branch = dvui.dataGet(null, self.wd.id, "_id_branch", usize) orelse null;
self.drag_point = dvui.dataGet(null, self.wd.id, "_drag_point", dvui.Point.Physical) orelse null;
self.branch_size = dvui.dataGet(null, self.wd.id, "_branch_size", dvui.Size) orelse dvui.Size{};
if (init_opts.drag_name) |dn| {
if (self.drag_point != null and !dvui.dragName(dn)) {
self.drag_ending = true;
}
}
self.data().register();
self.data().borderAndBackground(.{});
dvui.parentSet(self.widget());
self.group.init(@src(), .{ .nav_key_dir = .vertical }, .{});
if (self.group.data().accesskit_node()) |ak_node| {
AccessKit.nodeAddAction(ak_node, AccessKit.Action.focus);
AccessKit.nodeAddAction(ak_node, AccessKit.Action.click);
}
}