Using events with wxEuphoria
On Paint
Key Events
Event procedures take 4 arguments:
- atom this
- atom event_type
- atom id
- atom event
wxEVT_PAINT
During a paint event, you need to create a wxPaintDC. This must be destroyed
(/delete_instance) before you return from the paint handler. Also, any drawing
that is done should be within calls to begin_drawing() and end_drawing():
procedure onPaint( atom this, atom event_type, atom id, atom event )
atom dc
dc = create( wxPaintDC, {this} )
begin_drawing(dc)
-- ... do drawing here...
end_drawing(dc)
delete_instance(dc)
end procedure
Key Events
Key events under Linux should be set with an id of -1. Also, no events will be passed until
the window has been clicked by the user.
Full listing of events as defined in wxEuphoria.e:
- wxEVT_ACTIVATE
- wxEVT_ACTIVATE_APP
- wxEVT_CALCULATE_LAYOUT
- wxEVT_CALENDAR_DAY_CHANGED
- wxEVT_CALENDAR_DOUBLECLICKED
- wxEVT_CALENDAR_MONTH_CHANGED
- wxEVT_CALENDAR_SEL_CHANGED
- wxEVT_CALENDAR_WEEKDAY_CLICKED
- wxEVT_CALENDAR_YEAR_CHANGED
- wxEVT_CHAR
- wxEVT_CHAR_HOOK
- wxEVT_CHILD_FOCUS
- wxEVT_CLOSE_WINDOW
- wxEVT_COMMAND_BUTTON_CLICKED
- wxEVT_COMMAND_CHECKBOX_CLICKED
- wxEVT_COMMAND_CHECKLISTBOX_TOGGLED
- wxEVT_COMMAND_CHOICE_SELECTED
- wxEVT_COMMAND_COMBOBOX_SELECTED
- wxEVT_COMMAND_ENTER
- wxEVT_COMMAND_FIND
- wxEVT_COMMAND_FIND_CLOSE
- wxEVT_COMMAND_FIND_NEXT
- wxEVT_COMMAND_FIND_REPLACE
- wxEVT_COMMAND_FIND_REPLACE_ALL
- wxEVT_COMMAND_KILL_FOCUS
- wxEVT_COMMAND_LEFT_CLICK
- wxEVT_COMMAND_LEFT_DCLICK
- wxEVT_COMMAND_LISTBOX_DOUBLECLICKED
- wxEVT_COMMAND_LISTBOX_SELECTED
- wxEVT_COMMAND_LIST_BEGIN_DRAG
- wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT
- wxEVT_COMMAND_LIST_BEGIN_RDRAG
- wxEVT_COMMAND_LIST_CACHE_HINT
- wxEVT_COMMAND_LIST_COL_BEGIN_DRAG
- wxEVT_COMMAND_LIST_COL_CLICK
- wxEVT_COMMAND_LIST_COL_DRAGGING
- wxEVT_COMMAND_LIST_COL_END_DRAG
- wxEVT_COMMAND_LIST_COL_RIGHT_CLICK
- wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS
- wxEVT_COMMAND_LIST_DELETE_ITEM
- wxEVT_COMMAND_LIST_END_LABEL_EDIT
- wxEVT_COMMAND_LIST_GET_INFO
- wxEVT_COMMAND_LIST_INSERT_ITEM
- wxEVT_COMMAND_LIST_ITEM_ACTIVATED
- wxEVT_COMMAND_LIST_ITEM_DESELECTED
- wxEVT_COMMAND_LIST_ITEM_FOCUSED
- wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK
- wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK
- wxEVT_COMMAND_LIST_ITEM_SELECTED
- wxEVT_COMMAND_LIST_KEY_DOWN
- wxEVT_COMMAND_LIST_SET_INFO
- wxEVT_COMMAND_MENU_SELECTED
- wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
- wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
- wxEVT_COMMAND_RADIOBOX_SELECTED
- wxEVT_COMMAND_RADIOBUTTON_SELECTED
- wxEVT_COMMAND_RIGHT_CLICK
- wxEVT_COMMAND_RIGHT_DCLICK
- wxEVT_COMMAND_SCROLLBAR_UPDATED
- wxEVT_COMMAND_SET_FOCUS
- wxEVT_COMMAND_SLIDER_UPDATED
- wxEVT_COMMAND_SPINCTRL_UPDATED
- wxEVT_COMMAND_SPLITTER_DOUBLECLICKED
- wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED
- wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING
- wxEVT_COMMAND_SPLITTER_UNSPLIT
- wxEVT_COMMAND_TAB_SEL_CHANGED
- wxEVT_COMMAND_TAB_SEL_CHANGING
- wxEVT_COMMAND_TEXT_ENTER
- wxEVT_COMMAND_TEXT_MAXLEN
- wxEVT_COMMAND_TEXT_UPDATED
- wxEVT_COMMAND_TEXT_URL
- wxEVT_COMMAND_TOGGLEBUTTON_CLICKED
- wxEVT_COMMAND_TOOL_ENTER
- wxEVT_COMMAND_TOOL_RCLICKED
- wxEVT_COMMAND_TREE_BEGIN_DRAG
- wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT
- wxEVT_COMMAND_TREE_BEGIN_RDRAG
- wxEVT_COMMAND_TREE_DELETE_ITEM
- wxEVT_COMMAND_TREE_END_DRAG
- wxEVT_COMMAND_TREE_END_LABEL_EDIT
- wxEVT_COMMAND_TREE_GET_INFO
- wxEVT_COMMAND_TREE_ITEM_ACTIVATED
- wxEVT_COMMAND_TREE_ITEM_COLLAPSED
- wxEVT_COMMAND_TREE_ITEM_COLLAPSING
- wxEVT_COMMAND_TREE_ITEM_EXPANDED
- wxEVT_COMMAND_TREE_ITEM_EXPANDING
- wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK
- wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK
- wxEVT_COMMAND_TREE_KEY_DOWN
- wxEVT_COMMAND_TREE_SEL_CHANGED
- wxEVT_COMMAND_TREE_SEL_CHANGING
- wxEVT_COMMAND_TREE_SET_INFO
- wxEVT_COMMAND_VLBOX_SELECTED
- wxEVT_COMPARE_ITEM
- wxEVT_CONTEXT_MENU
- wxEVT_CREATE
- wxEVT_DESTROY
- wxEVT_DETAILED_HELP
- wxEVT_DIALUP_CONNECTED
- wxEVT_DIALUP_DISCONNECTED
- wxEVT_DISPLAY_CHANGED
- wxEVT_DRAW_ITEM
- wxEVT_DROP_FILES
- wxEVT_END_PROCESS
- wxEVT_END_SESSION
- wxEVT_ENTER_WINDOW
- wxEVT_ERASE_BACKGROUND
- wxEVT_GRID_CELL_CHANGE
- wxEVT_GRID_CELL_LEFT_CLICK
- wxEVT_GRID_CELL_LEFT_DCLICK
- wxEVT_GRID_CELL_RIGHT_CLICK
- wxEVT_GRID_CELL_RIGHT_DCLICK
- wxEVT_GRID_COL_SIZE
- wxEVT_GRID_EDITOR_CREATED
- wxEVT_GRID_EDITOR_HIDDEN
- wxEVT_GRID_EDITOR_SHOWN
- wxEVT_GRID_LABEL_LEFT_CLICK
- wxEVT_GRID_LABEL_LEFT_DCLICK
- wxEVT_GRID_LABEL_RIGHT_CLICK
- wxEVT_GRID_LABEL_RIGHT_DCLICK
- wxEVT_GRID_RANGE_SELECT
- wxEVT_GRID_ROW_SIZE
- wxEVT_GRID_SELECT_CELL
- wxEVT_HELP
- wxEVT_ICONIZE
- wxEVT_IDLE
- wxEVT_INIT_DIALOG
- wxEVT_JOY_BUTTON_DOWN
- wxEVT_JOY_BUTTON_UP
- wxEVT_JOY_MOVE
- wxEVT_JOY_ZMOVE
- wxEVT_KEY_DOWN
- wxEVT_KEY_UP
- wxEVT_KILL_FOCUS
- wxEVT_LEAVE_WINDOW
- wxEVT_LEFT_DCLICK
- wxEVT_LEFT_DOWN
- wxEVT_LEFT_UP
- wxEVT_MAXIMIZE
- wxEVT_MEASURE_ITEM
- wxEVT_MENU_CLOSE
- wxEVT_MENU_HIGHLIGHT
- wxEVT_MENU_OPEN
- wxEVT_MIDDLE_DCLICK
- wxEVT_MIDDLE_DOWN
- wxEVT_MIDDLE_UP
- wxEVT_MOTION
- wxEVT_MOUSEWHEEL
- wxEVT_MOUSE_CAPTURE_CHANGED
- wxEVT_MOVE
- wxEVT_NAVIGATION_KEY
- wxEVT_NC_ENTER_WINDOW
- wxEVT_NC_LEAVE_WINDOW
- wxEVT_NC_LEFT_DCLICK
- wxEVT_NC_LEFT_DOWN
- wxEVT_NC_LEFT_UP
- wxEVT_NC_MIDDLE_DCLICK
- wxEVT_NC_MIDDLE_DOWN
- wxEVT_NC_MIDDLE_UP
- wxEVT_NC_MOTION
- wxEVT_NC_PAINT
- wxEVT_NC_RIGHT_DCLICK
- wxEVT_NC_RIGHT_DOWN
- wxEVT_NC_RIGHT_UP
- wxEVT_NULL
- wxEVT_PAINT
- wxEVT_PAINT_ICON
- wxEVT_PALETTE_CHANGED
- wxEVT_POWER
- wxEVT_QUERY_END_SESSION
- wxEVT_QUERY_LAYOUT_INFO
- wxEVT_QUERY_NEW_PALETTE
- wxEVT_RIGHT_DCLICK
- wxEVT_RIGHT_DOWN
- wxEVT_RIGHT_UP
- wxEVT_SASH_DRAGGED
- wxEVT_SCROLLWIN_BOTTOM
- wxEVT_SCROLLWIN_LINEDOWN
- wxEVT_SCROLLWIN_LINEUP
- wxEVT_SCROLLWIN_PAGEDOWN
- wxEVT_SCROLLWIN_PAGEUP
- wxEVT_SCROLLWIN_THUMBRELEASE
- wxEVT_SCROLLWIN_THUMBTRACK
- wxEVT_SCROLLWIN_TOP
- wxEVT_SCROLL_BOTTOM
- wxEVT_SCROLL_ENDSCROLL
- wxEVT_SCROLL_LINEDOWN
- wxEVT_SCROLL_LINEUP
- wxEVT_SCROLL_PAGEDOWN
- wxEVT_SCROLL_PAGEUP
- wxEVT_SCROLL_THUMBRELEASE
- wxEVT_SCROLL_THUMBTRACK
- wxEVT_SCROLL_TOP
- wxEVT_SETTING_CHANGED
- wxEVT_SET_CURSOR
- wxEVT_SET_FOCUS
- wxEVT_SHOW
- wxEVT_SIZE
- wxEVT_SOCKET
- wxEVT_SYS_COLOUR_CHANGED
- wxEVT_TASKBAR_LEFT_DCLICK
- wxEVT_TASKBAR_LEFT_DOWN
- wxEVT_TASKBAR_LEFT_UP
- wxEVT_TASKBAR_MOVE
- wxEVT_TASKBAR_RIGHT_DCLICK
- wxEVT_TASKBAR_RIGHT_DOWN
- wxEVT_TASKBAR_RIGHT_UP
- wxEVT_TIMER
- wxEVT_UPDATE_UI
- wxEVT_WIZARD_CANCEL
- wxEVT_WIZARD_FINISHED
- wxEVT_WIZARD_HELP
- wxEVT_WIZARD_PAGE_CHANGED
- wxEVT_WIZARD_PAGE_CHANGING
proc disable_events()
proc enable_events()
proc set_event_handler( object this, object id, object event, integer rid )
proc skip( atom event )
Subtopics:
Key Events
Mouse Events
wxTimer
wxTreeEvent
Category: Events
Suspends event handling calls to your event handlers until
enable_events() is called.
See Also:
enable_events,
set_event_handler,
skip
Category: Events
Resumes calls to event handlers after disable_events() has
been called.
See Also:
disable_events,
set_event_handler,
skip
[proc]
set_event_handler ( object this, object id, object event, integer rid )
Category: Events
Set up an event handler.
- this is the object that receives the event. Often, it will be
the top level frame that receives the event, as in the case of a menu item.
When setting an event for a wxMenuItem under Linux, this must be
a sequence where the first element is the wxFrame to which the wxMenuItem
belongs, and the second element is the wxMenu to which the wxMenuItem
belongs. Under Windows, set_event_hander() will also accept this as
a sequence.
- id is the id of the item generating the event, such a a menu item.
- event is an event constant, and
- rid is the routine id of your event handler.
ex:
procedure onclose( atom win, atom event )
exit_main()
end procedure
set_event_handler( myWindow, wxID_EXIT, wxEVT_MENU_SELECTED, routine_id("onclose"))
See class documentation for valid event constants.
See Also:
disable_events,
enable_events,
skip
Category: Events
Called by an event handler to tell the event system that the event
handler should be skipped, and the next valid handler used instead.
See Also:
disable_events,
enable_events,
set_event_handler