Fixed ALL CAPS text bug in wxX11

Removed compiler warning in text sample


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2002-11-20 15:14:02 +00:00
parent 49cbccdd3f
commit d01e3d8d9e
4 changed files with 10 additions and 5 deletions

View File

@@ -58,7 +58,7 @@ extern bool wxAddClientWindowToTable(Window w, wxWindow *win);
// TranslateXXXEvent() functions - translate X event to wxWindow one
// ----------------------------------------------------------------------------
extern bool wxTranslateMouseEvent(wxMouseEvent& wxevent, wxWindow *win, Window window, XEvent *xevent);
extern bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window window, XEvent *xevent);
extern bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window window, XEvent *xevent, bool isAscii = FALSE);
extern Window wxGetWindowParent(Window window);

View File

@@ -1183,7 +1183,7 @@ void MyFrame::OnFileSave(wxCommandEvent& event)
wxLogStatus(this,
_T("Successfully saved file (text len = %lu, file size = %ld)"),
(unsigned long)m_panel->m_textrich->GetValue().length(),
file.Length());
(long) file.Length());
#endif
}
else

View File

@@ -593,6 +593,9 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
return TRUE;
keyEvent.SetEventType(wxEVT_CHAR);
// Do the translation again, retaining the ASCII
// code.
wxTranslateKeyEvent(keyEvent, win, window, event, TRUE);
if (win->GetEventHandler()->ProcessEvent( keyEvent ))
return TRUE;

View File

@@ -1514,7 +1514,7 @@ bool wxTranslateMouseEvent(wxMouseEvent& wxevent, wxWindow *win, Window window,
return FALSE;
}
bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window WXUNUSED(win), XEvent *xevent)
bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window WXUNUSED(win), XEvent *xevent, bool isAscii)
{
switch (XEventGetType(xevent))
{
@@ -1527,8 +1527,10 @@ bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window WXUNUSED(win
(void) XLookupString ((XKeyEvent *) xevent, buf, 20, &keySym, NULL);
int id = wxCharCodeXToWX (keySym);
// id may be WXK_xxx code - these are outside ASCII range, so we
// can't just use toupper() on id
if (id >= 'a' && id <= 'z')
// can't just use toupper() on id.
// Only change this if we want the raw key that was pressed,
// and don't change it if we want an ASCII value.
if (!isAscii && (id >= 'a' && id <= 'z'))
{
id = id + 'A' - 'a';
}