]> git.saurik.com Git - wxWidgets.git/commitdiff
Add WXK_NONE symbolic constant indicating absence of a key.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 11 Sep 2010 10:18:41 +0000 (10:18 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 11 Sep 2010 10:18:41 +0000 (10:18 +0000)
wxKeyEvent::GetKeyCode() and GetUnicodeKey() return 0 to indicate that the key
code or Unicode character is not available, give symbolic name to this 0 to
make the code using these methods more clear.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/defs.h
interface/wx/defs.h
interface/wx/event.h
src/common/event.cpp

index 26acd387f09f60b36c4024928e04471246cd2403..5e006edbf21efef0dc6730fe43a5a96379daa0ea 100644 (file)
@@ -2289,9 +2289,11 @@ enum wxDataFormatId
     wxDF_MAX
 };
 
-/*  Virtual keycodes */
+/* Key codes */
 enum wxKeyCode
 {
+    WXK_NONE    =    0,
+
     WXK_BACK    =    8, // backspace
     WXK_TAB     =    9,
     WXK_RETURN  =    13,
index 0aad3aaf2e580c5cfd8e8edad37b08f0ab07fa44..9971fa818e384157789db92c04a72af1b4f02d37 100644 (file)
@@ -486,13 +486,27 @@ enum wxDataFormatId
 /**
     Virtual keycodes used by wxKeyEvent and some other wxWidgets functions.
 
-    Note that the range @c 33 - @c 126 is reserved for the standard ASCII
-    characters and that the range @c 128 - @c 255 is reserved for the
-    extended ASCII characters (which are not really standard and thus should
-    be avoid in portable apps!).
+    Note that the range <code>0..255</code> corresponds to the characters of
+    the current locale, in particular the <code>32..127</code> subrange is for
+    the ASCII symbols, and all the special key values such as @c WXK_END lie
+    above this range.
 */
 enum wxKeyCode
 {
+    /**
+        No key.
+
+        This value is returned by wxKeyEvent::GetKeyCode() if there is no
+        non-Unicode representation for the pressed key (e.g. a Cyrillic letter
+        was entered when not using a Cyrillic locale) and by
+        wxKeyEvent::GetUnicodeKey() if there is no Unicode representation for
+        the key (this happens for the special, non printable, keys only, e.g.
+        WXK_HOME).
+
+        @since 2.9.2 (you can simply use 0 with previous versions).
+     */
+    WXK_NONE    =    0,
+
     WXK_BACK    =    8,     //!< Backspace.
     WXK_TAB     =    9,
     WXK_RETURN  =    13,
@@ -502,9 +516,11 @@ enum wxKeyCode
     WXK_DELETE  =    127,
 
     /**
-        These are, by design, not compatible with unicode characters.
-        If you want to get a unicode character from a key event, use
-        wxKeyEvent::GetUnicodeKey instead.
+        Special key values.
+
+        These are, by design, not compatible with Unicode characters.
+        If you want to get a Unicode character from a key event, use
+        wxKeyEvent::GetUnicodeKey() instead.
     */
     WXK_START   = 300,
     WXK_LBUTTON,
index ce3793bd082399d36043e86c4bc4c2d4e6a411f8..f83909bfc7f077a3b615fe63296c7dfe9da003b7 100644 (file)
@@ -1323,7 +1323,8 @@ public:
         Returns the Unicode character corresponding to this key event.
 
         If the key pressed doesn't have any character value (e.g. a cursor key)
-        this method will return 0.
+        this method will return @c WXK_NONE. In this case you should use
+        GetKeyCode() to retrieve the value of the key.
 
         This function is only available in Unicode build, i.e. when
         @c wxUSE_UNICODE is 1.
index dd439f8427143f58215dc47086697ef2bf788be9..4a9ade6ccf7afbbc3df746d09224d1ddbb51d3d2 100644 (file)
@@ -733,9 +733,9 @@ wxPoint wxMouseEvent::GetLogicalPosition(const wxDC& dc) const
 wxKeyEvent::wxKeyEvent(wxEventType type)
 {
     m_eventType = type;
-    m_keyCode = 0;
+    m_keyCode = WXK_NONE;
 #if wxUSE_UNICODE
-    m_uniChar = 0;
+    m_uniChar = WXK_NONE;
 #endif
 }