wxEvtHandler(3)

NAME
wxEvtHandler - The Event handler.

DESCRIPTION

The Event handler.

To get events from wxwidgets objects you subscribe to them by calling connect/[2-3]. Events are sent as messages, if no callback was supplied These messages will be #wx{} where EventRecord is a record that depends on the event type. The records are defined in: wx/include/wx.hrl.

If a callback was supplied to connect, the callback will be invoked (in another process) to handle the event. The callback should be of arity 2. fun(EventRecord::wx(), EventObject::wxObject()).

Beware that the callback will be in executed in new process each time.

 The orginal documentation.

DATA TYPES

    event() = wxActivate() | wxAuiManager() | wxAuiNotebook() | wxCalendar() | wxChildFocus() | wxClipboardText() | wxClose() | wxColourPicker() | wxCommand() | wxContextMenu() | wxDate() | wxDisplayChanged() | wxErase() | wxFileDirPicker() | wxFocus() | wxFontPicker() | wxGrid() | wxHelp() | wxHtmlLink() | wxIconize() | wxIdle() | wxInitDialog() | wxJoystick() | wxKey() | wxList() | wxMaximize() | wxMenu() | wxMouse() | wxMouseCaptureChanged() | wxMouseCaptureLost() | wxMove() | wxNavigationKey() | wxNotebook() | wxPaint() | wxPaletteChanged() | wxQueryNewPalette() | wxSash() | wxScroll() | wxScrollWin() | wxSetCursor() | wxShow() | wxSize() | wxSpin() | wxSplitter() | wxStyledText() | wxSysColourChanged() | wxTaskBarIcon() | wxTree() | wxUpdateUI() | wxWindowCreate() | wxWindowDestroy():

    wx() = #wx{id=undefined | integer(), obj=undefined | wx_object() (see module wx), userData=undefined | term(), event=undefined | event()}:

    wxActivate() = #wxActivate{type=undefined | wxActivateEventType(), active=undefined | boolean()}:

    wxActivateEventType() = activate | activate_app | hibernate:

    wxAuiManager() = #wxAuiManager{type=undefined | wxAuiManagerEventType(), manager=undefined | wxAuiManager() (see module wxAuiManager), pane=undefined | wxAuiPaneInfo() (see module wxAuiPaneInfo), button=undefined | integer(), veto_flag=undefined | boolean(), canveto_flag=undefined | boolean(), dc=undefined | wxDC() (see module wxDC)}:

    wxAuiManagerEventType() = aui_pane_button | aui_pane_close | aui_pane_maximize | aui_pane_restore | aui_pane_activated | aui_render | aui_find_manager:

    wxAuiNotebook() = #wxAuiNotebook{type=undefined | wxAuiNotebookEventType(), old_selection=undefined | integer(), selection=undefined | integer(), drag_source=undefined | wxAuiNotebook() (see module wxAuiNotebook)}:

    wxAuiNotebookEventType() = command_auinotebook_page_close | command_auinotebook_page_changed | command_auinotebook_page_changing | command_auinotebook_button | command_auinotebook_begin_drag | command_auinotebook_end_drag | command_auinotebook_drag_motion | command_auinotebook_allow_dnd | command_auinotebook_tab_middle_down | command_auinotebook_tab_middle_up | command_auinotebook_tab_right_down | command_auinotebook_tab_right_up | command_auinotebook_page_closed | command_auinotebook_drag_done | command_auinotebook_bg_dclick:

    wxCalendar() = #wxCalendar{type=undefined | wxCalendarEventType(), wday=undefined | wx_enum() (see module wx), date=undefined | wx_datetime() (see module wx)}:

    wxCalendarEventType() = calendar_sel_changed | calendar_day_changed | calendar_month_changed | calendar_year_changed | calendar_doubleclicked | calendar_weekday_clicked:

    wxChildFocus() = #wxChildFocus{type=undefined | wxChildFocusEventType()}:

    wxChildFocusEventType() = child_focus:

    wxClipboardText() = #wxClipboardText{type=undefined | wxClipboardTextEventType()}:

    wxClipboardTextEventType() = command_text_copy | command_text_cut | command_text_paste:

    wxClose() = #wxClose{type=undefined | wxCloseEventType()}:

    wxCloseEventType() = close_window | end_session | query_end_session:

    wxColourPicker() = #wxColourPicker{type=undefined | wxColourPickerEventType(), colour=undefined | wx_colour() (see module wx)}:

    wxColourPickerEventType() = command_colourpicker_changed:

    wxCommand() = #wxCommand{type=undefined | wxCommandEventType(), cmdString=undefined | chardata() (see module unicode), commandInt=undefined | integer(), extraLong=undefined | integer()}:

    wxCommandEventType() = command_button_clicked | command_checkbox_clicked | command_choice_selected | command_listbox_selected | command_listbox_doubleclicked | command_text_updated | command_text_enter | command_menu_selected | command_slider_updated | command_radiobox_selected | command_radiobutton_selected | command_scrollbar_updated | command_vlbox_selected | command_combobox_selected | command_tool_rclicked | command_tool_enter | command_checklistbox_toggled | command_togglebutton_clicked | command_left_click | command_left_dclick | command_right_click | command_set_focus | command_kill_focus | command_enter:

    wxContextMenu() = #wxContextMenu{type=undefined | wxContextMenuEventType(), pos=undefined | {X::integer(), Y::integer()}}:

    wxContextMenuEventType() = context_menu:

    wxDate() = #wxDate{type=undefined | wxDateEventType(), date=undefined | wx_datetime() (see module wx)}:

    wxDateEventType() = date_changed:

    wxDisplayChanged() = #wxDisplayChanged{type=undefined | wxDisplayChangedEventType()}:

    wxDisplayChangedEventType() = display_changed:

    wxErase() = #wxErase{type=undefined | wxEraseEventType(), dc=undefined | wxDC() (see module wxDC)}:

    wxEraseEventType() = erase_background:

    wxEventType() = wxActivateEventType() | wxAuiManagerEventType() | wxAuiNotebookEventType() | wxCalendarEventType() | wxChildFocusEventType() | wxClipboardTextEventType() | wxCloseEventType() | wxColourPickerEventType() | wxCommandEventType() | wxContextMenuEventType() | wxDateEventType() | wxDisplayChangedEventType() | wxEraseEventType() | wxFileDirPickerEventType() | wxFocusEventType() | wxFontPickerEventType() | wxGridEventType() | wxHelpEventType() | wxHtmlLinkEventType() | wxIconizeEventType() | wxIdleEventType() | wxInitDialogEventType() | wxJoystickEventType() | wxKeyEventType() | wxListEventType() | wxMaximizeEventType() | wxMenuEventType() | wxMouseCaptureChangedEventType() | wxMouseCaptureLostEventType() | wxMouseEventType() | wxMoveEventType() | wxNavigationKeyEventType() | wxNotebookEventType() | wxPaintEventType() | wxPaletteChangedEventType() | wxQueryNewPaletteEventType() | wxSashEventType() | wxScrollEventType() | wxScrollWinEventType() | wxSetCursorEventType() | wxShowEventType() | wxSizeEventType() | wxSpinEventType() | wxSplitterEventType() | wxStyledTextEventType() | wxSysColourChangedEventType() | wxTaskBarIconEventType() | wxTreeEventType() | wxUpdateUIEventType() | wxWindowCreateEventType() | wxWindowDestroyEventType():

    wxEvtHandler() = wx_object() (see module wx):

    wxFileDirPicker() = #wxFileDirPicker{type=undefined | wxFileDirPickerEventType(), path=undefined | chardata() (see module unicode)}:

    wxFileDirPickerEventType() = command_filepicker_changed | command_dirpicker_changed:

    wxFocus() = #wxFocus{type=undefined | wxFocusEventType(), win=undefined | wxWindow() (see module wxWindow)}:

    wxFocusEventType() = set_focus | kill_focus:

    wxFontPicker() = #wxFontPicker{type=undefined | wxFontPickerEventType(), font=undefined | wxFont() (see module wxFont)}:

    wxFontPickerEventType() = command_fontpicker_changed:

    wxGrid() = #wxGrid{type=undefined | wxGridEventType(), row=undefined | integer(), col=undefined | integer(), x=undefined | integer(), y=undefined | integer(), selecting=undefined | boolean(), control=undefined | boolean(), meta=undefined | boolean(), shift=undefined | boolean(), alt=undefined | boolean()}:

    wxGridEventType() = grid_cell_left_click | grid_cell_right_click | grid_cell_left_dclick | grid_cell_right_dclick | grid_label_left_click | grid_label_right_click | grid_label_left_dclick | grid_label_right_dclick | grid_row_size | grid_col_size | grid_range_select | grid_cell_change | grid_select_cell | grid_editor_shown | grid_editor_hidden | grid_editor_created | grid_cell_begin_drag:

    wxHelp() = #wxHelp{type=undefined | wxHelpEventType()}:

    wxHelpEventType() = help | detailed_help:

    wxHtmlLink() = #wxHtmlLink{type=undefined | wxHtmlLinkEventType(), linkInfo=undefined | wx_wxHtmlLinkInfo() (see module wx)}:

    wxHtmlLinkEventType() = command_html_link_clicked:

    wxIconize() = #wxIconize{type=undefined | wxIconizeEventType(), iconized=undefined | boolean()}:

    wxIconizeEventType() = iconize:

    wxIdle() = #wxIdle{type=undefined | wxIdleEventType()}:

    wxIdleEventType() = idle:

    wxInitDialog() = #wxInitDialog{type=undefined | wxInitDialogEventType()}:

    wxInitDialogEventType() = init_dialog:

    wxJoystick() = #wxJoystick{type=undefined | wxJoystickEventType(), pos=undefined | {X::integer(), Y::integer()}, zPosition=undefined | integer(), buttonChange=undefined | integer(), buttonState=undefined | integer(), joyStick=undefined | integer()}:

    wxJoystickEventType() = joy_button_down | joy_button_up | joy_move | joy_zmove:

    wxKey() = #wxKey{type=undefined | wxKeyEventType(), x=undefined | integer(), y=undefined | integer(), keyCode=undefined | integer(), controlDown=undefined | boolean(), shiftDown=undefined | boolean(), altDown=undefined | boolean(), metaDown=undefined | boolean(), scanCode=undefined | boolean(), uniChar=undefined | integer(), rawCode=undefined | integer(), rawFlags=undefined | integer()}:

    wxKeyEventType() = char | char_hook | key_down | key_up:

    wxList() = #wxList{type=undefined | wxListEventType(), code=undefined | integer(), oldItemIndex=undefined | integer(), itemIndex=undefined | integer(), col=undefined | integer(), pointDrag=undefined | {X::integer(), Y::integer()}}:

    wxListEventType() = command_list_begin_drag | command_list_begin_rdrag | command_list_begin_label_edit | command_list_end_label_edit | command_list_delete_item | command_list_delete_all_items | command_list_key_down | command_list_insert_item | command_list_col_click | command_list_col_right_click | command_list_col_begin_drag | command_list_col_dragging | command_list_col_end_drag | command_list_item_selected | command_list_item_deselected | command_list_item_right_click | command_list_item_middle_click | command_list_item_activated | command_list_item_focused | command_list_cache_hint:

    wxMaximize() = #wxMaximize{type=undefined | wxMaximizeEventType()}:

    wxMaximizeEventType() = maximize:

    wxMenu() = #wxMenu{type=undefined | wxMenuEventType(), menuId=undefined | integer(), menu=undefined | wxMenu() (see module wxMenu)}:

    wxMenuEventType() = menu_open | menu_close | menu_highlight:

    wxMouse() = #wxMouse{type=undefined | wxMouseEventType(), x=undefined | integer(), y=undefined | integer(), leftDown=undefined | boolean(), middleDown=undefined | boolean(), rightDown=undefined | boolean(), controlDown=undefined | boolean(), shiftDown=undefined | boolean(), altDown=undefined | boolean(), metaDown=undefined | boolean(), wheelRotation=undefined | integer(), wheelDelta=undefined | integer(), linesPerAction=undefined | integer()}:

    wxMouseCaptureChanged() = #wxMouseCaptureChanged{type=undefined | wxMouseCaptureChangedEventType()}:

    wxMouseCaptureChangedEventType() = mouse_capture_changed:

    wxMouseCaptureLost() = #wxMouseCaptureLost{type=undefined | wxMouseCaptureLostEventType()}:

    wxMouseCaptureLostEventType() = mouse_capture_lost:

    wxMouseEventType() = left_down | left_up | middle_down | middle_up | right_down | right_up | motion | enter_window | leave_window | left_dclick | middle_dclick | right_dclick | mousewheel:

    wxMove() = #wxMove{type=undefined | wxMoveEventType(), pos=undefined | {X::integer(), Y::integer()}, rect=undefined | {X::integer(), Y::integer(), W::integer(), H::integer()}}:

    wxMoveEventType() = move:

    wxNavigationKey() = #wxNavigationKey{type=undefined | wxNavigationKeyEventType(), flags=undefined | integer(), focus=undefined | wxWindow() (see module wxWindow)}:

    wxNavigationKeyEventType() = navigation_key:

    wxNotebook() = #wxNotebook{type=undefined | wxNotebookEventType(), nSel=undefined | integer(), nOldSel=undefined | integer()}:

    wxNotebookEventType() = command_notebook_page_changed | command_notebook_page_changing:

    wxPaint() = #wxPaint{type=undefined | wxPaintEventType()}:

    wxPaintEventType() = paint:

    wxPaletteChanged() = #wxPaletteChanged{type=undefined | wxPaletteChangedEventType()}:

    wxPaletteChangedEventType() = palette_changed:

    wxQueryNewPalette() = #wxQueryNewPalette{type=undefined | wxQueryNewPaletteEventType()}:

    wxQueryNewPaletteEventType() = query_new_palette:

    wxSash() = #wxSash{type=undefined | wxSashEventType(), edge=undefined | wx_enum() (see module wx), dragRect=undefined | {X::integer(), Y::integer(), W::integer(), H::integer()}, dragStatus=undefined | wx_enum() (see module wx)}:

    wxSashEventType() = sash_dragged:

    wxScroll() = #wxScroll{type=undefined | wxScrollEventType(), commandInt=undefined | integer(), extraLong=undefined | integer()}:

    wxScrollEventType() = scroll_top | scroll_bottom | scroll_lineup | scroll_linedown | scroll_pageup | scroll_pagedown | scroll_thumbtrack | scroll_thumbrelease | scroll_changed:

    wxScrollWin() = #wxScrollWin{type=undefined | wxScrollWinEventType(), commandInt=undefined | integer(), extraLong=undefined | integer()}:

    wxScrollWinEventType() = scrollwin_top | scrollwin_bottom | scrollwin_lineup | scrollwin_linedown | scrollwin_pageup | scrollwin_pagedown | scrollwin_thumbtrack | scrollwin_thumbrelease:

    wxSetCursor() = #wxSetCursor{type=undefined | wxSetCursorEventType(), x=undefined | integer(), y=undefined | integer(), cursor=undefined | wxCursor() (see module wxCursor)}:

    wxSetCursorEventType() = set_cursor:

    wxShow() = #wxShow{type=undefined | wxShowEventType(), show=undefined | boolean()}:

    wxShowEventType() = show:

    wxSize() = #wxSize{type=undefined | wxSizeEventType(), size=undefined | {W::integer(), H::integer()}, rect=undefined | {X::integer(), Y::integer(), W::integer(), H::integer()}}:

    wxSizeEventType() = size:

    wxSpin() = #wxSpin{type=undefined | wxSpinEventType(), commandInt=undefined | integer()}:

    wxSpinEventType() = command_spinctrl_updated | spin_up | spin_down | spin:

    wxSplitter() = #wxSplitter{type=undefined | wxSplitterEventType()}:

    wxSplitterEventType() = command_splitter_sash_pos_changed | command_splitter_sash_pos_changing | command_splitter_doubleclicked | command_splitter_unsplit:

    wxStyledText() = #wxStyledText{type=undefined | wxStyledTextEventType(), position=undefined | integer(), key=undefined | integer(), modifiers=undefined | integer(), modificationType=undefined | integer(), text=undefined | chardata() (see module unicode), length=undefined | integer(), linesAdded=undefined | integer(), line=undefined | integer(), foldLevelNow=undefined | integer(), foldLevelPrev=undefined | integer(), margin=undefined | integer(), message=undefined | integer(), wParam=undefined | integer(), lParam=undefined | integer(), listType=undefined | integer(), x=undefined | integer(), y=undefined | integer(), dragText=undefined | chardata() (see module unicode), dragAllowMove=undefined | boolean(), dragResult=undefined | wx_enum() (see module wx)}:

    wxStyledTextEventType() = stc_change | stc_styleneeded | stc_charadded | stc_savepointreached | stc_savepointleft | stc_romodifyattempt | stc_key | stc_doubleclick | stc_updateui | stc_modified | stc_macrorecord | stc_marginclick | stc_needshown | stc_painted | stc_userlistselection | stc_uridropped | stc_dwellstart | stc_dwellend | stc_start_drag | stc_drag_over | stc_do_drop | stc_zoom | stc_hotspot_click | stc_hotspot_dclick | stc_calltip_click | stc_autocomp_selection:

    wxSysColourChanged() = #wxSysColourChanged{type=undefined | wxSysColourChangedEventType()}:

    wxSysColourChangedEventType() = sys_colour_changed:

    wxTaskBarIcon() = #wxTaskBarIcon{type=undefined | wxTaskBarIconEventType()}:

    wxTaskBarIconEventType() = taskbar_move | taskbar_left_down | taskbar_left_up | taskbar_right_down | taskbar_right_up | taskbar_left_dclick | taskbar_right_dclick:

    wxTree() = #wxTree{type=undefined | wxTreeEventType(), item=undefined | integer(), itemOld=undefined | integer(), pointDrag=undefined | {X::integer(), Y::integer()}}:

    wxTreeEventType() = command_tree_begin_drag | command_tree_begin_rdrag | command_tree_begin_label_edit | command_tree_end_label_edit | command_tree_delete_item | command_tree_get_info | command_tree_set_info | command_tree_item_expanded | command_tree_item_expanding | command_tree_item_collapsed | command_tree_item_collapsing | command_tree_sel_changed | command_tree_sel_changing | command_tree_key_down | command_tree_item_activated | command_tree_item_right_click | command_tree_item_middle_click | command_tree_end_drag | command_tree_state_image_click | command_tree_item_gettooltip | command_tree_item_menu:

    wxUpdateUI() = #wxUpdateUI{type=undefined | wxUpdateUIEventType()}:

    wxUpdateUIEventType() = update_ui:

    wxWindowCreate() = #wxWindowCreate{type=undefined | wxWindowCreateEventType()}:

    wxWindowCreateEventType() = create:

    wxWindowDestroy() = #wxWindowDestroy{type=undefined | wxWindowDestroyEventType()}:

    wxWindowDestroyEventType() = destroy:

EXPORTS

connect(This::wxEvtHandler(), EventType::wxEventType()) -> ok

    Equivalent to connect(This, EventType, [])

connect(This::wxEvtHandler(), EventType::wxEventType(), Options::[Option]) -> ok

    Types:
        Option = {id, integer()} | {lastId, integer()} | {skip, boolean()} | callback | {callback, function()} | {userData, term()}

    This function subscribes the to events of EventType, in the range id, lastId. The events will be received as messages if no callback is supplied.

    Options: {id, integer()}, The identifier (or first of the identifier range) to be associated with this event handler. Default ?wxID_ANY {lastId, integer()}, The second part of the identifier range. If used 'id' must be set as the starting identifier range. Default ?wxID_ANY {skip, boolean()}, If skip is true further event_handlers will be called. This is not used if the 'callback' option is used. Default false. {callback, function()} Use a callback fun(EventRecord::wx(), EventObject::wxObject()) to process the event. Default not specfied i.e. a message will be delivered to the process calling this function. {userData, term()} An erlang term that will be sent with the event. Default: [].

disconnect(This::wxEvtHandler()) -> boolean()

    Equivalent to disconnect(This, null, []) Can also have an optional callback Fun() as an additional last argument.

disconnect(This::wxEvtHandler(), EventType::wxEventType()) -> boolean()

    Equivalent to disconnect(This, EventType, [])

disconnect(This::wxEvtHandler(), EventType::wxEventType(), Opts::[Option]) -> boolean()

    Types:
        Option = {id, integer()} | {lastId, integer()} | {callback, function()}

    See external documentation This function unsubscribes the process or callback fun from the event handler. EventType may be the atom 'null' to match any eventtype. Notice that the options skip and userdata is not used to match the eventhandler.

AUTHORS

<>