X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04b11eb3fb65462b5654cbb732aaf4898a93dd6c..74a8f67d96591cec101def2a7d47c64072aff7fd:/src/common/utilscmn.cpp?ds=sidebyside diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index 8b593c3091..4ff8dade7a 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) { @@ -562,6 +565,7 @@ bool wxGetEnvMap(wxEnvVariableHashMap *map) // 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 @@ -569,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 @@ -1349,6 +1361,8 @@ int wxMessageBox(const wxString& message, const wxString& caption, long style, return wxNO; case wxID_CANCEL: return wxCANCEL; + case wxID_HELP: + return wxHELP; } wxFAIL_MSG( wxT("unexpected return code from wxMessageDialog") ); @@ -1356,7 +1370,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; @@ -1389,7 +1403,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, @@ -1511,7 +1538,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); } @@ -1542,6 +1569,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; @@ -1604,6 +1637,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)