X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4f22cf8ddb6d4c75eee97d1320ba20f7c82753c8..9f06bcb3b8aea7aa709754a217c26e94fe2d5954:/utils/wxPython/src/helpers.cpp diff --git a/utils/wxPython/src/helpers.cpp b/utils/wxPython/src/helpers.cpp index 834319f037..3dc40d7362 100644 --- a/utils/wxPython/src/helpers.cpp +++ b/utils/wxPython/src/helpers.cpp @@ -10,16 +10,23 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -#ifdef __WXMSW__ -#include -#undef FindWindow -#undef GetCharWidth -#undef LoadAccelerators + +#ifdef __WXGTK__ +#include "gtk/gtk.h" #endif #undef DEBUG #include #include "helpers.h" +#ifdef __WXMSW__ +#include +#undef FindWindow +#undef GetCharWidth +#undef LoadAccelerators +#undef GetClassInfo +#undef GetClassName +#endif +#include //--------------------------------------------------------------------------- @@ -33,8 +40,6 @@ wxString wxPyEmptyStr(""); #ifdef __WXMSW__ // If building for win32... -extern HINSTANCE wxhInstance; - //---------------------------------------------------------------------- // This gets run when the DLL is loaded. We just need to save a handle. //---------------------------------------------------------------------- @@ -45,7 +50,7 @@ BOOL WINAPI DllMain( LPVOID lpvReserved // reserved ) { - wxhInstance = hinstDLL; + wxSetInstance(hinstDLL); return 1; } #endif @@ -68,10 +73,10 @@ int wxPyApp::MainLoop(void) { return retval; } + void wxPyApp::AfterMainLoop(void) { // more stuff from wxEntry... -#ifdef __WXMSW__ if (wxPythonApp->GetTopWindow()) { // Forcibly delete the window. if (wxPythonApp->GetTopWindow()->IsKindOf(CLASSINFO(wxFrame)) || @@ -85,18 +90,12 @@ void wxPyApp::AfterMainLoop(void) { wxPythonApp->SetTopWindow(NULL); } } -#endif #ifdef __WXGTK__ wxPythonApp->DeletePendingObjects(); #endif wxPythonApp->OnExit(); -#ifdef __WXMSW__ wxApp::CleanUp(); -#endif -#ifdef __WXGTK__ - wxApp::CommonCleanUp(); -#endif // delete wxPythonApp; } @@ -120,9 +119,8 @@ void __wxPreStart() #ifdef __WXMSW__ wxApp::Initialize(); #endif -#ifdef __WXGTK__ - wxClassInfo::InitializeClasses(); +#ifdef __WXGTK__ PyObject* sysargv = PySys_GetObject("argv"); int argc = PyList_Size(sysargv); char** argv = new char*[argc+1]; @@ -131,10 +129,11 @@ void __wxPreStart() argv[x] = PyString_AsString(PyList_GetItem(sysargv, x)); argv[argc] = NULL; + gtk_set_locale(); gtk_init( &argc, &argv ); delete [] argv; - wxApp::CommonInit(); + wxApp::Initialize(); // may return FALSE. Should we check? #endif } @@ -183,12 +182,7 @@ PyObject* __wxStart(PyObject* /* self */, PyObject* args) if (! bResult) { wxPythonApp->DeletePendingObjects(); wxPythonApp->OnExit(); -#ifdef __WXMSW__ wxApp::CleanUp(); -#endif -#ifdef __WXGTK__ - wxApp::CommonCleanUp(); -#endif PyErr_SetString(PyExc_SystemExit, "OnInit returned false, exiting..."); return NULL; } @@ -590,7 +584,34 @@ wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source) { ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.19 1999/02/20 09:02:59 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// +// Revision 1.18 1999/01/30 08:17:27 RD +// +// Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. +// +// Various cleanup, tweaks, minor additions, etc. to maintain +// compatibility with the current wxWindows. +// +// Revision 1.17 1999/01/30 07:30:12 RD +// +// Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. +// +// Various cleanup, tweaks, minor additions, etc. to maintain +// compatibility with the current wxWindows. +// // Revision 1.16 1998/12/17 14:07:39 RR +// // Removed minor differences between wxMSW and wxGTK // // Revision 1.15 1998/12/15 20:41:19 RD