Added wx.PlatformInfo which is a tuple containing strings that
describe the platform and build options of wxPython. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -83,6 +83,10 @@ Added wx.Display and wx.VideoMode.
 | 
				
			|||||||
AppleEvents can be handled by overriding wx.App methods MacOpenFile,
 | 
					AppleEvents can be handled by overriding wx.App methods MacOpenFile,
 | 
				
			||||||
MacPrintFile, MacNewFile, and MacReopenApp.
 | 
					MacPrintFile, MacNewFile, and MacReopenApp.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Added wx.PlatformInfo which is a tuple containing strings that
 | 
				
			||||||
 | 
					describe the platform and build options of wxPython.  See the
 | 
				
			||||||
 | 
					MigrationGuide for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -415,6 +415,31 @@ Insert, Prepend, and etc.) methods any longer.  Just use Add and the
 | 
				
			|||||||
wrappers will figure out what to do.
 | 
					wrappers will figure out what to do.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PlatformInfo
 | 
				
			||||||
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Added wx.PlatformInfo which is a tuple containing strings that
 | 
				
			||||||
 | 
					describe the platform and build options of wxPython.  This lets you
 | 
				
			||||||
 | 
					know more about the build than just the __WXPORT__ value that
 | 
				
			||||||
 | 
					wx.Platform contains, such as if it is a GTK2 build.  For example,
 | 
				
			||||||
 | 
					instead of::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     if wx.Platform == "__WXGTK__":
 | 
				
			||||||
 | 
					         ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					you should do this::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if "__WXGTK__" in wx.PlatformInfo:
 | 
				
			||||||
 | 
					         ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					and you can specifically check for a wxGTK2 build by looking for
 | 
				
			||||||
 | 
					"gtk2" in wx.PlatformInfo.  Unicode builds are also detectable this
 | 
				
			||||||
 | 
					way.  If there are any other platform/toolkit/build flags that make
 | 
				
			||||||
 | 
					sense to add to this tuple please let me know.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BTW, wx.Platform will probably be deprecated in the future.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Other Stuff
 | 
					Other Stuff
 | 
				
			||||||
-----------
 | 
					-----------
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -561,18 +561,23 @@ PyObject* __wxPySetDictionary(PyObject* /* self */, PyObject* args)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#ifdef __WXMOTIF__
 | 
					#ifdef __WXMOTIF__
 | 
				
			||||||
#define wxPlatform "__WXMOTIF__"
 | 
					#define wxPlatform "__WXMOTIF__"
 | 
				
			||||||
 | 
					#define wxPlatName "wxMotif"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifdef __WXX11__
 | 
					#ifdef __WXX11__
 | 
				
			||||||
#define wxPlatform "__WXX11__"
 | 
					#define wxPlatform "__WXX11__"
 | 
				
			||||||
 | 
					#define wxPlatName "wxX11"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifdef __WXGTK__
 | 
					#ifdef __WXGTK__
 | 
				
			||||||
#define wxPlatform "__WXGTK__"
 | 
					#define wxPlatform "__WXGTK__"
 | 
				
			||||||
 | 
					#define wxPlatName "wxGTK"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if defined(__WIN32__) || defined(__WXMSW__)
 | 
					#ifdef __WXMSW__
 | 
				
			||||||
#define wxPlatform "__WXMSW__"
 | 
					#define wxPlatform "__WXMSW__"
 | 
				
			||||||
 | 
					#define wxPlatName "wxMSW"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifdef __WXMAC__
 | 
					#ifdef __WXMAC__
 | 
				
			||||||
#define wxPlatform "__WXMAC__"
 | 
					#define wxPlatform "__WXMAC__"
 | 
				
			||||||
 | 
					#define wxPlatName "wxMac"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __WXDEBUG__
 | 
					#ifdef __WXDEBUG__
 | 
				
			||||||
@@ -581,10 +586,41 @@ PyObject* __wxPySetDictionary(PyObject* /* self */, PyObject* args)
 | 
				
			|||||||
    int wxdebug = 0;
 | 
					    int wxdebug = 0;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // These should be deprecated in favor of the PlatformInfo tuple built below...
 | 
				
			||||||
    PyDict_SetItemString(wxPython_dict, "Platform", PyString_FromString(wxPlatform));
 | 
					    PyDict_SetItemString(wxPython_dict, "Platform", PyString_FromString(wxPlatform));
 | 
				
			||||||
    PyDict_SetItemString(wxPython_dict, "USE_UNICODE", PyInt_FromLong(wxUSE_UNICODE));
 | 
					    PyDict_SetItemString(wxPython_dict, "USE_UNICODE", PyInt_FromLong(wxUSE_UNICODE));
 | 
				
			||||||
    PyDict_SetItemString(wxPython_dict, "__WXDEBUG__", PyInt_FromLong(wxdebug));
 | 
					    PyDict_SetItemString(wxPython_dict, "__WXDEBUG__", PyInt_FromLong(wxdebug));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    PyObject* PlatInfo = PyList_New(0);
 | 
				
			||||||
 | 
					    PyObject* obj;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define _AddInfoString(st) \
 | 
				
			||||||
 | 
					    obj = PyString_FromString(st); \
 | 
				
			||||||
 | 
					    PyList_Append(PlatInfo, obj); \
 | 
				
			||||||
 | 
					    Py_DECREF(obj)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    _AddInfoString(wxPlatform);
 | 
				
			||||||
 | 
					    _AddInfoString(wxPlatName);
 | 
				
			||||||
 | 
					#if wxUSE_UNICODE
 | 
				
			||||||
 | 
					    _AddInfoString("unicode");
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    _AddInfoString("ascii");
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef __WXGTK__
 | 
				
			||||||
 | 
					#ifdef __WXGTK20__
 | 
				
			||||||
 | 
					    _AddInfoString("gtk2");
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    _AddInfoString("gtk1");
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef _AddInfoString
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PyObject* PlatInfoTuple = PyList_AsTuple(PlatInfo);
 | 
				
			||||||
 | 
					    Py_DECREF(PlatInfo);
 | 
				
			||||||
 | 
					    PyDict_SetItemString(wxPython_dict, "PlatformInfo", PlatInfoTuple);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    RETURN_NONE();
 | 
					    RETURN_NONE();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user