DVUI

deinit

Parameters

#
self:*TreeWidget
*TreeWidget

Source

Implementation

#
pub fn deinit(self: *TreeWidget) void {
    defer if (dvui.widgetIsAllocated(self)) dvui.widgetFree(self);
    defer self.* = undefined;

    self.group.deinit();

    if (self.drag_ending) {
        self.id_branch = null;
        self.drag_point = null;
        dvui.refresh(null, @src(), self.data().id);
    }

    if (self.id_branch) |idr| {
        dvui.dataSet(null, self.data().id, "_id_branch", idr);
    } else {
        dvui.dataRemove(null, self.data().id, "_id_branch");
    }

    if (self.drag_point) |dp| {
        dvui.dataSet(null, self.data().id, "_drag_point", dp);
    } else {
        dvui.dataRemove(null, self.data().id, "_drag_point");
    }

    dvui.dataSet(null, self.data().id, "_branch_size", self.branch_size);

    self.data().minSizeSetAndRefresh();
    self.data().minSizeReportToParent();
    dvui.parentReset(self.data().id, self.data().parent);
}