// 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()
#endif // wxUSE_OLE
-#if wxUSE_CTL3D
- if (!Ctl3dRegister(wxhInstance))
- wxLogError(wxT("Cannot register CTL3D"));
-
- Ctl3dAutoSubclass(wxhInstance);
-#endif // wxUSE_CTL3D
-
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
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;
wxCleanUpPenWin();
#endif
- if ( wxDisableButtonBrush )
- ::DeleteObject( wxDisableButtonBrush );
-
#if wxUSE_OLE
#ifdef __WXWINCE__
::CoUninitialize();
// unregister the classes now
UnregisterWindowClasses();
-#if wxUSE_CTL3D
- Ctl3dUnregister(wxhInstance);
-#endif
-
delete wxWinHandleHash;
wxWinHandleHash = NULL;
}
#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
+