wxEvtHandler
The Event handler.
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.
Types
event() =
wxAuiManager() |
wxAuiNotebook() |
wxCalendar() |
wxChildFocus() |
wxClose() |
wxColourPicker() |
wxCommand() |
wxContextMenu() |
wxDate() |
wxDisplayChanged() |
wxErase() |
wxFileDirPicker() |
wxFocus() |
wxFontPicker() |
wxGrid() |
wxHelp() |
wxHtmlLink() |
wxIconize() |
wxIdle() |
wxJoystick() |
wxKey() |
wxList() |
wxMaximize() |
wxMenu() |
wxMouse() |
wxMouseCaptureChanged() |
wxMove() |
wxNavigationKey() |
wxNcPaint() |
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:wx_object(),
userData = undefined | term(),
event = undefined | event()}
wxAuiManager() =
#wxAuiManager{type = undefined | wxAuiManagerEventType(),
manager =
undefined | wxAuiManager:wxAuiManager(),
pane =
undefined | wxAuiPaneInfo:wxAuiPaneInfo(),
button = undefined | integer(),
veto_flag = undefined | boolean(),
canveto_flag = undefined | boolean(),
dc = undefined | wxDC:wxDC()}
wxAuiManagerEventType() =
aui_pane_button |
aui_pane_close |
aui_pane_maximize |
aui_pane_restore |
aui_render |
aui_find_manager
wxAuiNotebook() =
#wxAuiNotebook{type = undefined | wxAuiNotebookEventType(),
old_selection = undefined | integer(),
selection = undefined | integer(),
drag_source =
undefined | 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 = undefined | wxCalendarEventType()}
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
wxClose() = #wxClose{type = undefined | wxCloseEventType()}
wxCloseEventType() =
close_window | end_session | query_end_session
wxColourPicker() =
#wxColourPicker{type = undefined | wxColourPickerEventType(),
colour = undefined | wx:wx_colour()}
wxColourPickerEventType() = command_colourpicker_changed
wxCommand() =
#wxCommand{type = undefined | wxCommandEventType(),
cmdString = undefined | unicode:chardata(),
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()}
wxContextMenuEventType() = context_menu
wxDate() =
#wxDate{type = undefined | wxDateEventType(),
date = undefined | wx:wx_datetime()}
wxDateEventType() = date_changed
wxDisplayChanged() =
#wxDisplayChanged{type =
undefined | wxDisplayChangedEventType()}
wxDisplayChangedEventType() = display_changed
wxErase() =
#wxErase{type = undefined | wxEraseEventType(),
dc = undefined | wxDC:wxDC()}
wxEraseEventType() = erase_background
wxEventType() =
wxAuiManagerEventType() |
wxAuiNotebookEventType() |
wxCalendarEventType() |
wxChildFocusEventType() |
wxCloseEventType() |
wxColourPickerEventType() |
wxCommandEventType() |
wxContextMenuEventType() |
wxDateEventType() |
wxDisplayChangedEventType() |
wxEraseEventType() |
wxFileDirPickerEventType() |
wxFocusEventType() |
wxFontPickerEventType() |
wxGridEventType() |
wxHelpEventType() |
wxHtmlLinkEventType() |
wxIconizeEventType() |
wxIdleEventType() |
wxJoystickEventType() |
wxKeyEventType() |
wxListEventType() |
wxMaximizeEventType() |
wxMenuEventType() |
wxMouseCaptureChangedEventType() |
wxMouseEventType() |
wxMoveEventType() |
wxNavigationKeyEventType() |
wxNcPaintEventType() |
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 =
undefined | wxFileDirPickerEventType(),
path = undefined | unicode:chardata()}
wxFileDirPickerEventType() =
command_filepicker_changed | command_dirpicker_changed
wxFocus() = #wxFocus{type = undefined | wxFocusEventType()}
wxFocusEventType() = set_focus | kill_focus
wxFontPicker() =
#wxFontPicker{type = undefined | wxFontPickerEventType(),
font = undefined | wxFont: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:wx_wxHtmlLinkInfo()}
wxHtmlLinkEventType() = command_html_link_clicked
wxIconize() =
#wxIconize{type = undefined | wxIconizeEventType()}
wxIconizeEventType() = iconize
wxIdle() = #wxIdle{type = undefined | wxIdleEventType()}
wxIdleEventType() = idle
wxJoystick() =
#wxJoystick{type = undefined | wxJoystickEventType()}
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()}
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
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 |
nc_left_down |
nc_left_up |
nc_middle_down |
nc_middle_up |
nc_right_down |
nc_right_up |
nc_motion |
nc_enter_window |
nc_leave_window |
nc_left_dclick |
nc_middle_dclick |
nc_right_dclick
wxMove() = #wxMove{type = undefined | wxMoveEventType()}
wxMoveEventType() = move
wxNavigationKey() =
#wxNavigationKey{type =
undefined | wxNavigationKeyEventType(),
flags = undefined | integer(),
focus = undefined | wxWindow:wxWindow()}
wxNavigationKeyEventType() = navigation_key
wxNcPaint() =
#wxNcPaint{type = undefined | wxNcPaintEventType()}
wxNcPaintEventType() = nc_paint
wxNotebook() =
#wxNotebook{type = undefined | wxNotebookEventType()}
wxNotebookEventType() =
command_notebook_page_changed | command_notebook_page_changing
wxPaint() = #wxPaint{type = undefined | wxPaintEventType()}
wxPaintEventType() = paint | paint_icon
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:wx_enum(),
dragRect =
undefined |
{X :: integer(),
Y :: integer(),
W :: integer(),
H :: integer()},
dragStatus = undefined | wx:wx_enum()}
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()}
wxScrollWinEventType() =
scrollwin_top |
scrollwin_bottom |
scrollwin_lineup |
scrollwin_linedown |
scrollwin_pageup |
scrollwin_pagedown |
scrollwin_thumbtrack |
scrollwin_thumbrelease
wxSetCursor() =
#wxSetCursor{type = undefined | wxSetCursorEventType()}
wxSetCursorEventType() = set_cursor
wxShow() = #wxShow{type = undefined | wxShowEventType()}
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 | unicode:chardata(),
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 | unicode:chardata(),
dragAllowMove = undefined | boolean(),
dragResult = undefined | 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 =
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
Functions
connect(This::wxEvtHandler(), EventType::wxEventType()) -> ok
Equivalent to connect(This, EventType, [])
connect(This::wxEvtHandler(), EventType::wxEventType(), Option::[Option]) -> ok
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(), Option::[Option]) -> boolean()
Option = {id, integer()} | {lastId, integer()} | {callback, function()}
See