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[start..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: "popup_visibility_changed",
payload: Some(K::Bool),
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::Tuple3) },
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: "submenu_requested", payload: Some(K::String), shape: Some(S::Scalar) },
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: "tab_moved", payload: Some(K::UInt), shape: Some(S::Tuple2) },
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, 4),
("command_link", 59, 2),
("command_palette", 61, 2),
("cupertino_alert_dialog", 63, 2),
("cupertino_date_picker", 65, 1),
("cupertino_navigation_bar", 66, 1),
("cupertino_segmented_control", 67, 1),
("cupertino_slider", 68, 1),
("cupertino_switch", 69, 1),
("data_grid", 70, 1),
("data_view", 71, 2),
("date_edit", 73, 1),
("date_range_picker", 74, 1),
("date_time_edit", 75, 1),
("depth_chart", 76, 1),
("dial", 77, 3),
("dialog", 80, 4),
("diff_viewer", 84, 1),
("dock_widget", 85, 3),
("drop_zone", 88, 1),
("dropdown", 89, 1),
("dropdown_menu", 90, 1),
("editable_combo_box", 91, 2),
("emoji_picker", 93, 1),
("empty_state", 94, 1),
("fab", 95, 1),
("file_dialog", 96, 5),
("find_replace_dialog", 101, 5),
("floating_label", 106, 1),
("font_combo_box", 107, 6),
("font_dialog", 113, 3),
("freeform_shape", 116, 3),
("gantt_widget", 119, 1),
("grid", 120, 2),
("grid_table", 122, 4),
("group_box", 126, 1),
("heatmap", 127, 2),
("hero_animation", 129, 1),
("image_gallery", 130, 1),
("indicator_chart", 131, 2),
("inplace_editor", 133, 2),
("input_dialog", 135, 5),
("kanban_board", 140, 2),
("keyboard", 142, 4),
("lcd_number", 146, 2),
("line_edit", 148, 3),
("list_box", 151, 3),
("list_view", 154, 2),
("lottie_widget", 156, 1),
("map_view", 157, 3),
("markdown_editor", 160, 2),
("masked_edit", 162, 1),
("material_navigation_rail", 163, 1),
("material_snackbar", 164, 2),
("mdi_area", 166, 1),
("media_player", 167, 4),
("mention", 171, 3),
("menu", 174, 5),
("menu_bar", 179, 2),
("menu_button", 181, 1),
("message_box", 182, 3),
("meter", 185, 1),
("mini_canvas", 186, 3),
("mobile_date_picker", 189, 1),
("modal_bottom_sheet", 190, 1),
("multi_select_combo_box", 191, 1),
("navigation_drawer", 192, 3),
("navigation_stack", 195, 1),
("notification_center", 196, 3),
("number_picker", 199, 1),
("order_book", 200, 3),
("otp_input", 203, 2),
("pagination", 205, 1),
("panel", 206, 1),
("pie_menu", 207, 4),
("popup_window", 211, 2),
("progress_bar", 213, 1),
("progress_dialog", 214, 1),
("properties_panel", 215, 1),
("property_grid", 216, 1),
("query_builder", 217, 1),
("quote_board", 218, 3),
("radar_chart", 221, 2),
("radio_button", 223, 2),
("range_slider", 225, 1),
("rating", 226, 1),
("refresh_control", 227, 1),
("ribbon_bar", 228, 2),
("rich_edit", 230, 4),
("rive_widget", 234, 1),
("roller", 235, 1),
("scroll_area", 236, 1),
("scroll_bar", 237, 4),
("search_bar", 241, 3),
("search_box", 244, 1),
("segmented_button", 245, 1),
("segmented_control", 246, 1),
("shortcut_editor", 247, 1),
("signature_pad", 248, 2),
("slider", 250, 4),
("snackbar", 254, 2),
("spin_box", 256, 2),
("splash_screen", 258, 2),
("split_button", 260, 3),
("splitter", 263, 2),
("stacked_widget", 265, 1),
("status_bar", 266, 1),
("stepper", 267, 1),
("swipe_to_dismiss", 268, 1),
("switch", 269, 1),
("tab_bar", 270, 3),
("tab_view", 273, 1),
("tab_widget", 274, 3),
("table", 277, 2),
("table_widget", 279, 2),
("tag_input", 281, 1),
("terminal_view", 282, 1),
("text_area", 283, 1),
("text_edit", 284, 1),
("time_edit", 285, 1),
("timeline_widget", 286, 1),
("toast", 287, 1),
("toast_stack", 288, 2),
("toggle_button", 290, 5),
("tool_bar", 295, 4),
("tool_box", 299, 1),
("tool_button", 300, 3),
("tree_table", 303, 2),
("tree_view", 305, 2),
("video_player", 307, 4),
("virtual_list", 311, 2),
("virtual_table", 313, 1),
("volume_chart", 314, 2),
("web_engine_view", 316, 11),
("window", 327, 1),
("wizard_dialog", 328, 3),
];