use super::types::{EventPayloadShape as S, EventSchema};
use super::PropertyValueKind as K;
macro_rules! events_of {
($control:literal) => {{
const ROW: usize = {
let mut i = 0usize;
let mut found = usize::MAX;
while i < CONTROL_STARTS.len() {
if str_eq(CONTROL_STARTS[i].0, $control) {
found = i;
break;
}
i += 1;
}
if found == usize::MAX {
panic!("no events derived for this control — run tools/derive_event_payloads.py");
}
found
};
let (_control, start, len) = CONTROL_STARTS[ROW];
&EVENT_SCHEMAS[ROW_ROWS[start]..ROW_ROWS[start + len]]
}};
}
const fn str_eq(a: &str, b: &str) -> bool {
let (a, b) = (a.as_bytes(), b.as_bytes());
if a.len() != b.len() {
return false;
}
let mut i = 0;
while i < a.len() {
if a[i] != b[i] {
return false;
}
i += 1;
}
true
}
pub(crate) static EVENT_SCHEMAS: &[EventSchema] = &[
EventSchema { name: "changed", payload: None, shape: None },
EventSchema { name: "hovered", payload: None, shape: None },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "triggered", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "nav_selected", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "animation_finished", payload: None, shape: None },
EventSchema { name: "frame_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "action_pressed", payload: None, shape: None },
EventSchema { name: "back_pressed", payload: None, shape: None },
EventSchema { name: "changed", payload: None, shape: None },
EventSchema { name: "suggestion_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "action_clicked", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "dismissed", payload: None, shape: None },
EventSchema { name: "barcode_detected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "curve_changed", payload: Some(K::String), shape: Some(S::Mixed) },
EventSchema { name: "selected_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "dismissed", payload: None, shape: None },
EventSchema { name: "segment_activated", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "clicked", payload: None, shape: None },
EventSchema { name: "pressed", payload: None, shape: None },
EventSchema { name: "released", payload: None, shape: None },
EventSchema { name: "state_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "bar_clicked", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "bar_hovered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "bar_unhovered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "double_clicked", payload: None, shape: None },
EventSchema { name: "mouse_moved", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "mouse_pressed", payload: None, shape: None },
EventSchema { name: "mouse_released", payload: None, shape: None },
EventSchema { name: "page_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::ListScalar) },
EventSchema { name: "data_point_clicked", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "data_point_hovered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "data_point_unhovered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "state_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "chip_toggled", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "completion_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "cursor_moved", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "fold_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "search_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: Some(K::Rect), shape: Some(S::OptionalScalar) },
EventSchema { name: "tab_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "accepted", payload: None, shape: None },
EventSchema { name: "color_selected", payload: Some(K::Color), shape: Some(S::Scalar) },
EventSchema { name: "rejected", payload: None, shape: None },
EventSchema { name: "color_hovered", payload: Some(K::Color), shape: Some(S::Scalar) },
EventSchema { name: "color_selected", payload: Some(K::Color), shape: Some(S::Scalar) },
EventSchema { name: "color_changed", payload: Some(K::Color), shape: Some(S::Scalar) },
EventSchema { name: "hex_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "clicked", payload: None, shape: None },
EventSchema { name: "activated", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "current_index_changed", payload: Some(K::UInt), shape: Some(S::OptionalScalar) },
EventSchema { name: "current_text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "clicked", payload: None, shape: None },
EventSchema { name: "hovered", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "command_activated", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "query_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "cancelled", payload: None, shape: None },
EventSchema { name: "confirmed", payload: None, shape: None },
EventSchema { name: "date_changed", payload: Some(K::String), shape: Some(S::Mixed) },
EventSchema { name: "back_pressed", payload: None, shape: None },
EventSchema { name: "value_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "value_changed", payload: Some(K::Float), shape: Some(S::Scalar) },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "visible_window_changed", payload: Some(K::UInt), shape: Some(S::Tuple4) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::OptionalScalar) },
EventSchema { name: "visible_window_changed", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "date_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "range_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "datetime_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "level_hovered", payload: Some(K::Float), shape: Some(S::Scalar) },
EventSchema { name: "slider_pressed", payload: None, shape: None },
EventSchema { name: "slider_released", payload: None, shape: None },
EventSchema { name: "value_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "accepted", payload: None, shape: None },
EventSchema { name: "closed", payload: None, shape: None },
EventSchema { name: "opened", payload: None, shape: None },
EventSchema { name: "rejected", payload: None, shape: None },
EventSchema { name: "compared", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "dock_location_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "features_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "top_level_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "payload_dropped", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "changed", payload: None, shape: None },
EventSchema { name: "item_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "item_selected", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "glyph_chosen", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "action_pressed", payload: None, shape: None },
EventSchema { name: "clicked", payload: None, shape: None },
EventSchema { name: "accepted", payload: None, shape: None },
EventSchema { name: "current_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "file_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "files_selected", payload: Some(K::String), shape: Some(S::ListScalar) },
EventSchema { name: "rejected", payload: None, shape: None },
EventSchema { name: "close", payload: None, shape: None },
EventSchema { name: "find_next", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "find_previous", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "replace", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "replace_all", payload: Some(K::String), shape: Some(S::Tuple2) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "activated", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "current_font_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "current_index_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "popup_hidden", payload: None, shape: None },
EventSchema { name: "popup_shown", payload: None, shape: None },
EventSchema { name: "text_edited", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "accepted", payload: None, shape: None },
EventSchema { name: "font_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "rejected", payload: None, shape: None },
EventSchema { name: "clicked", payload: None, shape: None },
EventSchema { name: "hovered_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "pressed_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "task_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "cell_clicked", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "cell_hovered", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "cell_double_clicked", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "cell_selected", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "header_clicked", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "sort_changed", payload: Some(K::String), shape: Some(S::Mixed) },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "cell_clicked", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "cell_hovered", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "animation_completed", payload: None, shape: None },
EventSchema { name: "image_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "bar_clicked", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "bar_hovered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "edit_accepted", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "edit_cancelled", payload: None, shape: None },
EventSchema { name: "accepted", payload: None, shape: None },
EventSchema { name: "double_value_changed", payload: Some(K::Float), shape: Some(S::Scalar) },
EventSchema { name: "int_value_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "rejected", payload: None, shape: None },
EventSchema { name: "text_value_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "card_activated", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "card_moved", payload: Some(K::String), shape: Some(S::Tuple2) },
EventSchema { name: "backspace_pressed", payload: None, shape: None },
EventSchema { name: "enter_pressed", payload: None, shape: None },
EventSchema { name: "key_pressed", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "space_pressed", payload: None, shape: None },
EventSchema { name: "overflow", payload: None, shape: None },
EventSchema { name: "value_changed", payload: Some(K::Float), shape: Some(S::Scalar) },
EventSchema { name: "editing_finished", payload: None, shape: None },
EventSchema { name: "return_pressed", payload: None, shape: None },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "item_activated", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "item_selected", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: None, shape: None },
EventSchema { name: "focused_row_changed", payload: Some(K::UInt), shape: Some(S::OptionalScalar) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "animation_finished", payload: None, shape: None },
EventSchema { name: "center_changed", payload: Some(K::Float), shape: Some(S::Tuple2) },
EventSchema { name: "marker_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "zoom_changed", payload: Some(K::Float), shape: Some(S::Scalar) },
EventSchema { name: "preview_mode_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "selected_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "action_pressed", payload: None, shape: None },
EventSchema { name: "dismissed", payload: None, shape: None },
EventSchema { name: "subwindow_activated", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "playback_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "position_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "source_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "volume_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "mention_inserted", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "popup_toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "about_to_hide", payload: None, shape: None },
EventSchema { name: "about_to_show", payload: None, shape: None },
EventSchema { name: "triggered", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "triggered_index", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "hovered_entry", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "triggered", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "item_triggered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "accepted", payload: None, shape: None },
EventSchema { name: "button_clicked", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "rejected", payload: None, shape: None },
EventSchema { name: "changed", payload: None, shape: None },
EventSchema { name: "clicked", payload: None, shape: None },
EventSchema { name: "mouse_pressed", payload: None, shape: None },
EventSchema { name: "mouse_released", payload: None, shape: None },
EventSchema { name: "date_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "dismissed", payload: None, shape: None },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::ListScalar) },
EventSchema { name: "closed", payload: None, shape: None },
EventSchema { name: "item_selected", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "opened", payload: None, shape: None },
EventSchema { name: "navigation_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "notification_activated", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "notification_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "unread_count_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "value_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "level_clicked", payload: Some(K::String), shape: Some(S::Mixed) },
EventSchema { name: "level_hovered", payload: Some(K::String), shape: Some(S::Mixed) },
EventSchema { name: "level_unhovered", payload: Some(K::String), shape: Some(S::Mixed) },
EventSchema { name: "completed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "value_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "page_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "about_to_hide", payload: None, shape: None },
EventSchema { name: "about_to_show", payload: None, shape: None },
EventSchema { name: "triggered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "triggered_text", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "closed", payload: None, shape: None },
EventSchema { name: "opened", payload: None, shape: None },
EventSchema { name: "value_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "canceled", payload: None, shape: None },
EventSchema { name: "property_changed", payload: Some(K::String), shape: Some(S::Tuple2) },
EventSchema { name: "selected", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "query_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "quote_clicked", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "quote_hovered", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: Some(K::String), shape: Some(S::OptionalScalar) },
EventSchema { name: "axis_hovered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "series_clicked", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "checked_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "selected", payload: None, shape: None },
EventSchema { name: "range_changed", payload: Some(K::Float), shape: Some(S::Tuple2) },
EventSchema { name: "rating_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "refresh_triggered", payload: None, shape: None },
EventSchema { name: "current_tab_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "item_triggered", payload: Some(K::UInt), shape: Some(S::Tuple3) },
EventSchema { name: "cursor_position_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "read_only_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::OptionalTuple2) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "animation_finished", payload: None, shape: None },
EventSchema { name: "changed", payload: None, shape: None },
EventSchema { name: "scroll_position_changed", payload: Some(K::Int), shape: Some(S::Tuple2) },
EventSchema { name: "slider_moved", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "slider_pressed", payload: None, shape: None },
EventSchema { name: "slider_released", payload: None, shape: None },
EventSchema { name: "value_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "canceled", payload: None, shape: None },
EventSchema { name: "search_submitted", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "selected_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "shortcut_changed", payload: Some(K::String), shape: Some(S::Mixed) },
EventSchema { name: "changed", payload: None, shape: None },
EventSchema { name: "stroke_completed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "slider_moved", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "slider_pressed", payload: None, shape: None },
EventSchema { name: "slider_released", payload: None, shape: None },
EventSchema { name: "value_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "action_triggered", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "dismissed", payload: None, shape: None },
EventSchema { name: "editing_finished", payload: None, shape: None },
EventSchema { name: "value_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "finished", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "skipped", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "action_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "menu_toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "triggered", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "orientation_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "pane_layout_changed", payload: Some(K::Float), shape: Some(S::ListScalar) },
EventSchema { name: "current_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "message_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "value_changed", payload: Some(K::Int), shape: Some(S::Scalar) },
EventSchema { name: "dismissed", payload: None, shape: None },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "current_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "tab_close_requested", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "tab_moved", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "tab_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "current_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "tab_close_requested", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "focused_row_changed", payload: Some(K::UInt), shape: Some(S::OptionalScalar) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "focused_row_changed", payload: Some(K::UInt), shape: Some(S::OptionalScalar) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "tags_changed", payload: Some(K::String), shape: Some(S::ListScalar) },
EventSchema { name: "command_submitted", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "changed", payload: None, shape: None },
EventSchema { name: "text_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "time_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "item_selected", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "dismissed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "toast_activated", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "toast_dismissed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "checked_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "pressed", payload: None, shape: None },
EventSchema { name: "released", payload: None, shape: None },
EventSchema { name: "state_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "action_triggered", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "orientation_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "top_level_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "visibility_changed", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "current_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "clicked", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "toggled", payload: Some(K::Bool), shape: Some(S::Scalar) },
EventSchema { name: "triggered", payload: None, shape: None },
EventSchema { name: "projection_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::OptionalScalar) },
EventSchema { name: "focused_node_changed", payload: Some(K::UInt), shape: Some(S::OptionalScalar) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "playback_ended", payload: None, shape: None },
EventSchema { name: "playback_paused", payload: None, shape: None },
EventSchema { name: "playback_started", payload: None, shape: None },
EventSchema { name: "time_updated", payload: Some(K::Float), shape: Some(S::Scalar) },
EventSchema { name: "selection_changed", payload: Some(K::UInt), shape: Some(S::OptionalScalar) },
EventSchema { name: "visible_window_changed", payload: Some(K::UInt), shape: Some(S::Tuple2) },
EventSchema { name: "visible_window_changed", payload: Some(K::UInt), shape: Some(S::Tuple4) },
EventSchema { name: "bar_clicked", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "bar_hovered", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "certificate_error", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "console_message", payload: Some(K::String), shape: Some(S::Mixed) },
EventSchema { name: "download_requested", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "error_occurred", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "loading_finished", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "loading_started", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "navigation_state_changed", payload: Some(K::Bool), shape: Some(S::Tuple2) },
EventSchema { name: "page_created", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "page_destroyed", payload: Some(K::UInt), shape: Some(S::Scalar) },
EventSchema { name: "title_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "url_changed", payload: Some(K::String), shape: Some(S::Scalar) },
EventSchema { name: "closed", payload: None, shape: None },
EventSchema { name: "cancelled", payload: None, shape: None },
EventSchema { name: "finished", payload: None, shape: None },
EventSchema { name: "step_changed", payload: Some(K::UInt), shape: Some(S::Scalar) },
];
pub(crate) static CONTROL_STARTS: &[(&str, usize, usize)] = &[
("action", 0, 4),
("adaptive_scaffold", 4, 1),
("animated_image", 5, 2),
("app_bar", 7, 2),
("arc", 9, 1),
("auto_complete_edit", 10, 2),
("banner", 12, 2),
("barcode_scanner", 14, 1),
("bezier_curve_editor", 15, 1),
("bottom_navigation_bar", 16, 1),
("bottom_sheet", 17, 1),
("breadcrumb", 18, 1),
("button", 19, 4),
("calendar", 23, 1),
("candlestick_chart", 24, 3),
("canvas", 27, 4),
("carousel", 31, 1),
("cascader", 32, 1),
("chart", 33, 3),
("check_box", 36, 2),
("chip", 38, 1),
("code_editor", 39, 7),
("collapsible_pane", 46, 1),
("color_dialog", 47, 3),
("color_history", 50, 2),
("color_picker", 52, 2),
("color_well", 54, 1),
("combo_box", 55, 3),
("command_link", 58, 2),
("command_palette", 60, 2),
("cupertino_alert_dialog", 62, 2),
("cupertino_date_picker", 64, 1),
("cupertino_navigation_bar", 65, 1),
("cupertino_segmented_control", 66, 1),
("cupertino_slider", 67, 1),
("cupertino_switch", 68, 1),
("data_grid", 69, 1),
("data_view", 70, 2),
("date_edit", 72, 1),
("date_range_picker", 73, 1),
("date_time_edit", 74, 1),
("depth_chart", 75, 1),
("dial", 76, 3),
("dialog", 79, 4),
("diff_viewer", 83, 1),
("dock_widget", 84, 3),
("drop_zone", 87, 1),
("dropdown", 88, 1),
("dropdown_menu", 89, 1),
("editable_combo_box", 90, 2),
("emoji_picker", 92, 1),
("empty_state", 93, 1),
("fab", 94, 1),
("file_dialog", 95, 5),
("find_replace_dialog", 100, 5),
("floating_label", 105, 1),
("font_combo_box", 106, 6),
("font_dialog", 112, 3),
("freeform_shape", 115, 3),
("gantt_widget", 118, 1),
("grid", 119, 2),
("grid_table", 121, 4),
("group_box", 125, 1),
("heatmap", 126, 2),
("hero_animation", 128, 1),
("image_gallery", 129, 1),
("indicator_chart", 130, 2),
("inplace_editor", 132, 2),
("input_dialog", 134, 5),
("kanban_board", 139, 2),
("keyboard", 141, 4),
("lcd_number", 145, 2),
("line_edit", 147, 3),
("list_box", 150, 3),
("list_view", 153, 2),
("lottie_widget", 155, 1),
("map_view", 156, 3),
("markdown_editor", 159, 2),
("masked_edit", 161, 1),
("material_navigation_rail", 162, 1),
("material_snackbar", 163, 2),
("mdi_area", 165, 1),
("media_player", 166, 4),
("mention", 170, 3),
("menu", 173, 4),
("menu_bar", 177, 2),
("menu_button", 179, 1),
("message_box", 180, 3),
("meter", 183, 1),
("mini_canvas", 184, 3),
("mobile_date_picker", 187, 1),
("modal_bottom_sheet", 188, 1),
("multi_select_combo_box", 189, 1),
("navigation_drawer", 190, 3),
("navigation_stack", 193, 1),
("notification_center", 194, 3),
("number_picker", 197, 1),
("order_book", 198, 3),
("otp_input", 201, 2),
("pagination", 203, 1),
("panel", 204, 1),
("pie_menu", 205, 4),
("popup_window", 209, 2),
("progress_bar", 211, 1),
("progress_dialog", 212, 1),
("properties_panel", 213, 1),
("property_grid", 214, 1),
("query_builder", 215, 1),
("quote_board", 216, 3),
("radar_chart", 219, 2),
("radio_button", 221, 2),
("range_slider", 223, 1),
("rating", 224, 1),
("refresh_control", 225, 1),
("ribbon_bar", 226, 2),
("rich_edit", 228, 4),
("rive_widget", 232, 1),
("roller", 233, 1),
("scroll_area", 234, 1),
("scroll_bar", 235, 4),
("search_bar", 239, 3),
("search_box", 242, 1),
("segmented_button", 243, 1),
("segmented_control", 244, 1),
("shortcut_editor", 245, 1),
("signature_pad", 246, 2),
("slider", 248, 4),
("snackbar", 252, 2),
("spin_box", 254, 2),
("splash_screen", 256, 2),
("split_button", 258, 3),
("splitter", 261, 2),
("stacked_widget", 263, 1),
("status_bar", 264, 1),
("stepper", 265, 1),
("swipe_to_dismiss", 266, 1),
("switch", 267, 1),
("tab_bar", 268, 3),
("tab_view", 271, 1),
("tab_widget", 272, 2),
("table", 274, 2),
("table_widget", 276, 2),
("tag_input", 278, 1),
("terminal_view", 279, 1),
("text_area", 280, 1),
("text_edit", 281, 1),
("time_edit", 282, 1),
("timeline_widget", 283, 1),
("toast", 284, 1),
("toast_stack", 285, 2),
("toggle_button", 287, 5),
("tool_bar", 292, 4),
("tool_box", 296, 1),
("tool_button", 297, 3),
("tree_table", 300, 2),
("tree_view", 302, 2),
("video_player", 304, 4),
("virtual_list", 308, 2),
("virtual_table", 310, 1),
("volume_chart", 311, 2),
("web_engine_view", 313, 11),
("window", 324, 1),
("wizard_dialog", 325, 3),
];
pub(crate) static ROW_ROWS: &[usize] = &[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
];