DVUI

deinit

Parameters

#
self:*ReorderWidget
*ReorderWidget

Source

Implementation

#
pub fn deinit(self: *ReorderWidget) void {
    defer if (dvui.widgetIsAllocated(self)) dvui.widgetFree(self);
    defer self.* = undefined;
    if (self.drag_ending) {
        self.id_reorderable = null;
        self.drag_point = null;
        dvui.refresh(null, @src(), self.data().id);
    }

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

    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, "_reorderable_size", self.reorderable_size);

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