X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9d9b77552eeb78e0c7ee903aa265dc187651ff57..75ecbe459492c19167bd12ea240520a2ca7624a6:/include/wx/event.h diff --git a/include/wx/event.h b/include/wx/event.h index d125990a06..63f6fe7e73 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -44,6 +44,243 @@ class WXDLLEXPORT wxList; typedef int wxEventType; +#if defined(__VISAGECPP__) && __IBMCPP__ >= 400 +// must define these static for VA or else you get multiply defined symbols everywhere +extern const wxEventType wxEVT_NULL; +extern const wxEventType wxEVT_FIRST; + +extern const wxEventType wxEVT_COMMAND_BUTTON_CLICKED; +extern const wxEventType wxEVT_COMMAND_CHECKBOX_CLICKED; +extern const wxEventType wxEVT_COMMAND_CHOICE_SELECTED; +extern const wxEventType wxEVT_COMMAND_LISTBOX_SELECTED; +extern const wxEventType wxEVT_COMMAND_LISTBOX_DOUBLECLICKED; +extern const wxEventType wxEVT_COMMAND_CHECKLISTBOX_TOGGLED; +extern const wxEventType wxEVT_COMMAND_TEXT_UPDATED; +extern const wxEventType wxEVT_COMMAND_TEXT_ENTER; +extern const wxEventType wxEVT_COMMAND_MENU_SELECTED; +extern const wxEventType wxEVT_COMMAND_TOOL_CLICKED; +extern const wxEventType wxEVT_COMMAND_SLIDER_UPDATED; +extern const wxEventType wxEVT_COMMAND_RADIOBOX_SELECTED; +extern const wxEventType wxEVT_COMMAND_RADIOBUTTON_SELECTED; +extern const wxEventType wxEVT_COMMAND_SCROLLBAR_UPDATED; +extern const wxEventType wxEVT_COMMAND_VLBOX_SELECTED; +extern const wxEventType wxEVT_COMMAND_COMBOBOX_SELECTED; +extern const wxEventType wxEVT_COMMAND_TOOL_RCLICKED; +extern const wxEventType wxEVT_COMMAND_TOOL_ENTER; +extern const wxEventType wxEVT_COMMAND_SPINCTRL_UPDATED; + +/* Sockets and timers send events, too */ +extern const wxEventType wxEVT_SOCKET; +extern const wxEventType wxEVT_TIMER; + +/* Mouse event types */ +extern const wxEventType wxEVT_LEFT_DOWN; +extern const wxEventType wxEVT_LEFT_UP; +extern const wxEventType wxEVT_MIDDLE_DOWN; +extern const wxEventType wxEVT_MIDDLE_UP; +extern const wxEventType wxEVT_RIGHT_DOWN; +extern const wxEventType wxEVT_RIGHT_UP; +extern const wxEventType wxEVT_MOTION; +extern const wxEventType wxEVT_ENTER_WINDOW; +extern const wxEventType wxEVT_LEAVE_WINDOW; +extern const wxEventType wxEVT_LEFT_DCLICK; +extern const wxEventType wxEVT_MIDDLE_DCLICK; +extern const wxEventType wxEVT_RIGHT_DCLICK; +extern const wxEventType wxEVT_SET_FOCUS; +extern const wxEventType wxEVT_KILL_FOCUS; + + /* Non-client mouse events */ +extern const wxEventType wxEVT_NC_LEFT_DOWN; +extern const wxEventType wxEVT_NC_LEFT_UP; +extern const wxEventType wxEVT_NC_MIDDLE_DOWN; +extern const wxEventType wxEVT_NC_MIDDLE_UP; +extern const wxEventType wxEVT_NC_RIGHT_DOWN; +extern const wxEventType wxEVT_NC_RIGHT_UP; +extern const wxEventType wxEVT_NC_MOTION; +extern const wxEventType wxEVT_NC_ENTER_WINDOW; +extern const wxEventType wxEVT_NC_LEAVE_WINDOW; +extern const wxEventType wxEVT_NC_LEFT_DCLICK; +extern const wxEventType wxEVT_NC_MIDDLE_DCLICK; +extern const wxEventType wxEVT_NC_RIGHT_DCLICK; + +/* Character input event type */ +extern const wxEventType wxEVT_CHAR; +extern const wxEventType wxEVT_CHAR_HOOK; +extern const wxEventType wxEVT_NAVIGATION_KEY; +extern const wxEventType wxEVT_KEY_DOWN; +extern const wxEventType wxEVT_KEY_UP; + + /* + * wxScrollbar and wxSlider event identifiers + */ +extern const wxEventType wxEVT_SCROLL_TOP; +extern const wxEventType wxEVT_SCROLL_BOTTOM; +extern const wxEventType wxEVT_SCROLL_LINEUP; +extern const wxEventType wxEVT_SCROLL_LINEDOWN; +extern const wxEventType wxEVT_SCROLL_PAGEUP; +extern const wxEventType wxEVT_SCROLL_PAGEDOWN; +extern const wxEventType wxEVT_SCROLL_THUMBTRACK; +extern const wxEventType wxEVT_SCROLL_THUMBRELEASE; + + /* + * Scroll events from wxWindow + */ +extern const wxEventType wxEVT_SCROLLWIN_TOP; +extern const wxEventType wxEVT_SCROLLWIN_BOTTOM; +extern const wxEventType wxEVT_SCROLLWIN_LINEUP; +extern const wxEventType wxEVT_SCROLLWIN_LINEDOWN; +extern const wxEventType wxEVT_SCROLLWIN_PAGEUP; +extern const wxEventType wxEVT_SCROLLWIN_PAGEDOWN; +extern const wxEventType wxEVT_SCROLLWIN_THUMBTRACK; +extern const wxEventType wxEVT_SCROLLWIN_THUMBRELEASE; + + /* + * System events + */ +extern const wxEventType wxEVT_SIZE; +extern const wxEventType wxEVT_MOVE; +extern const wxEventType wxEVT_CLOSE_WINDOW; +extern const wxEventType wxEVT_END_SESSION; +extern const wxEventType wxEVT_QUERY_END_SESSION; +extern const wxEventType wxEVT_ACTIVATE_APP; +extern const wxEventType wxEVT_POWER; +extern const wxEventType wxEVT_ACTIVATE; +extern const wxEventType wxEVT_CREATE; +extern const wxEventType wxEVT_DESTROY; +extern const wxEventType wxEVT_SHOW; +extern const wxEventType wxEVT_ICONIZE; +extern const wxEventType wxEVT_MAXIMIZE; +extern const wxEventType wxEVT_MOUSE_CAPTURE_CHANGED; +extern const wxEventType wxEVT_PAINT; +extern const wxEventType wxEVT_ERASE_BACKGROUND; +extern const wxEventType wxEVT_NC_PAINT; +extern const wxEventType wxEVT_PAINT_ICON; +extern const wxEventType wxEVT_MENU_CHAR; +extern const wxEventType wxEVT_MENU_INIT; +extern const wxEventType wxEVT_MENU_HIGHLIGHT; +extern const wxEventType wxEVT_POPUP_MENU_INIT; +extern const wxEventType wxEVT_CONTEXT_MENU; +extern const wxEventType wxEVT_SYS_COLOUR_CHANGED; +extern const wxEventType wxEVT_SETTING_CHANGED; +extern const wxEventType wxEVT_QUERY_NEW_PALETTE; +extern const wxEventType wxEVT_PALETTE_CHANGED; +extern const wxEventType wxEVT_JOY_BUTTON_DOWN; +extern const wxEventType wxEVT_JOY_BUTTON_UP; +extern const wxEventType wxEVT_JOY_MOVE; +extern const wxEventType wxEVT_JOY_ZMOVE; +extern const wxEventType wxEVT_DROP_FILES; +extern const wxEventType wxEVT_DRAW_ITEM; +extern const wxEventType wxEVT_MEASURE_ITEM; +extern const wxEventType wxEVT_COMPARE_ITEM; +extern const wxEventType wxEVT_INIT_DIALOG; +extern const wxEventType wxEVT_IDLE; +extern const wxEventType wxEVT_UPDATE_UI; + + /* System misc. */ +extern const wxEventType wxEVT_END_PROCESS; + + /* Dial up events */ +extern const wxEventType wxEVT_DIALUP_CONNECTED; +extern const wxEventType wxEVT_DIALUP_DISCONNECTED; + + /* Generic command events */ + /* Note: a click is a higher-level event than button down/up */ +extern const wxEventType wxEVT_COMMAND_LEFT_CLICK; +extern const wxEventType wxEVT_COMMAND_LEFT_DCLICK; +extern const wxEventType wxEVT_COMMAND_RIGHT_CLICK; +extern const wxEventType wxEVT_COMMAND_RIGHT_DCLICK; +extern const wxEventType wxEVT_COMMAND_SET_FOCUS; +extern const wxEventType wxEVT_COMMAND_KILL_FOCUS; +extern const wxEventType wxEVT_COMMAND_ENTER; + + /* Tree control event types */ +extern const wxEventType wxEVT_COMMAND_TREE_BEGIN_DRAG; +extern const wxEventType wxEVT_COMMAND_TREE_BEGIN_RDRAG; +extern const wxEventType wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT; +extern const wxEventType wxEVT_COMMAND_TREE_END_LABEL_EDIT; +extern const wxEventType wxEVT_COMMAND_TREE_DELETE_ITEM; +extern const wxEventType wxEVT_COMMAND_TREE_GET_INFO; +extern const wxEventType wxEVT_COMMAND_TREE_SET_INFO; +extern const wxEventType wxEVT_COMMAND_TREE_ITEM_EXPANDED; +extern const wxEventType wxEVT_COMMAND_TREE_ITEM_EXPANDING; +extern const wxEventType wxEVT_COMMAND_TREE_ITEM_COLLAPSED; +extern const wxEventType wxEVT_COMMAND_TREE_ITEM_COLLAPSING; +extern const wxEventType wxEVT_COMMAND_TREE_SEL_CHANGED; +extern const wxEventType wxEVT_COMMAND_TREE_SEL_CHANGING; +extern const wxEventType wxEVT_COMMAND_TREE_KEY_DOWN; +extern const wxEventType wxEVT_COMMAND_TREE_ITEM_ACTIVATED; +extern const wxEventType wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK; +extern const wxEventType wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK; + + /* List control event types */ +extern const wxEventType wxEVT_COMMAND_LIST_BEGIN_DRAG; +extern const wxEventType wxEVT_COMMAND_LIST_BEGIN_RDRAG; +extern const wxEventType wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT; +extern const wxEventType wxEVT_COMMAND_LIST_END_LABEL_EDIT; +extern const wxEventType wxEVT_COMMAND_LIST_DELETE_ITEM; +extern const wxEventType wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS; +extern const wxEventType wxEVT_COMMAND_LIST_GET_INFO; +extern const wxEventType wxEVT_COMMAND_LIST_SET_INFO; +extern const wxEventType wxEVT_COMMAND_LIST_ITEM_SELECTED; +extern const wxEventType wxEVT_COMMAND_LIST_ITEM_DESELECTED; +extern const wxEventType wxEVT_COMMAND_LIST_KEY_DOWN; +extern const wxEventType wxEVT_COMMAND_LIST_INSERT_ITEM; +extern const wxEventType wxEVT_COMMAND_LIST_COL_CLICK; +extern const wxEventType wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK; +extern const wxEventType wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK; +extern const wxEventType wxEVT_COMMAND_LIST_ITEM_ACTIVATED; + + /* Tab and notebook control event types */ +extern const wxEventType wxEVT_COMMAND_TAB_SEL_CHANGED; +extern const wxEventType wxEVT_COMMAND_TAB_SEL_CHANGING; +extern const wxEventType wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED; +extern const wxEventType wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING; + +/* Splitter events */ +extern const wxEventType wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED; +extern const wxEventType wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING; +extern const wxEventType wxEVT_COMMAND_SPLITTER_DOUBLECLICKED; +extern const wxEventType wxEVT_COMMAND_SPLITTER_UNSPLIT; + +/* Wizard events */ +extern const wxEventType wxEVT_WIZARD_PAGE_CHANGED; +extern const wxEventType wxEVT_WIZARD_PAGE_CHANGING; +extern const wxEventType wxEVT_WIZARD_CANCEL; + +/* Calendar events */ +extern const wxEventType wxEVT_CALENDAR_SEL_CHANGED; +extern const wxEventType wxEVT_CALENDAR_DAY_CHANGED; +extern const wxEventType wxEVT_CALENDAR_MONTH_CHANGED; +extern const wxEventType wxEVT_CALENDAR_YEAR_CHANGED; +extern const wxEventType wxEVT_CALENDAR_DOUBLECLICKED; +extern const wxEventType wxEVT_CALENDAR_WEEKDAY_CLICKED; + +/* Plot events */ +extern const wxEventType wxEVT_PLOT_SEL_CHANGING; +extern const wxEventType wxEVT_PLOT_SEL_CHANGED; +extern const wxEventType wxEVT_PLOT_CLICKED; +extern const wxEventType wxEVT_PLOT_DOUBLECLICKED; +extern const wxEventType wxEVT_PLOT_ZOOM_IN; +extern const wxEventType wxEVT_PLOT_ZOOM_OUT; +extern const wxEventType wxEVT_PLOT_VALUE_SEL_CREATING; +extern const wxEventType wxEVT_PLOT_VALUE_SEL_CREATED; +extern const wxEventType wxEVT_PLOT_VALUE_SEL_CHANGING; +extern const wxEventType wxEVT_PLOT_VALUE_SEL_CHANGED; +extern const wxEventType wxEVT_PLOT_AREA_SEL_CREATING; +extern const wxEventType wxEVT_PLOT_AREA_SEL_CREATED; +extern const wxEventType wxEVT_PLOT_AREA_SEL_CHANGING; +extern const wxEventType wxEVT_PLOT_AREA_SEL_CHANGED; +extern const wxEventType wxEVT_PLOT_BEGIN_X_LABEL_EDIT; +extern const wxEventType wxEVT_PLOT_END_X_LABEL_EDIT; +extern const wxEventType wxEVT_PLOT_BEGIN_Y_LABEL_EDIT; +extern const wxEventType wxEVT_PLOT_END_Y_LABEL_EDIT; +extern const wxEventType wxEVT_PLOT_BEGIN_TITLE_EDIT; +extern const wxEventType wxEVT_PLOT_END_TITLE_EDIT; + +extern const wxEventType wxEVT_USER_FIRST; + +#else // everybody else + const wxEventType wxEVT_NULL = 0; const wxEventType wxEVT_FIRST = 10000; @@ -71,6 +308,9 @@ const wxEventType wxEVT_COMMAND_SPINCTRL_UPDATED = wxEVT_FIRST + 18; /* Sockets send events, too */ const wxEventType wxEVT_SOCKET = wxEVT_FIRST + 50; +/* And timers do as well */ +const wxEventType wxEVT_TIMER = wxEVT_FIRST + 80; + /* Mouse event types */ const wxEventType wxEVT_LEFT_DOWN = wxEVT_FIRST + 100; const wxEventType wxEVT_LEFT_UP = wxEVT_FIRST + 101; @@ -118,6 +358,7 @@ const wxEventType wxEVT_SCROLL_LINEDOWN = wxEVT_FIRST + 303; const wxEventType wxEVT_SCROLL_PAGEUP = wxEVT_FIRST + 304; const wxEventType wxEVT_SCROLL_PAGEDOWN = wxEVT_FIRST + 305; const wxEventType wxEVT_SCROLL_THUMBTRACK = wxEVT_FIRST + 306; +const wxEventType wxEVT_SCROLL_THUMBRELEASE = wxEVT_FIRST + 307; /* * Scroll events from wxWindow @@ -129,6 +370,7 @@ const wxEventType wxEVT_SCROLLWIN_LINEDOWN = wxEVT_FIRST + 323; const wxEventType wxEVT_SCROLLWIN_PAGEUP = wxEVT_FIRST + 324; const wxEventType wxEVT_SCROLLWIN_PAGEDOWN = wxEVT_FIRST + 325; const wxEventType wxEVT_SCROLLWIN_THUMBTRACK = wxEVT_FIRST + 326; +const wxEventType wxEVT_SCROLLWIN_THUMBRELEASE = wxEVT_FIRST + 327; /* * System events @@ -255,8 +497,34 @@ const wxEventType wxEVT_CALENDAR_SEL_CHANGED = wxEVT_FIRST + 950; const wxEventType wxEVT_CALENDAR_DAY_CHANGED = wxEVT_FIRST + 951; const wxEventType wxEVT_CALENDAR_MONTH_CHANGED = wxEVT_FIRST + 952; const wxEventType wxEVT_CALENDAR_YEAR_CHANGED = wxEVT_FIRST + 953; - -const wxEventType wxEVT_USER_FIRST = wxEVT_FIRST + 2000; +const wxEventType wxEVT_CALENDAR_DOUBLECLICKED = wxEVT_FIRST + 954; +const wxEventType wxEVT_CALENDAR_WEEKDAY_CLICKED = wxEVT_FIRST + 955; + +/* Plot events */ +const wxEventType wxEVT_PLOT_SEL_CHANGING = wxEVT_FIRST + 1000; +const wxEventType wxEVT_PLOT_SEL_CHANGED = wxEVT_FIRST + 1001; +const wxEventType wxEVT_PLOT_CLICKED = wxEVT_FIRST + 1002; +const wxEventType wxEVT_PLOT_DOUBLECLICKED = wxEVT_FIRST + 1003; +const wxEventType wxEVT_PLOT_ZOOM_IN = wxEVT_FIRST + 1004; +const wxEventType wxEVT_PLOT_ZOOM_OUT = wxEVT_FIRST + 1005; +const wxEventType wxEVT_PLOT_VALUE_SEL_CREATING = wxEVT_FIRST + 1010; +const wxEventType wxEVT_PLOT_VALUE_SEL_CREATED = wxEVT_FIRST + 1011; +const wxEventType wxEVT_PLOT_VALUE_SEL_CHANGING = wxEVT_FIRST + 1012; +const wxEventType wxEVT_PLOT_VALUE_SEL_CHANGED = wxEVT_FIRST + 1013; +const wxEventType wxEVT_PLOT_AREA_SEL_CREATING = wxEVT_FIRST + 1014; +const wxEventType wxEVT_PLOT_AREA_SEL_CREATED = wxEVT_FIRST + 1015; +const wxEventType wxEVT_PLOT_AREA_SEL_CHANGING = wxEVT_FIRST + 1016; +const wxEventType wxEVT_PLOT_AREA_SEL_CHANGED = wxEVT_FIRST + 1017; +const wxEventType wxEVT_PLOT_BEGIN_X_LABEL_EDIT = wxEVT_FIRST + 1020; +const wxEventType wxEVT_PLOT_END_X_LABEL_EDIT = wxEVT_FIRST + 1021; +const wxEventType wxEVT_PLOT_BEGIN_Y_LABEL_EDIT = wxEVT_FIRST + 1022; +const wxEventType wxEVT_PLOT_END_Y_LABEL_EDIT = wxEVT_FIRST + 1023; +const wxEventType wxEVT_PLOT_BEGIN_TITLE_EDIT = wxEVT_FIRST + 1024; +const wxEventType wxEVT_PLOT_END_TITLE_EDIT = wxEVT_FIRST + 1025; + +const wxEventType wxEVT_USER_FIRST = wxEVT_FIRST + 2000; + +#endif // for VisualAge C++ V4.0 /* Compatibility */ @@ -462,6 +730,7 @@ private: wxEVT_SCROLL_PAGEUP wxEVT_SCROLL_PAGEDOWN wxEVT_SCROLL_THUMBTRACK + wxEVT_SCROLL_THUMBRELEASE */ class WXDLLEXPORT wxScrollEvent : public wxCommandEvent @@ -494,6 +763,7 @@ public: wxEVT_SCROLLWIN_PAGEUP wxEVT_SCROLLWIN_PAGEDOWN wxEVT_SCROLLWIN_THUMBTRACK + wxEVT_SCROLLWIN_THUMBRELEASE */ class WXDLLEXPORT wxScrollWinEvent : public wxEvent @@ -1237,27 +1507,56 @@ protected: Event generated by dialog navigation keys wxEVT_NAVIGATION_KEY */ -// must derive from command event to be propagated to the parent -class WXDLLEXPORT wxNavigationKeyEvent : public wxCommandEvent +// NB: don't derive from command event to avoid being propagated to the parent +class WXDLLEXPORT wxNavigationKeyEvent : public wxEvent { - DECLARE_DYNAMIC_CLASS(wxNavigationKeyEvent) - public: - wxNavigationKeyEvent() : wxCommandEvent(wxEVT_NAVIGATION_KEY) { } + wxNavigationKeyEvent() + { + SetEventType(wxEVT_NAVIGATION_KEY); + + m_flags = IsForward | Propagate; // defaults are for TAB + m_focus = (wxWindow *)NULL; + } // direction: forward (true) or backward (false) - bool GetDirection() const { return m_commandInt == 1; } - void SetDirection(bool bForward) { m_commandInt = bForward; } + bool GetDirection() const + { return (m_flags & IsForward) != 0; } + void SetDirection(bool bForward) + { if ( bForward ) m_flags |= IsForward; else m_flags &= ~IsForward; } // it may be a window change event (MDI, notebook pages...) or a control // change event - bool IsWindowChange() const { return m_extraLong == 1; } - void SetWindowChange(bool bIs) { m_extraLong = bIs; } + bool IsWindowChange() const + { return (m_flags & WinChange) != 0; } + void SetWindowChange(bool bIs) + { if ( bIs ) m_flags |= WinChange; else m_flags &= ~WinChange; } + + // some navigation events are meant to be propagated upwards (Windows + // convention is to do this for TAB events) while others should always + // cycle inside the panel/radiobox/whatever we're current inside + bool ShouldPropagate() const + { return (m_flags & Propagate) != 0; } + void SetPropagate(bool bDoIt) + { if ( bDoIt ) m_flags |= Propagate; else m_flags &= ~Propagate; } // the child which has the focus currently (may be NULL - use // wxWindow::FindFocus then) - wxWindow* GetCurrentFocus() const { return (wxWindow *)m_clientData; } - void SetCurrentFocus(wxWindow *win) { m_clientData = (void *)win; } + wxWindow* GetCurrentFocus() const { return m_focus; } + void SetCurrentFocus(wxWindow *win) { m_focus = win; } + +private: + enum + { + IsForward = 0x0001, + WinChange = 0x0002, + Propagate = 0x0004 + }; + + long m_flags; + wxWindow *m_focus; + + DECLARE_DYNAMIC_CLASS(wxNavigationKeyEvent) }; // Window creation/destruction events: the first is sent as soon as window is @@ -1591,7 +1890,8 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \ { wxEVT_SCROLLWIN_LINEDOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL },\ { wxEVT_SCROLLWIN_PAGEUP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL },\ { wxEVT_SCROLLWIN_PAGEDOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL },\ - { wxEVT_SCROLLWIN_THUMBTRACK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL }, + { wxEVT_SCROLLWIN_THUMBTRACK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL },\ + { wxEVT_SCROLLWIN_THUMBRELEASE, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL }, #define EVT_SCROLLWIN_TOP(func) { wxEVT_SCROLLWIN_TOP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL }, #define EVT_SCROLLWIN_BOTTOM(func) { wxEVT_SCROLLWIN_BOTTOM, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL }, @@ -1600,6 +1900,7 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \ #define EVT_SCROLLWIN_PAGEUP(func) { wxEVT_SCROLLWIN_PAGEUP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL }, #define EVT_SCROLLWIN_PAGEDOWN(func) { wxEVT_SCROLLWIN_PAGEDOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL }, #define EVT_SCROLLWIN_THUMBTRACK(func) { wxEVT_SCROLLWIN_THUMBTRACK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL }, +#define EVT_SCROLLWIN_THUMBRELEASE(func) { wxEVT_SCROLLWIN_THUMBRELEASE, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollWinEventFunction) & func, (wxObject *) NULL }, // Scrolling from wxSlider and wxScrollBar #define EVT_SCROLL(func) \ @@ -1609,7 +1910,8 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \ { wxEVT_SCROLL_LINEDOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL },\ { wxEVT_SCROLL_PAGEUP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL },\ { wxEVT_SCROLL_PAGEDOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL },\ - { wxEVT_SCROLL_THUMBTRACK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, + { wxEVT_SCROLL_THUMBTRACK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL },\ + { wxEVT_SCROLL_THUMBRELEASE, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, #define EVT_SCROLL_TOP(func) { wxEVT_SCROLL_TOP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, #define EVT_SCROLL_BOTTOM(func) { wxEVT_SCROLL_BOTTOM, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, @@ -1618,6 +1920,7 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \ #define EVT_SCROLL_PAGEUP(func) { wxEVT_SCROLL_PAGEUP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, #define EVT_SCROLL_PAGEDOWN(func) { wxEVT_SCROLL_PAGEDOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, #define EVT_SCROLL_THUMBTRACK(func) { wxEVT_SCROLL_THUMBTRACK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, +#define EVT_SCROLL_THUMBRELEASE(func) { wxEVT_SCROLL_THUMBRELEASE, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, // Scrolling from wxSlider and wxScrollBar, with an id #define EVT_COMMAND_SCROLL(id, func) \ @@ -1627,7 +1930,8 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \ { wxEVT_SCROLL_LINEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL },\ { wxEVT_SCROLL_PAGEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL },\ { wxEVT_SCROLL_PAGEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL },\ - { wxEVT_SCROLL_THUMBTRACK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, + { wxEVT_SCROLL_THUMBTRACK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL },\ + { wxEVT_SCROLL_THUMBRELEASE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, #define EVT_COMMAND_SCROLL_TOP(id, func) { wxEVT_SCROLL_TOP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, #define EVT_COMMAND_SCROLL_BOTTOM(id, func) { wxEVT_SCROLL_BOTTOM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, @@ -1636,6 +1940,7 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \ #define EVT_COMMAND_SCROLL_PAGEUP(id, func) { wxEVT_SCROLL_PAGEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, #define EVT_COMMAND_SCROLL_PAGEDOWN(id, func) { wxEVT_SCROLL_PAGEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, #define EVT_COMMAND_SCROLL_THUMBTRACK(id, func) { wxEVT_SCROLL_THUMBTRACK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, +#define EVT_COMMAND_SCROLL_THUMBRELEASE(id, func) { wxEVT_SCROLL_THUMBRELEASE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxScrollEventFunction) & func, (wxObject *) NULL }, // Convenience macros for commonly-used commands #define EVT_BUTTON(id, fn) { wxEVT_COMMAND_BUTTON_CLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, @@ -1660,7 +1965,6 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \ #define EVT_TOOL_RCLICKED_RANGE(id1, id2, fn) { wxEVT_COMMAND_TOOL_RCLICKED, id1, id2, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, #define EVT_TOOL_ENTER(id, fn) { wxEVT_COMMAND_TOOL_ENTER, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, #define EVT_CHECKLISTBOX(id, fn) { wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, -#define EVT_SPINCTRL(id, fn) { wxEVT_COMMAND_SPINCTRL_UPDATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, // Generic command events #define EVT_COMMAND_LEFT_CLICK(id, fn) { wxEVT_COMMAND_LEFT_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL },