// NB: all "NoRedraw" classes must have the same names as the "normal" classes
// with NR suffix - wxWindow::MSWCreate() supposes this
#ifdef __WXWINCE__
- wxChar *wxCanvasClassName;
- wxChar *wxCanvasClassNameNR;
+WXDLLIMPEXP_CORE wxChar *wxCanvasClassName;
+WXDLLIMPEXP_CORE wxChar *wxCanvasClassNameNR;
#else
-const wxChar *wxCanvasClassName = wxT("wxWindowClass");
-const wxChar *wxCanvasClassNameNR = wxT("wxWindowClassNR");
+WXDLLIMPEXP_CORE const wxChar *wxCanvasClassName = wxT("wxWindowClass");
+WXDLLIMPEXP_CORE const wxChar *wxCanvasClassNameNR = wxT("wxWindowClassNR");
#endif
-const wxChar *wxMDIFrameClassName = wxT("wxMDIFrameClass");
-const wxChar *wxMDIFrameClassNameNoRedraw = wxT("wxMDIFrameClassNR");
-const wxChar *wxMDIChildFrameClassName = wxT("wxMDIChildFrameClass");
-const wxChar *wxMDIChildFrameClassNameNoRedraw = wxT("wxMDIChildFrameClassNR");
-
-HBRUSH wxDisableButtonBrush = (HBRUSH) 0;
+WXDLLIMPEXP_CORE const wxChar *wxMDIFrameClassName = wxT("wxMDIFrameClass");
+WXDLLIMPEXP_CORE const wxChar *wxMDIFrameClassNameNoRedraw = wxT("wxMDIFrameClassNR");
+WXDLLIMPEXP_CORE const wxChar *wxMDIChildFrameClassName = wxT("wxMDIChildFrameClass");
+WXDLLIMPEXP_CORE const wxChar *wxMDIChildFrameClassNameNoRedraw = wxT("wxMDIChildFrameClassNR");
// ----------------------------------------------------------------------------
// private functions
{
wxEndBusyCursor();
- const ChildWaitLoopData * const data = (ChildWaitLoopData *)dataOrig;
+ ChildWaitLoopData * const data = (ChildWaitLoopData *)dataOrig;
delete data->wd;
// the other windows reenabled, the activation is going to return to the
// window which had had it before
data->winActive->Destroy();
+
+ // also delete the temporary data object itself
+ delete data;
}
bool wxGUIAppTraits::DoMessageFromThreadWait()
MB_ICONERROR | MB_OK
);
- return FALSE;
+ return false;
}
#endif // wxUSE_UNICODE && !wxUSE_UNICODE_MSLU
RegisterWindowClasses();
-#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
- // Create the brush for disabling bitmap buttons
- LOGBRUSH lb;
- lb.lbStyle = BS_PATTERN;
- lb.lbColor = 0;
- lb.lbHatch = (int)LoadBitmap( wxhInstance, wxT("wxDISABLE_BUTTON_BITMAP") );
- if ( lb.lbHatch )
- {
- wxDisableButtonBrush = ::CreateBrushIndirect( &lb );
- ::DeleteObject( (HGDIOBJ)lb.lbHatch );
- }
- //else: wxWidgets resources are probably not linked in
-#endif // !__WXMICROWIN__ && !__WXWINCE__
-
#if wxUSE_PENWINDOWS
wxRegisterPenWin();
#endif
wxWinHandleHash = new wxWinHashTable(wxKEY_INTEGER, 100);
#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
- wxSetKeyboardHook(TRUE);
+ wxSetKeyboardHook(true);
#endif
callBaseCleanup.Dismiss();
wndclass.hInstance = wxhInstance;
wndclass.hCursor = ::LoadCursor((HINSTANCE)NULL, IDC_ARROW);
- // Register the frame window class.
- wndclass.hbrBackground = (HBRUSH)(COLOR_APPWORKSPACE + 1);
+ // register the class for all normal windows
+ wndclass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
wndclass.lpszClassName = wxCanvasClassName;
wndclass.style = styleNormal;
wxLogLastError(wxT("RegisterClass(no redraw MDI child)"));
}
- return TRUE;
+ return true;
}
// ---------------------------------------------------------------------------
bool wxApp::UnregisterWindowClasses()
{
- bool retval = TRUE;
+ bool retval = true;
#ifndef __WXMICROWIN__
// MDI frame window class.
{
wxLogLastError(wxT("UnregisterClass(MDI parent)"));
- retval = FALSE;
+ retval = false;
}
// "no redraw" MDI frame
{
wxLogLastError(wxT("UnregisterClass(no redraw MDI parent frame)"));
- retval = FALSE;
+ retval = false;
}
// MDI child frame window class.
{
wxLogLastError(wxT("UnregisterClass(MDI child)"));
- retval = FALSE;
+ retval = false;
}
// "no redraw" MDI child frame
{
wxLogLastError(wxT("UnregisterClass(no redraw MDI child)"));
- retval = FALSE;
+ retval = false;
}
// canvas class name
{
wxLogLastError(wxT("UnregisterClass(canvas)"));
- retval = FALSE;
+ retval = false;
}
if ( !::UnregisterClass(wxCanvasClassNameNR, wxhInstance) )
{
wxLogLastError(wxT("UnregisterClass(no redraw canvas)"));
- retval = FALSE;
+ retval = false;
}
#endif // __WXMICROWIN__
wxAppBase::CleanUp();
#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
- wxSetKeyboardHook(FALSE);
+ wxSetKeyboardHook(false);
#endif
#if wxUSE_PENWINDOWS
wxCleanUpPenWin();
#endif
- if ( wxDisableButtonBrush )
- ::DeleteObject( wxDisableButtonBrush );
-
#if wxUSE_OLE
#ifdef __WXWINCE__
::CoUninitialize();
void wxApp::OnEndSession(wxCloseEvent& WXUNUSED(event))
{
if (GetTopWindow())
- GetTopWindow()->Close(TRUE);
+ GetTopWindow()->Close(true);
}
// Default behaviour: close the application with prompts. The
if (GetTopWindow())
{
if (!GetTopWindow()->Close(!event.CanVeto()))
- event.Veto(TRUE);
+ event.Veto(true);
}
}
/* static */
int wxApp::GetComCtl32Version()
{
-//FIX ME FOR DIGITALMARS!!
-#if defined(__WXMICROWIN__) || defined(__WXWINCE__) || defined(__DIGITALMARS__)
+#if defined(__WXMICROWIN__) || defined(__WXWINCE__)
return 0;
#else
// cache the result
bool wxApp::Yield(bool onlyIfNeeded)
{
// MT-FIXME
- static bool s_inYield = FALSE;
+ static bool s_inYield = false;
#if wxUSE_LOG
// disable log flushing from here because a call to wxYield() shouldn't
wxFAIL_MSG( wxT("wxYield called recursively" ) );
}
- return FALSE;
+ return false;
}
- s_inYield = TRUE;
+ s_inYield = true;
// we don't want to process WM_QUIT from here - it should be processed in
// the main event loop in order to stop it
wxLog::Resume();
#endif // wxUSE_LOG
- s_inYield = FALSE;
+ s_inYield = false;
- return TRUE;
+ return true;
}
#if wxUSE_EXCEPTIONS
}
#endif // wxUSE_EXCEPTIONS
+
+// ----------------------------------------------------------------------------
+// deprecated event loop functions
+// ----------------------------------------------------------------------------
+
+#if WXWIN_COMPATIBILITY_2_4
+
+#include "wx/evtloop.h"
+
+void wxApp::DoMessage(WXMSG *pMsg)
+{
+ wxEventLoop *evtLoop = wxEventLoop::GetActive();
+ if ( evtLoop )
+ evtLoop->ProcessMessage(pMsg);
+}
+
+bool wxApp::DoMessage()
+{
+ wxEventLoop *evtLoop = wxEventLoop::GetActive();
+ return evtLoop ? evtLoop->Dispatch() : false;
+}
+
+bool wxApp::ProcessMessage(WXMSG* pMsg)
+{
+ wxEventLoop *evtLoop = wxEventLoop::GetActive();
+ return evtLoop && evtLoop->PreProcessMessage(pMsg);
+}
+
+#endif // WXWIN_COMPATIBILITY_2_4
+