X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9c039d08bfbb59c0abcbc705fb49f9b2cb321edf..8516328f1bf774bbd96ce400945b0f06be93c397:/utils/wxPython/src/helpers.cpp diff --git a/utils/wxPython/src/helpers.cpp b/utils/wxPython/src/helpers.cpp index 13c94c45d8..834319f037 100644 --- a/utils/wxPython/src/helpers.cpp +++ b/utils/wxPython/src/helpers.cpp @@ -21,12 +21,6 @@ #include #include "helpers.h" -#ifdef __WXGTK__ -#ifdef wxUSE_GDK_IMLIB -#include "gdk_imlib/gdk_imlib.h" -#endif -#endif - //--------------------------------------------------------------------------- //wxHashTable* wxPyWindows = NULL; @@ -103,7 +97,7 @@ void wxPyApp::AfterMainLoop(void) { #ifdef __WXGTK__ wxApp::CommonCleanUp(); #endif - delete wxPythonApp; +// delete wxPythonApp; } @@ -113,7 +107,7 @@ void wxPyApp::AfterMainLoop(void) { // This is where we pick up the first part of the wxEntry functionality... -// The rest is in __wxStart and AfterMainLoop. Thi function is called when +// The rest is in __wxStart and AfterMainLoop. This function is called when // wxpc is imported. (Before there is a wxApp object.) void __wxPreStart() { @@ -140,12 +134,6 @@ void __wxPreStart() gtk_init( &argc, &argv ); delete [] argv; -#ifdef wxUSE_GDK_IMLIB - gdk_imlib_init(); - gtk_widget_push_visual(gdk_imlib_get_visual()); - gtk_widget_push_colormap(gdk_imlib_get_colormap()); -#endif - wxApp::CommonInit(); #endif @@ -291,7 +279,6 @@ void wxPyCallback::EventThunker(wxEvent& event) { tuple = PyTuple_New(1); PyTuple_SET_ITEM(tuple, 0, arg); result = PyEval_CallObject(func, tuple); - Py_DECREF(arg); Py_DECREF(tuple); if (result) { Py_DECREF(result); @@ -329,12 +316,12 @@ void wxPyMenu::MenuCallback(wxMenu& menu, wxCommandEvent& evt) { } // Now call the callback... PyObject* func = ((wxPyMenu*)&menu)->func; - PyObject* args = Py_BuildValue("(OO)", menuobj, evtobj); + PyObject* args = PyTuple_New(2); + PyTuple_SET_ITEM(args, 0, menuobj); + PyTuple_SET_ITEM(args, 1, evtobj); PyObject* res = PyEval_CallObject(func, args); Py_DECREF(args); - Py_DECREF(res); - Py_DECREF(evtobj); - Py_DECREF(menuobj); + Py_XDECREF(res); /* In case res is a NULL pointer */ } @@ -371,6 +358,29 @@ void wxPyTimer::Notify() { // imcluded in every file... +byte* byte_LIST_helper(PyObject* source) { + if (!PyList_Check(source)) { + PyErr_SetString(PyExc_TypeError, "Expected a list object."); + return NULL; + } + int count = PyList_Size(source); + byte* temp = new byte[count]; + if (! temp) { + PyErr_SetString(PyExc_MemoryError, "Unable to allocate temporary array"); + return NULL; + } + for (int x=0; xargc; -// char** argv = wxPythonApp->argv; - -// for (int i = 1; i < argc; i++) { -// if (strncmp(argv[i], "wxpstderr=", 10) == 0) -// stderrfilename = argv[i]+10; -// else { -// PyList_Append(argvList, PyString_FromString(argv[i])); -// if (!script) -// script = argv[i]; -// pyargc++; -// } -// } - -// PySys_SetObject("argv", argvList); - -//#if 1 -// char buf[256]; -//// //PyRun_SimpleString("import sys; sys.stdout=open('wxpstdout.log','w')"); -// sprintf(buf, "import sys; sys.stdout=sys.stderr=open('%s','w')", stderrfilename); -// PyRun_SimpleString(buf); -//#endif - -// initwxPythonc(); - -// if (script) { -// FILE *fp = fopen(script, "r"); -// if (fp) { -// PyRun_SimpleFile(fp, script);// This returns after wxpApp constructor -// fclose(fp); -// } -// else { -// char msg[256]; -// sprintf(msg, "Cannot open %s", script); -// wxMessageBox(msg); -// } -// } -// else -// PyRun_SimpleString("import wxpide"); - -// return 0; -//} - - -//#endif - -//---------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// 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 +// Changed the import semantics from "from wxPython import *" to "from +// wxPython.wx import *" This is for people who are worried about +// namespace pollution, they can use "from wxPython import wx" and then +// prefix all the wxPython identifiers with "wx." +// +// Added wxTaskbarIcon for wxMSW. +// +// Made the events work for wxGrid. +// +// Added wxConfig. +// +// Added wxMiniFrame for wxGTK, (untested.) +// +// Changed many of the args and return values that were pointers to gdi +// objects to references to reflect changes in the wxWindows API. +// +// Other assorted fixes and additions. +// +// Revision 1.14 1998/11/25 08:45:25 RD +// +// Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon +// Added events for wxGrid +// Other various fixes and additions +// +// Revision 1.13 1998/11/15 23:03:45 RD +// Removing some ifdef's for wxGTK +// +// Revision 1.12 1998/11/03 09:21:08 RD +// fixed a typo +// +// Revision 1.11 1998/10/20 06:43:58 RD +// New wxTreeCtrl wrappers (untested) +// some changes in helpers +// etc. +// // Revision 1.10 1998/10/02 06:40:39 RD +// // Version 0.4 of wxPython for MSW. // // Revision 1.9 1998/09/25 13:28:52 VZ