DVUI

Parameters

#
self:*SelectAllKeyboard
*SelectAllKeyboard
select_all_state:*SelectAllState
*SelectAllState
wd:*const WidgetData
*const WidgetData

Source

Implementation

#
pub fn processEvents(self: *SelectAllKeyboard, select_all_state: *SelectAllState, wd: *const WidgetData) void {
        self.selection_changed = false;
        for (dvui.events()) |*e| {
            if (self.last_focused_in_frame != dvui.lastFocusedIdInFrame()) {
                if (e.evt == .key and !e.handled) {
                    const ke = e.evt.key;
                    if (ke.matchBind("select_all") and ke.action == .down) {
                        e.handle(@src(), wd);
                        if (select_all_state.* == .select_all) {
                            select_all_state.* = .select_none;
                        } else {
                            select_all_state.* = .select_all;
                        }
                        // Show the results of the selection change.
                        dvui.refresh(null, @src(), null);
                        self.selection_changed = true;
                    }
                }
            }
        }
    }