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

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

    wxActivateEventType() = activate | activate_app | hibernate:

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

    wxColourPickerEventType() = command_colourpicker_changed:

    wxCommand() = #wxCommand{type=wxCommandEventType(), cmdString=chardata() (see module unicode), 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_datetime() (see module wx)}:

    wxDateEventType() = date_changed:

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

    wxDisplayChangedEventType() = display_changed:

    wxErase() = #wxErase{type=wxEraseEventType(), dc=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=wxFileDirPickerEventType(), path=chardata() (see module unicode)}:

    wxFileDirPickerEventType() = command_filepicker_changed | command_dirpicker_changed:

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

    wxFocusEventType() = set_focus | kill_focus:

    wxFontPicker() = #wxFontPicker{type=wxFontPickerEventType(), font=wxFont() (see module 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_wxHtmlLinkInfo() (see module wx)}:

    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() (see module 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() (see module 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_enum() (see module wx), dragRect={X::integer(), Y::integer(), W::integer(), H::integer()}, dragStatus=wx_enum() (see module wx)}:

    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() (see module 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=chardata() (see module unicode), 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=chardata() (see module unicode), dragAllowMove=boolean(), dragResult=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=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

<>