]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/event.h
Implement auto-completion support for wxTextEntry in wxOSX/Cocoa.
[wxWidgets.git] / interface / wx / event.h
index b23fe00dc1baf29625cacfd21df00f170719d192..a3d00229787b10b0d0d026abc754deda3433e30e 100644 (file)
@@ -110,8 +110,8 @@ public:
             The identifier of the object (window, timer, ...) which generated
             this event.
         @param eventType
-            The unique type of event, e.g. wxEVT_PAINT, wxEVT_SIZE or
-            wxEVT_COMMAND_BUTTON_CLICKED.
+            The unique type of event, e.g. @c wxEVT_PAINT, @c wxEVT_SIZE or
+            @c wxEVT_COMMAND_BUTTON_CLICKED.
     */
     wxEvent(int id = 0, wxEventType eventType = wxEVT_NULL);
 
@@ -473,7 +473,7 @@ public:
            that it didn't handle the event in which case the search continues.
         -# Static events table of the handlers bound using event table
            macros is searched for this event handler. If this fails, the base
-           class event table table is tried, and so on until no more tables
+           class event table is tried, and so on until no more tables
            exist or an appropriate function was found. If a handler is found,
            the same logic as in the previous step applies.
         -# The search is applied down the entire chain of event handlers (usually the
@@ -779,7 +779,7 @@ public:
         more flexible as it also allows you to use ordinary functions and
         arbitrary functors as event handlers. It is also less restrictive then
         Connect() because you can use an arbitrary method as an event handler,
-        where as Connect() requires a wxEvtHandler derived handler.
+        whereas Connect() requires a wxEvtHandler derived handler.
 
         See @ref overview_events_bind for more detailed explanation
         of this function and the @ref page_samples_event sample for usage
@@ -1252,6 +1252,8 @@ enum wxKeyCategoryFlags
     Notice that currently no translation is done for the presses of @c [, @c
     \\, @c ], @c ^ and @c _ keys which might be mapped to ASCII values from 27
     to 31.
+    Since version 2.9.2, the enum values @c WXK_CONTROL_A - @c WXK_CONTROL_Z
+    can be used instead of the non-descriptive constant values 1-26.
 
     Finally, modifier keys only generate key events but no char events at all.
     The modifiers keys are @c WXK_SHIFT, @c WXK_CONTROL, @c WXK_ALT and various
@@ -1303,6 +1305,18 @@ enum wxKeyCategoryFlags
         Process a @c wxEVT_KEY_UP event (any key has been released).
     @event{EVT_CHAR(func)}
         Process a @c wxEVT_CHAR event.
+    @event{EVT_CHAR_HOOK(func)}
+        Process a @c wxEVT_CHAR_HOOK event which is sent to the active
+        wxTopLevelWindow (i.e. the one containing the currently focused window)
+        or wxApp global object if there is no active window before any other
+        keyboard events are generated giving the parent window the opportunity
+        to intercept all the keyboard entry. If the event is handled, i.e. the
+        handler doesn't call wxEvent::Skip(), no further keyboard events are
+        generated. Notice that this event is not generated when the mouse is
+        captured as it is considered that the window which has the capture
+        should receive all the keyboard events too without allowing its parent
+        wxTopLevelWindow to interfere with their processing. Also please note
+        that currently this event is not generated by wxOSX/Cocoa port.
     @endEventTable
 
     @see wxKeyboardState
@@ -1573,22 +1587,22 @@ public:
     @event{EVT_SCROLLWIN(func)}
         Process all scroll events.
     @event{EVT_SCROLLWIN_TOP(func)}
-        Process wxEVT_SCROLLWIN_TOP scroll-to-top events.
+        Process @c wxEVT_SCROLLWIN_TOP scroll-to-top events.
     @event{EVT_SCROLLWIN_BOTTOM(func)}
-        Process wxEVT_SCROLLWIN_BOTTOM scroll-to-bottom events.
+        Process @c wxEVT_SCROLLWIN_BOTTOM scroll-to-bottom events.
     @event{EVT_SCROLLWIN_LINEUP(func)}
-        Process wxEVT_SCROLLWIN_LINEUP line up events.
+        Process @c wxEVT_SCROLLWIN_LINEUP line up events.
     @event{EVT_SCROLLWIN_LINEDOWN(func)}
-        Process wxEVT_SCROLLWIN_LINEDOWN line down events.
+        Process @c wxEVT_SCROLLWIN_LINEDOWN line down events.
     @event{EVT_SCROLLWIN_PAGEUP(func)}
-        Process wxEVT_SCROLLWIN_PAGEUP page up events.
+        Process @c wxEVT_SCROLLWIN_PAGEUP page up events.
     @event{EVT_SCROLLWIN_PAGEDOWN(func)}
-        Process wxEVT_SCROLLWIN_PAGEDOWN page down events.
+        Process @c wxEVT_SCROLLWIN_PAGEDOWN page down events.
     @event{EVT_SCROLLWIN_THUMBTRACK(func)}
-        Process wxEVT_SCROLLWIN_THUMBTRACK thumbtrack events
+        Process @c wxEVT_SCROLLWIN_THUMBTRACK thumbtrack events
         (frequent events sent as the user drags the thumbtrack).
     @event{EVT_SCROLLWIN_THUMBRELEASE(func)}
-        Process wxEVT_SCROLLWIN_THUMBRELEASE thumb release events.
+        Process @c wxEVT_SCROLLWIN_THUMBRELEASE thumb release events.
     @endEventTable
 
 
@@ -1689,7 +1703,7 @@ public:
     */
     wxWindowCreateEvent(wxWindow* win = NULL);
 
-    /// Retutn the window being created.
+    /// Return the window being created.
     wxWindow *GetWindow() const;
 };
 
@@ -1787,6 +1801,10 @@ public:
     not sent when the window is restored to its original size after it had been
     maximized, only a normal wxSizeEvent is generated in this case.
 
+    Currently this event is only generated in wxMSW, wxGTK, wxOSX/Cocoa and wxOS2
+    ports so portable programs should only rely on receiving @c wxEVT_SIZE and
+    not necessarily this event when the window is maximized.
+
     @beginEventTable{wxMaximizeEvent}
     @event{EVT_MAXIMIZE(func)}
         Process a @c wxEVT_MAXIMIZE event.
@@ -2027,8 +2045,8 @@ public:
     wxTextCtrl but other windows can generate these events as well) when its
     content gets copied or cut to, or pasted from the clipboard.
 
-    There are three types of corresponding events wxEVT_COMMAND_TEXT_COPY,
-    wxEVT_COMMAND_TEXT_CUT and wxEVT_COMMAND_TEXT_PASTE.
+    There are three types of corresponding events @c wxEVT_COMMAND_TEXT_COPY,
+    @c wxEVT_COMMAND_TEXT_CUT and @c wxEVT_COMMAND_TEXT_PASTE.
 
     If any of these events is processed (without being skipped) by an event
     handler, the corresponding operation doesn't take place which allows to
@@ -2174,25 +2192,25 @@ public:
     /**
         Constructor. Valid event types are:
 
-         @li wxEVT_ENTER_WINDOW
-         @li wxEVT_LEAVE_WINDOW
-         @li wxEVT_LEFT_DOWN
-         @li wxEVT_LEFT_UP
-         @li wxEVT_LEFT_DCLICK
-         @li wxEVT_MIDDLE_DOWN
-         @li wxEVT_MIDDLE_UP
-         @li wxEVT_MIDDLE_DCLICK
-         @li wxEVT_RIGHT_DOWN
-         @li wxEVT_RIGHT_UP
-         @li wxEVT_RIGHT_DCLICK
-         @li wxEVT_MOUSE_AUX1_DOWN
-         @li wxEVT_MOUSE_AUX1_UP
-         @li wxEVT_MOUSE_AUX1_DCLICK
-         @li wxEVT_MOUSE_AUX2_DOWN
-         @li wxEVT_MOUSE_AUX2_UP
-         @li wxEVT_MOUSE_AUX2_DCLICK
-         @li wxEVT_MOTION
-         @li wxEVT_MOUSEWHEEL
+         @li @c wxEVT_ENTER_WINDOW
+         @li @c wxEVT_LEAVE_WINDOW
+         @li @c wxEVT_LEFT_DOWN
+         @li @c wxEVT_LEFT_UP
+         @li @c wxEVT_LEFT_DCLICK
+         @li @c wxEVT_MIDDLE_DOWN
+         @li @c wxEVT_MIDDLE_UP
+         @li @c wxEVT_MIDDLE_DCLICK
+         @li @c wxEVT_RIGHT_DOWN
+         @li @c wxEVT_RIGHT_UP
+         @li @c wxEVT_RIGHT_DCLICK
+         @li @c wxEVT_AUX1_DOWN
+         @li @c wxEVT_AUX1_UP
+         @li @c wxEVT_AUX1_DCLICK
+         @li @c wxEVT_AUX2_DOWN
+         @li @c wxEVT_AUX2_UP
+         @li @c wxEVT_AUX2_DCLICK
+         @li @c wxEVT_MOTION
+         @li @c wxEVT_MOUSEWHEEL
     */
     wxMouseEvent(wxEventType mouseEventType = wxEVT_NULL);
 
@@ -2613,7 +2631,7 @@ public:
         For the menu events, this method indicates if the menu item just has become
         checked or unchecked (and thus only makes sense for checkable menu items).
 
-        Notice that this method can not be used with wxCheckListBox currently.
+        Notice that this method cannot be used with wxCheckListBox currently.
     */
     bool IsChecked() const;
 
@@ -2673,7 +2691,7 @@ public:
         to wxApp only, and only on Windows SmartPhone and PocketPC.
         It is generated when the system is low on memory; the application should free
         up as much memory as possible, and restore full working state when it receives
-        a wxEVT_ACTIVATE or wxEVT_ACTIVATE_APP event.
+        a @c wxEVT_ACTIVATE or @c wxEVT_ACTIVATE_APP event.
     @endEventTable
 
     @library{wxcore}
@@ -2852,7 +2870,7 @@ public:
     child if it loses it now and regains later.
 
     Notice that child window is the direct child of the window receiving event.
-    Use wxWindow::FindFocus() to retreive the window which is actually getting focus.
+    Use wxWindow::FindFocus() to retrieve the window which is actually getting focus.
 
     @beginEventTable{wxChildFocusEvent}
     @event{EVT_CHILD_FOCUS(func)}
@@ -2890,11 +2908,11 @@ public:
 /**
     @class wxMouseCaptureLostEvent
 
-    An mouse capture lost event is sent to a window that obtained mouse capture,
-    which was subsequently loss due to "external" event, for example when a dialog
-    box is shown or if another application captures the mouse.
+    A mouse capture lost event is sent to a window that had obtained mouse capture,
+    which was subsequently lost due to an "external" event (for example, when a dialog
+    box is shown or if another application captures the mouse).
 
-    If this happens, this event is sent to all windows that are on capture stack
+    If this happens, this event is sent to all windows that are on the capture stack
     (i.e. called CaptureMouse, but didn't call ReleaseMouse yet). The event is
     not sent if the capture changes because of a call to CaptureMouse or
     ReleaseMouse.
@@ -3005,7 +3023,7 @@ public:
 /**
     @class wxThreadEvent
 
-    This class adds some simple functionalities to wxCommandEvent coinceived
+    This class adds some simple functionalities to wxCommandEvent conceived
     for inter-threads communications.
 
     This event is not natively emitted by any control/class: this is just
@@ -3202,45 +3220,45 @@ public:
     @event{EVT_SCROLL(func)}
         Process all scroll events.
     @event{EVT_SCROLL_TOP(func)}
-        Process wxEVT_SCROLL_TOP scroll-to-top events (minimum position).
+        Process @c wxEVT_SCROLL_TOP scroll-to-top events (minimum position).
     @event{EVT_SCROLL_BOTTOM(func)}
-        Process wxEVT_SCROLL_BOTTOM scroll-to-bottom events (maximum position).
+        Process @c wxEVT_SCROLL_BOTTOM scroll-to-bottom events (maximum position).
     @event{EVT_SCROLL_LINEUP(func)}
-        Process wxEVT_SCROLL_LINEUP line up events.
+        Process @c wxEVT_SCROLL_LINEUP line up events.
     @event{EVT_SCROLL_LINEDOWN(func)}
-        Process wxEVT_SCROLL_LINEDOWN line down events.
+        Process @c wxEVT_SCROLL_LINEDOWN line down events.
     @event{EVT_SCROLL_PAGEUP(func)}
-        Process wxEVT_SCROLL_PAGEUP page up events.
+        Process @c wxEVT_SCROLL_PAGEUP page up events.
     @event{EVT_SCROLL_PAGEDOWN(func)}
-        Process wxEVT_SCROLL_PAGEDOWN page down events.
+        Process @c wxEVT_SCROLL_PAGEDOWN page down events.
     @event{EVT_SCROLL_THUMBTRACK(func)}
-        Process wxEVT_SCROLL_THUMBTRACK thumbtrack events (frequent events sent as the
+        Process @c wxEVT_SCROLL_THUMBTRACK thumbtrack events (frequent events sent as the
         user drags the thumbtrack).
     @event{EVT_SCROLL_THUMBRELEASE(func)}
-        Process wxEVT_SCROLL_THUMBRELEASE thumb release events.
+        Process @c wxEVT_SCROLL_THUMBRELEASE thumb release events.
     @event{EVT_SCROLL_CHANGED(func)}
-        Process wxEVT_SCROLL_CHANGED end of scrolling events (MSW only).
+        Process @c wxEVT_SCROLL_CHANGED end of scrolling events (MSW only).
     @event{EVT_COMMAND_SCROLL(id, func)}
         Process all scroll events.
     @event{EVT_COMMAND_SCROLL_TOP(id, func)}
-        Process wxEVT_SCROLL_TOP scroll-to-top events (minimum position).
+        Process @c wxEVT_SCROLL_TOP scroll-to-top events (minimum position).
     @event{EVT_COMMAND_SCROLL_BOTTOM(id, func)}
-        Process wxEVT_SCROLL_BOTTOM scroll-to-bottom events (maximum position).
+        Process @c wxEVT_SCROLL_BOTTOM scroll-to-bottom events (maximum position).
     @event{EVT_COMMAND_SCROLL_LINEUP(id, func)}
-        Process wxEVT_SCROLL_LINEUP line up events.
+        Process @c wxEVT_SCROLL_LINEUP line up events.
     @event{EVT_COMMAND_SCROLL_LINEDOWN(id, func)}
-        Process wxEVT_SCROLL_LINEDOWN line down events.
+        Process @c wxEVT_SCROLL_LINEDOWN line down events.
     @event{EVT_COMMAND_SCROLL_PAGEUP(id, func)}
-        Process wxEVT_SCROLL_PAGEUP page up events.
+        Process @c wxEVT_SCROLL_PAGEUP page up events.
     @event{EVT_COMMAND_SCROLL_PAGEDOWN(id, func)}
-        Process wxEVT_SCROLL_PAGEDOWN page down events.
+        Process @c wxEVT_SCROLL_PAGEDOWN page down events.
     @event{EVT_COMMAND_SCROLL_THUMBTRACK(id, func)}
-        Process wxEVT_SCROLL_THUMBTRACK thumbtrack events (frequent events sent
+        Process @c wxEVT_SCROLL_THUMBTRACK thumbtrack events (frequent events sent
         as the user drags the thumbtrack).
     @event{EVT_COMMAND_SCROLL_THUMBRELEASE(func)}
-        Process wxEVT_SCROLL_THUMBRELEASE thumb release events.
+        Process @c wxEVT_SCROLL_THUMBRELEASE thumb release events.
     @event{EVT_COMMAND_SCROLL_CHANGED(func)}
-        Process wxEVT_SCROLL_CHANGED end of scrolling events (MSW only).
+        Process @c wxEVT_SCROLL_CHANGED end of scrolling events (MSW only).
     @endEventTable
 
     @library{wxcore}
@@ -3433,7 +3451,7 @@ public:
     */
     wxWindowDestroyEvent(wxWindow* win = NULL);
 
-    /// Retutn the window being destroyed.
+    /// Return the window being destroyed.
     wxWindow *GetWindow() const;
 };
 
@@ -3841,6 +3859,8 @@ public:
 
     A move event holds information about wxTopLevelWindow move change events.
 
+    These events are currently only generated by wxMSW port.
+
     @beginEventTable{wxMoveEvent}
     @event{EVT_MOVE(func)}
         Process a @c wxEVT_MOVE event, which is generated when a window is moved.