]> git.saurik.com Git - wxWidgets.git/commitdiff
added and documented wxKeyEvent::GetUnicodeKey(); made it work for MSW; added test...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 26 Jun 2004 13:14:24 +0000 (13:14 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 26 Jun 2004 13:14:24 +0000 (13:14 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
docs/latex/wx/keyevent.tex
samples/text/text.cpp
src/msw/window.cpp

index 35cb4de59db34cc9f082f589a45983db8f3494e9..edf66ac999df37d8eaf38bb2381b4098c9fcc966 100644 (file)
@@ -112,20 +112,17 @@ All:
 - number of fixes to wxPluginManager (Rick Brice, Hans Van Leemputten)
 - fixed memory leak in wxURL when using a proxy (Steven Van Ingelgem)
 - fixed bug in wxDateTime::Set(jdn) when DST was in effect
-- it's now possible to use msgids in other languages than English with
-  wxLocale (based on patch by Stefan Kowski)
+- support msgids in charsets other than C (based on patch by Stefan Kowski)
 
 All (GUI):
 
 - added wxTaskBarIcon::CreatePopupMenu which is now recommended way
   of showing popup menu; calling wxTaskBarIcon::PopupMenu directly
   is discouraged
-- Added ..._CMD_... variants for wxGrid event table entry macros
-  taking window identifiers
-- Added wxWindowBase::Navigate for programmatic navigation to the next
-  control.
-- On most platforms, wxTextCtrl::OnChar now inserts a tab character if
-  wxTE_PROCESS_TAB is set, or navigates to the next control if not.
+- Added ..._CMD_...(id) variants for wxGrid event table entry macros
+- Added wxWindow::Navigate for programmatic navigation to the next control.
+- wxTextCtrl::OnChar now inserts a tab character if wxTE_PROCESS_TAB is set
+- added wxKeyEvent::GetUnicodeKey()
 
 Unix:
 
@@ -140,11 +137,12 @@ wxGTK:
 
 wxMotif:
 
-- added 3 state checkbox
+- added support for wxCHK_3STATE style (3 state checkbox)
 
 wxMSW:
 
 - fixed UNC paths handling in wxFileSystem (Daniel Nash)
+- set wxKeyEvent::m_uniChar in Unicode build
 
 wxWinCE:
 
index 5a54a47e6551012cd66e0030d627aeb64200e3ed..ad045258a250b53bfaadf791e2c93604dce34c17 100644 (file)
@@ -78,66 +78,77 @@ functions that take a wxKeyEvent argument.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxKeyEvent::m\_altDown}
 
 \member{bool}{m\_altDown}
 
 true if the Alt key is pressed down.
 
+
 \membersection{wxKeyEvent::m\_controlDown}
 
 \member{bool}{m\_controlDown}
 
 true if control is pressed down.
 
+
 \membersection{wxKeyEvent::m\_keyCode}
 
 \member{long}{m\_keyCode}
 
 Virtual keycode. See \helpref{Keycodes}{keycodes} for a list of identifiers.
 
+
 \membersection{wxKeyEvent::m\_metaDown}
 
 \member{bool}{m\_metaDown}
 
 true if the Meta key is pressed down.
 
+
 \membersection{wxKeyEvent::m\_shiftDown}
 
 \member{bool}{m\_shiftDown}
 
 true if shift is pressed down.
 
+
 \membersection{wxKeyEvent::m\_x}
 
 \member{int}{m\_x}
 
 X position of the event.
 
+
 \membersection{wxKeyEvent::m\_y}
 
 \member{int}{m\_y}
 
 Y position of the event.
 
+
 \membersection{wxKeyEvent::wxKeyEvent}
 
 \func{}{wxKeyEvent}{\param{WXTYPE}{ keyEventType}}
 
 Constructor. Currently, the only valid event types are wxEVT\_CHAR and wxEVT\_CHAR\_HOOK.
 
+
 \membersection{wxKeyEvent::AltDown}
 
 \constfunc{bool}{AltDown}{\void}
 
 Returns true if the Alt key was down at the time of the key event.
 
+
 \membersection{wxKeyEvent::ControlDown}
 
 \constfunc{bool}{ControlDown}{\void}
 
 Returns true if the control key was down at the time of the key event.
 
+
 \membersection{wxKeyEvent::GetKeyCode}
 
 \constfunc{int}{GetKeyCode}{\void}
@@ -146,6 +157,16 @@ Returns the virtual key code. ASCII events return normal ASCII values,
 while non-ASCII events return values such as {\bf WXK\_LEFT} for the
 left cursor key. See \helpref{Keycodes}{keycodes} for a full list of the virtual key codes.
 
+
+\membersection{wxKeyEvent::GetPosition}
+
+\constfunc{wxPoint}{GetPosition}{\void}
+
+\constfunc{void}{GetPosition}{\param{long *}{x}, \param{long *}{y}}
+
+Obtains the position (in client coordinates) at which the key was pressed.
+
+
 \membersection{wxKeyEvent::GetRawKeyCode}
 
 \constfunc{wxUint32}{GetRawKeyCode}{\void}
@@ -156,6 +177,7 @@ which should only be used in advanced applications.
 {\bf NB:} Currently the raw key codes are not supported by all ports, use
 {\tt\#ifdef wxHAS\_RAW\_KEY\_CODES} to determine if this feature is available.
 
+
 \membersection{wxKeyEvent::GetRawKeyFlags}
 
 \constfunc{wxUint32}{GetRawKeyFlags}{\void}
@@ -166,31 +188,30 @@ platform-dependent and should only be used in advanced applications.
 {\bf NB:} Currently the raw key flags are not supported by all ports, use
 {\tt \#ifdef wxHAS\_RAW\_KEY\_CODES} to determine if this feature is available.
 
-\membersection{wxKeyEvent::GetX}
 
-\constfunc{long}{GetX}{\void}
+\membersection{wxKeyEvent::GetUnicodeKey}
 
-Returns the X position (in client coordinates) of the event.
+\constfunc{wxChar}{GetUnicodeKey}{\void}
 
-\membersection{wxKeyEvent::GetY}
+Returns the Unicode character corresponding to this key event.
 
-\constfunc{long}{GetY}{\void}
+This function is only available in Unicode build, i.e. when
+\texttt{wxUSE\_UNICODE} is $1$.
 
-Returns the Y (in client coordinates) position of the event.
 
-\membersection{wxKeyEvent::MetaDown}
+\membersection{wxKeyEvent::GetX}
 
-\constfunc{bool}{MetaDown}{\void}
+\constfunc{long}{GetX}{\void}
 
-Returns true if the Meta key was down at the time of the key event.
+Returns the X position (in client coordinates) of the event.
 
-\membersection{wxKeyEvent::GetPosition}
 
-\constfunc{wxPoint}{GetPosition}{\void}
+\membersection{wxKeyEvent::GetY}
 
-\constfunc{void}{GetPosition}{\param{long *}{x}, \param{long *}{y}}
+\constfunc{long}{GetY}{\void}
+
+Returns the Y (in client coordinates) position of the event.
 
-Obtains the position (in client coordinates) at which the key was pressed.
 
 \membersection{wxKeyEvent::HasModifiers}
 
@@ -203,6 +224,14 @@ the latter is that it is common for {\sc NumLock} key to be configured as
 {\sc Meta} under X but the key presses even while {\sc NumLock} is on should
 be still processed normally).
 
+
+\membersection{wxKeyEvent::MetaDown}
+
+\constfunc{bool}{MetaDown}{\void}
+
+Returns true if the Meta key was down at the time of the key event.
+
+
 \membersection{wxKeyEvent::ShiftDown}\label{wxkeyeventshiftdown}
 
 \constfunc{bool}{ShiftDown}{\void}
index 9bdf91d3036db3a101f43fb5285f44427c9d5c2a..c229d8c0a78ea40b0d3c5d74ae241badf341bb9c 100644 (file)
@@ -581,6 +581,10 @@ void MyTextCtrl::LogKeyEvent(const wxChar *name, wxKeyEvent& event) const
         }
     }
 
+#if wxUSE_UNICODE
+    key += wxString::Format(_T(" (Unicode: %#04x)"), event.GetUnicodeKey());
+#endif // wxUSE_UNICODE
+
     wxLogMessage( _T("%s event: %s (flags = %c%c%c%c)"),
                   name,
                   key.c_str(),
index 51552987e4ad223da7c3d9c81c029f3f612eef8e..0bfc2289326c7a66ec6fb81852dc1ba6817f13cc 100644 (file)
@@ -4522,6 +4522,9 @@ wxKeyEvent wxWindowMSW::CreateKeyEvent(wxEventType evType,
 
     event.m_eventObject = (wxWindow *)this; // const_cast
     event.m_keyCode = id;
+#if wxUSE_UNICODE
+    event.m_uniChar = wParam;
+#endif
     event.m_rawCode = (wxUint32) wParam;
     event.m_rawFlags = (wxUint32) lParam;
 #ifndef __WXWINCE__