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() | wxDropFiles() | 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=integer(), obj=wx:wx_object(), userData=term(), event=event()}:

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

    wxActivateEventType() = activate | activate_app | hibernate:

    wxAuiManager() = #wxAuiManager{type=wxAuiManagerEventType(), manager=wxAuiManager:wxAuiManager(), pane=wxAuiPaneInfo:wxAuiPaneInfo(), button=integer(), veto_flag=boolean(), canveto_flag=boolean(), dc=wxDC: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=wxAuiNotebookEventType(), old_selection=integer(), selection=integer(), drag_source=wxAuiNotebook: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=wxCalendarEventType(), wday=wx:wx_enum(), date=wx:wx_datetime()}:

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

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

    wxChildFocusEventType() = child_focus:

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

    wxClipboardTextEventType() = command_text_copy | command_text_cut | command_text_paste:

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

    wxCloseEventType() = close_window | end_session | query_end_session:

    wxColourPicker() = #wxColourPicker{type=wxColourPickerEventType(), colour=wx:wx_colour()}:

    wxColourPickerEventType() = command_colourpicker_changed:

    wxCommand() = #wxCommand{type=wxCommandEventType(), cmdString=unicode:chardata(), commandInt=integer(), extraLong=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=wxContextMenuEventType(), pos={X::integer(), Y::integer()}}:

    wxContextMenuEventType() = context_menu:

    wxDate() = #wxDate{type=wxDateEventType(), date=wx:wx_datetime()}:

    wxDateEventType() = date_changed:

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

    wxDisplayChangedEventType() = display_changed:

    wxDropFiles() = #wxDropFiles{type=wxDropFilesEventType(), noFiles=integer(), pos={X::integer(), Y::integer()}, files=[unicode:chardata()]}:

    wxDropFilesEventType() = drop_files:

    wxErase() = #wxErase{type=wxEraseEventType(), dc=wxDC:wxDC()}:

    wxEraseEventType() = erase_background:

    wxEventType() = wxActivateEventType() | wxAuiManagerEventType() | wxAuiNotebookEventType() | wxCalendarEventType() | wxChildFocusEventType() | wxClipboardTextEventType() | wxCloseEventType() | wxColourPickerEventType() | wxCommandEventType() | wxContextMenuEventType() | wxDateEventType() | wxDisplayChangedEventType() | wxDropFilesEventType() | 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:wx_object():

    wxFileDirPicker() = #wxFileDirPicker{type=wxFileDirPickerEventType(), path=unicode:chardata()}:

    wxFileDirPickerEventType() = command_filepicker_changed | command_dirpicker_changed:

    wxFocus() = #wxFocus{type=wxFocusEventType(), win=wxWindow:wxWindow()}:

    wxFocusEventType() = set_focus | kill_focus:

    wxFontPicker() = #wxFontPicker{type=wxFontPickerEventType(), font=wxFont:wxFont()}:

    wxFontPickerEventType() = command_fontpicker_changed:

    wxGrid() = #wxGrid{type=wxGridEventType(), row=integer(), col=integer(), x=integer(), y=integer(), selecting=boolean(), control=boolean(), meta=boolean(), shift=boolean(), alt=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=wxHelpEventType()}:

    wxHelpEventType() = help | detailed_help:

    wxHtmlLink() = #wxHtmlLink{type=wxHtmlLinkEventType(), linkInfo=wx:wx_wxHtmlLinkInfo()}:

    wxHtmlLinkEventType() = command_html_link_clicked:

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

    wxIconizeEventType() = iconize:

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

    wxIdleEventType() = idle:

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

    wxInitDialogEventType() = init_dialog:

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

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

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

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

    wxList() = #wxList{type=wxListEventType(), code=integer(), oldItemIndex=integer(), itemIndex=integer(), col=integer(), pointDrag={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=wxMaximizeEventType()}:

    wxMaximizeEventType() = maximize:

    wxMenu() = #wxMenu{type=wxMenuEventType(), menuId=integer(), menu=wxMenu:wxMenu()}:

    wxMenuEventType() = menu_open | menu_close | menu_highlight:

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

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

    wxMouseCaptureChangedEventType() = mouse_capture_changed:

    wxMouseCaptureLost() = #wxMouseCaptureLost{type=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=wxMoveEventType(), pos={X::integer(), Y::integer()}, rect={X::integer(), Y::integer(), W::integer(), H::integer()}}:

    wxMoveEventType() = move:

    wxNavigationKey() = #wxNavigationKey{type=wxNavigationKeyEventType(), flags=integer(), focus=wxWindow:wxWindow()}:

    wxNavigationKeyEventType() = navigation_key:

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

    wxNotebookEventType() = command_notebook_page_changed | command_notebook_page_changing:

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

    wxPaintEventType() = paint:

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

    wxPaletteChangedEventType() = palette_changed:

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

    wxQueryNewPaletteEventType() = query_new_palette:

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

    wxSashEventType() = sash_dragged:

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

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

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

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

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

    wxSetCursorEventType() = set_cursor:

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

    wxShowEventType() = show:

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

    wxSizeEventType() = size:

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

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

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

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

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

    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=wxSysColourChangedEventType()}:

    wxSysColourChangedEventType() = sys_colour_changed:

    wxTaskBarIcon() = #wxTaskBarIcon{type=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=wxTreeEventType(), item=integer(), itemOld=integer(), pointDrag={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=wxUpdateUIEventType()}:

    wxUpdateUIEventType() = update_ui:

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

    wxWindowCreateEventType() = create:

    wxWindowDestroy() = #wxWindowDestroy{type=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

<>