DVUI

processEvents

Parameters

#
self:*SingleSelect
*SingleSelect
sel_info:*SelectionInfo
*SelectionInfo
wd:*WidgetData
*WidgetData

Source

Implementation

#
pub fn processEvents(self: *SingleSelect, sel_info: *SelectionInfo, wd: *WidgetData) void {
        self.selection_changed = false;
        for (sel_info.events()) |*se| {
            if (se.eventMatch(wd)) {
                if (se.selected == false) {
                    self.id_to_select = null;
                    self.id_to_unselect = se.selection_id;
                    self.selection_changed = true;
                } else {
                    if (self.id_to_select) |last_id| {
                        self.id_to_unselect = last_id;
                    }
                    self.id_to_select = se.selection_id;
                    self.selection_changed = true;
                }
            }
        }
    }