X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1f4c7e791bed162fc1b6d3bc03d875f1b9790c15..026c6eff708c867efe9eca35e41bf82b58ba1c1a:/src/common/utilscmn.cpp diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index 48e1549e7e..6e9a224e9d 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -52,6 +52,7 @@ #include "wx/uri.h" #include "wx/mimetype.h" #include "wx/config.h" +#include "wx/versioninfo.h" #if defined(__WXWINCE__) && wxUSE_DATETIME #include "wx/datetime.h" @@ -548,8 +549,10 @@ wxString wxGetCurrentDir() // ---------------------------------------------------------------------------- #ifdef __WXOSX__ +#if wxOSX_USE_COCOA_OR_CARBON #include #endif +#endif bool wxGetEnvMap(wxEnvVariableHashMap *map) { @@ -557,7 +560,12 @@ bool wxGetEnvMap(wxEnvVariableHashMap *map) #if defined(__VISUALC__) wxChar **env = _tenviron; +#elif defined(__VMS) + // Now this routine wil give false for OpenVMS + // TODO : should we do something with logicals? + char **env=NULL; #elif defined(__WXOSX__) +#if wxOSX_USE_COCOA_OR_CARBON // Under Mac shared libraries don't have access to the global environ // variable so use this Mac-specific function instead as advised by // environ(7) under Darwin @@ -565,9 +573,17 @@ bool wxGetEnvMap(wxEnvVariableHashMap *map) if ( !penv ) return false; char **env = *penv; +#else + char **env=NULL; + // todo translate NSProcessInfo environment into map +#endif #else // non-MSVC non-Mac // Not sure if other compilers have _tenviron so use the (more standard) // ANSI version only for them. +#ifdef __BSD__ + // POSIX, but not in an include file + extern char **environ; +#endif char **env = environ; #endif @@ -1352,7 +1368,7 @@ int wxMessageBox(const wxString& message, const wxString& caption, long style, return wxCANCEL; } -void wxInfoMessageBox(wxWindow* parent) +wxVersionInfo wxGetLibraryVersionInfo() { // don't translate these strings, they're for diagnostics purposes only wxString msg; @@ -1385,7 +1401,20 @@ void wxInfoMessageBox(wxWindow* parent) GTK_MICRO_VERSION); #endif // __WXGTK__ - msg += wxS("\nCopyright (c) 1995-2010 wxWidgets team"); + return wxVersionInfo(wxS("wxWidgets"), + wxMAJOR_VERSION, + wxMINOR_VERSION, + wxRELEASE_NUMBER, + msg, + wxS("Copyright (c) 1995-2010 wxWidgets team")); +} + +void wxInfoMessageBox(wxWindow* parent) +{ + wxVersionInfo info = wxGetLibraryVersionInfo(); + wxString msg = info.ToString(); + + msg << wxS("\n") << info.GetCopyright(); wxMessageBox(msg, wxT("wxWidgets information"), wxICON_INFORMATION | wxOK, @@ -1507,7 +1536,7 @@ wxColour wxGetColourFromUser(wxWindow *parent, wxFont wxGetFontFromUser(wxWindow *parent, const wxFont& fontInit, const wxString& caption) { wxFontData data; - if ( fontInit.Ok() ) + if ( fontInit.IsOk() ) { data.SetInitialFont(fontInit); } @@ -1538,6 +1567,12 @@ void wxEnableTopLevelWindows(bool enable) node->GetData()->Enable(enable); } +#if defined(__WXOSX__) && wxOSX_USE_COCOA + +// defined in evtloop.mm + +#else + wxWindowDisabler::wxWindowDisabler(bool disable) { m_disabled = disable; @@ -1600,6 +1635,8 @@ wxWindowDisabler::~wxWindowDisabler() delete m_winDisabled; } +#endif + // Yield to other apps/messages and disable user input to all windows except // the given one bool wxSafeYield(wxWindow *win, bool onlyIfNeeded)