DVUI

deinit

Parameters

#
self:*Branch
*Branch

Source

Implementation

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

        if (self.can_expand) {
            if (self.expanded) {
                self.expander_vbox.deinit();
            }
            if (self.anim) |a| {
                a.deinit();
            }

            dvui.dataSet(null, self.data().id, "_expanded", self.expanded);
        } else {
            self.hbox.deinit();
            self.button.deinit();
        }

        if (self.floating_widget) |*fw| {
            self.data().minSizeMax(fw.data().min_size);
            fw.deinit();
        }

        self.data().minSizeSetAndRefresh();
        self.data().minSizeReportToParent();

        self.tree.current_branch_focus_id = self.parent_focus_id;
        dvui.parentReset(self.data().id, self.data().parent);
    }