1. wxDialogs are now destroyed when they go out of scope

2. [GS]etDefaultItem() are now in wxPanel, not wxWindow
3. better checking for g_isPainting - hopefully no more false asserts
4. wxListCtrl not recreated any more when view changes, this corrects
   the bug with selection not working after view mode change
5. wxListCtrl now generates wxEVT_ITEM_ACTIVATED event
6. you can now press/toggle a button with a space
7. couple of other minor fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-06-17 21:21:52 +00:00
parent f7bdcdd70d
commit edccf4281b
16 changed files with 478 additions and 374 deletions

View File

@@ -119,17 +119,6 @@ wxMenu *wxCurrentPopupMenu = NULL;
extern wxList WXDLLEXPORT wxPendingDelete;
extern wxChar wxCanvasClassName[];
#ifdef __WXDEBUG__
// see comments in dcclient.cpp where g_isPainting is defined
extern bool g_isPainting;
inline static void wxStartPainting() { g_isPainting = TRUE; }
inline static void wxEndPainting() { g_isPainting = FALSE; }
#else // !debug
inline static void wxStartPainting() { }
inline static void wxEndPainting() { }
#endif // debug/!debug
// ---------------------------------------------------------------------------
// private functions
// ---------------------------------------------------------------------------
@@ -1421,27 +1410,16 @@ bool wxWindow::MSWProcessMessage(WXMSG* pMsg)
case VK_RETURN:
{
if ( lDlgCode & DLGC_WANTMESSAGE )
if ( (lDlgCode & DLGC_WANTMESSAGE) && !bCtrlDown )
{
// control wants to process Enter itself, don't
// call IsDialogMessage() which would interpret
// it
return FALSE;
}
#ifndef __WIN16__
wxButton *btnDefault = GetDefaultItem();
if ( btnDefault && !bCtrlDown )
{
// if there is a default button, Enter should
// press it
(void)::SendMessage((HWND)btnDefault->GetHWND(),
BM_CLICK, 0, 0);
return TRUE;
}
// else: but if there is not it makes sense to make it
// else: but if it does not it makes sense to make it
// work like a TAB - and that's what we do.
// Note that Ctrl-Enter always works this way.
#endif
}
break;
@@ -1688,9 +1666,7 @@ long wxWindow::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
break;
case WM_PAINT:
wxStartPainting();
processed = HandlePaint();
wxEndPainting();
break;
case WM_CLOSE:
@@ -1814,7 +1790,10 @@ long wxWindow::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
case VK_RETURN:
case VK_BACK:
case VK_TAB:
processed = TRUE;
// but set processed to FALSE, not TRUE to still pass them to
// the control's default window proc - otherwise built-in
// keyboard handling won't work
processed = FALSE;
break;