X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cd478a95098915942a1eb63963b1720362b0f6fe..bc14c8b21fe31a7bff1abf0fbb0eae2d5dd839df:/src/mgl/utils.cpp diff --git a/src/mgl/utils.cpp b/src/mgl/utils.cpp index a5c2f93497..563089b2f5 100644 --- a/src/mgl/utils.cpp +++ b/src/mgl/utils.cpp @@ -44,124 +44,6 @@ void wxBell() // FIXME_MGL } - -#ifdef __DOS__ -// VS: this should be in utilsdos.cpp, but since there will hardly ever -// be a non-MGL MS-DOS port... - -void wxSleep(int nSecs) -{ - wxUsleep(1000 * nSecs); -} - -void wxUsleep(unsigned long milliseconds) -{ - PM_sleep(milliseconds); -} - - -bool wxGetEnv(const wxString& var, wxString *value) -{ - // wxGetenv is defined as getenv() - wxChar *p = wxGetenv(var); - if ( !p ) - return FALSE; - - if ( value ) - *value = p; - - return TRUE; -} - -bool wxSetEnv(const wxString& variable, const wxChar *value) -{ - wxString s = variable; - if ( value ) - s << _T('=') << value; - - // transform to ANSI - const char *p = s.mb_str(); - - // the string will be free()d by libc - char *buf = (char *)malloc(strlen(p) + 1); - strcpy(buf, p); - - return putenv(buf) == 0; -} - -const wxChar* wxGetHomeDir(wxString *home) -{ - *home = wxT("."); - return home->c_str(); -} - -const wxChar* wxGetUserHomeDir(wxString *home) -{ - *home = wxT("."); - return home->c_str(); -} - -#if wxUSE_UNICODE -const wxMB2WXbuf wxGetUserHome(const wxString &user) -#else // just for binary compatibility -- there is no 'const' here -wxChar *wxGetUserHome(const wxString &user) -#endif -{ - return wxT("."); -} - -void wxFatalError(const wxString &msg, const wxString &title) -{ - if (!title.IsNull()) - wxFprintf( stderr, wxT("%s "), WXSTRINGCAST(title)); - PM_fatalError(msg.c_str()); -} - -bool wxGetUserId(wxChar *WXUNUSED(buf), int WXUNUSED(sz)) -{ - wxFAIL_MSG( wxT("wxGetUserId not implemented under MS-DOS!") ); - return FALSE; -} - -bool wxGetUserName(wxChar *WXUNUSED(buf), int WXUNUSED(sz)) -{ - wxFAIL_MSG( wxT("wxGetUserName not implemented under MS-DOS!") ); - return FALSE; -} - -bool wxGetHostName(wxChar *WXUNUSED(buf), int WXUNUSED(sz)) -{ - wxFAIL_MSG( wxT("wxGetHostName not implemented under MS-DOS!") ); - return FALSE; -} - -bool wxGetFullHostName(wxChar *WXUNUSED(buf), int WXUNUSED(sz)) -{ - wxFAIL_MSG( wxT("wxGetFullHostName not implemented under MS-DOS!") ); - return FALSE; -} - -int wxKill(long WXUNUSED(pid), wxSignal WXUNUSED(sig), wxKillError *WXUNUSED(rc)) -{ - wxFAIL_MSG( wxT("wxKill not implemented under MS-DOS!") ); - return 0; -} - -long wxExecute(const wxString& WXUNUSED(command), int WXUNUSED(flags), wxProcess *WXUNUSED(process)) -{ - wxFAIL_MSG( wxT("wxExecute not implemented under MS-DOS!") ); - return 0; -} - -long wxExecute(char **WXUNUSED(argv), int WXUNUSED(flags), wxProcess *WXUNUSED(process)) -{ - wxFAIL_MSG( wxT("wxExecute not implemented under MS-DOS!") ); - return 0; -} - - -#endif - // ---------------------------------------------------------------------------- // display characterstics // ---------------------------------------------------------------------------- @@ -178,11 +60,11 @@ void wxDisplaySizeMM(int *width, int *height) wxASSERT_MSG( g_displayDC, wxT("You must call wxApp::SetDisplayMode before using this function") ); int xDPI, yDPI; - MGL_getDotsPerInch(&xDPI, &yDPI); - - if ( width ) + MGL_getDotsPerInch(&xDPI, &yDPI); + + if ( width ) *width = (int)((g_displayDC->sizex()+1) * 25.4 / xDPI); - if ( height ) + if ( height ) *height = (int)((g_displayDC->sizey()+1) * 25.4 / yDPI); } @@ -197,7 +79,7 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height) bool wxColourDisplay() { wxASSERT_MSG( g_displayDC, wxT("You must call wxApp::SetDisplayMode before using this function") ); - + return (wxDisplayDepth() > 1); } @@ -208,26 +90,76 @@ int wxDisplayDepth() return g_displayDC->getBitsPerPixel(); } -int wxGUIAppTraits::GetOSVersion(int *majorVsn, int *minorVsn) +wxString wxGetOsDescription() { - if ( majorVsn ) - *majorVsn = MGL_RELEASE_MAJOR; - if ( minorVsn ) - *minorVsn = MGL_RELEASE_MINOR; + wxString osname( #if defined(__UNIX__) - return wxMGL_UNIX; + _T("Unix") #elif defined(__OS2__) - return wxMGL_OS2; + _T("OS/2") #elif defined(__WIN32__) - return wxMGL_WIN32; + _T("Windows") #elif defined(__DOS__) - return wxMGL_DOS; + _T("DOS") +#else + _T("unknown") +#endif + + ); + + return osname; +} + +#if wxUSE_GUI + +wxToolkitInfo& wxGUIAppTraits::GetToolkitInfo() +{ + static wxToolkitInfo info; + info.shortName = _T("mgluniv"); + info.name = _T("wxMGL"); + info.versionMajor = MGL_RELEASE_MAJOR; + info.versionMinor = MGL_RELEASE_MINOR; + info.os = wxGTK; +#if defined(__UNIX__) + info.os = wxMGL_UNIX; +#elif defined(__OS2__) + info.os = wxMGL_OS2; +#elif defined(__WIN32__) + info.os = wxMGL_WIN32; +#elif defined(__DOS__) + info.os = wxMGL_DOS; #else #error Platform not supported by wxMGL! #endif + return info; } +#endif + +#if 0 +wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo() +{ + static wxToolkitInfo info; + info.shortName = _T("mglbase"); + info.versionMajor = MGL_RELEASE_MAJOR; + info.versionMinor = MGL_RELEASE_MINOR; + info.name = _T("wxBase"); + info.os = wxGTK; +#if defined(__UNIX__) + info.os = wxMGL_UNIX; +#elif defined(__OS2__) + info.os = wxMGL_OS2; +#elif defined(__WIN32__) + info.os = wxMGL_WIN32; +#elif defined(__DOS__) + info.os = wxMGL_DOS; +#else + #error Platform not supported by wxMGL! +#endif + return info; +} +#endif void wxGetMousePosition(int* x, int* y) {