wxEvtHandler
MODULE
MODULE SUMMARY
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.
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:
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:
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.