X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5a23a495e428c85c9a4e2581ef47d5eaf3aece1c..2713fedc4644942bab59472b90612ffbe37c2760:/src/os2/utils.cpp?ds=sidebyside diff --git a/src/os2/utils.cpp b/src/os2/utils.cpp index 323687354e..02f775d5fd 100644 --- a/src/os2/utils.cpp +++ b/src/os2/utils.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: utils.cpp +// Name: src/os2/utils.cpp // Purpose: Various utilities // Author: David Webster // Modified by: @@ -12,14 +12,15 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#include "wx/utils.h" + #ifndef WX_PRECOMP - #include "wx/setup.h" - #include "wx/utils.h" #include "wx/app.h" + #include "wx/intl.h" + #include "wx/log.h" #endif //WX_PRECOMP #include "wx/os2/private.h" -#include "wx/intl.h" #include "wx/apptrait.h" #include @@ -27,7 +28,6 @@ #include #endif -#include "wx/log.h" #include @@ -59,18 +59,17 @@ static const wxChar eHOSTNAME[] = _T("HostName"); // functions beyond those provided by WinSock // Get full hostname (eg. DoDo.BSn-Germany.crg.de) -bool wxGetHostName( - wxChar* zBuf -, int nMaxSize -) +bool wxGetHostName( wxChar* zBuf, int nMaxSize ) { -#if wxUSE_NET_API - char zServer[256]; - char zComputer[256]; - unsigned long ulLevel = 0; - unsigned char* zBuffer = NULL; - unsigned long ulBuffer = 256; - unsigned long* pulTotalAvail = NULL; + if (!zBuf) return false; + +#if defined(wxUSE_NET_API) && wxUSE_NET_API + char zServer[256]; + char zComputer[256]; + unsigned long ulLevel = 0; + unsigned char* zBuffer = NULL; + unsigned long ulBuffer = 256; + unsigned long* pulTotalAvail = NULL; NetBios32GetInfo( (const unsigned char*)zServer ,(const unsigned char*)zComputer @@ -81,8 +80,8 @@ bool wxGetHostName( ); strcpy(zBuf, zServer); #else - wxChar* zSysname; - const wxChar* zDefaultHost = _T("noname"); + wxChar* zSysname; + const wxChar* zDefaultHost = _T("noname"); if ((zSysname = wxGetenv(_T("SYSTEM_NAME"))) == NULL) { @@ -95,9 +94,13 @@ bool wxGetHostName( ); } else + { wxStrncpy(zBuf, zSysname, nMaxSize - 1); + } + zBuf[nMaxSize] = _T('\0'); #endif + return *zBuf ? true : false; } @@ -133,19 +136,17 @@ int wxKill(long lPid, // // Execute a program in an Interactive Shell // -bool wxShell( - const wxString& rCommand -) +bool wxShell( const wxString& rCommand ) { - wxChar* zShell = _T("CMD.EXE"); - wxString sInputs; - STARTDATA SData = {0}; - PSZ PgmTitle = "Command Shell"; - APIRET rc; - PID vPid = 0; - ULONG ulSessID = 0; - UCHAR achObjBuf[256] = {0}; //error data if DosStart fails - RESULTCODES vResult; + wxChar* zShell = _T("CMD.EXE"); + wxString sInputs; + STARTDATA SData = {0}; + PSZ PgmTitle = "Command Shell"; + APIRET rc; + PID vPid = 0; + ULONG ulSessID = 0; + UCHAR achObjBuf[256] = {0}; //error data if DosStart fails + RESULTCODES vResult; SData.Length = sizeof(STARTDATA); SData.Related = SSF_RELATED_INDEPENDENT; @@ -196,18 +197,6 @@ bool wxShutdown(wxShutdownFlags WXUNUSED(wFlags)) return false; } -wxPowerType wxGetPowerType() -{ - // TODO - return wxPOWER_UNKNOWN; -} - -wxBatteryState wxGetBatteryState() -{ - // TODO - return wxBATTERY_UNKNOWN_STATE; -} - // Get free memory in bytes, or -1 if cannot determine amount (e.g. on UNIX) wxMemorySize wxGetFreeMemory() { @@ -300,62 +289,6 @@ void wxFlushEvents() // wxYield(); } -#if WXWIN_COMPATIBILITY_2_2 - -// Output a debug mess., in a system dependent fashion. -void wxDebugMsg( - const wxChar* zFmt ... -) -{ - va_list vAp; - static wxChar zBuffer[512]; - - if (!wxTheApp->GetWantDebugOutput()) - return ; - va_start(vAp, zFmt); - sprintf(zBuffer, zFmt, vAp) ; - va_end(vAp); -} - -// Non-fatal error: pop up message box and (possibly) continue -void wxError( - const wxString& rMsg -, const wxString& rTitle -) -{ - wxChar *wxBuffer = new wxChar[256]; - wxSprintf(wxBuffer, "%s\nContinue?", WXSTRINGCAST rMsg); - if (::WinMessageBox( HWND_DESKTOP - ,NULL - ,(PSZ)wxBuffer - ,(PSZ)WXSTRINGCAST rTitle - ,0 - ,MB_ICONEXCLAMATION | MB_YESNO - ) == MBID_YES) - delete[] wxBuffer; - wxExit(); -} - -// Fatal error: pop up message box and abort -void wxFatalError( - const wxString& rMsg -, const wxString& rTitle -) -{ - unsigned long ulRc; - - ulRc = ::WinMessageBox( HWND_DESKTOP - ,NULL - ,WXSTRINGCAST rMsg - ,WXSTRINGCAST rTitle - ,0 - ,MB_NOICON | MB_OK - ); - DosExit(EXIT_PROCESS, ulRc); -} - -#endif // WXWIN_COMPATIBILITY_2_2 - // Emit a beeeeeep void wxBell() { @@ -498,9 +431,9 @@ wxChar* wxGetUserHome ( const wxString &rUser ) return (wxChar*)wxEmptyString; // No home known! } -wxString WXDLLEXPORT wxPMErrorToStr(ERRORID vError) +wxString wxPMErrorToStr(ERRORID vError) { - wxString sError; + wxString sError; // // Remove the high order byte -- it is useless @@ -548,10 +481,110 @@ wxString WXDLLEXPORT wxPMErrorToStr(ERRORID vError) sError = wxT("Valid name format, but cannot find name in atom table"); break; + case PMERR_INV_HPS: + sError = wxT("PMERR_INV_HPS"); + break; + + case PMERR_PS_BUSY: + sError = wxT("PMERR_PS_BUSY"); + break; + + case PMERR_INV_PRIMITIVE_TYPE: + sError = wxT("PMERR_INV_PRIMITIVE_TYPE"); + break; + + case PMERR_UNSUPPORTED_ATTR: + sError = wxT("PMERR_UNSUPPORTED_ATTR"); + break; + + case PMERR_INV_COLOR_ATTR: + sError = wxT("PMERR_INV_COLOR_ATTR"); + break; + + case PMERR_INV_BACKGROUND_COL_ATTR: + sError = wxT("PMERR_INV_BACKGROUND_COL_ATTR"); + break; + + case PMERR_INV_MIX_ATTR: + sError = wxT("PMERR_INV_MIX_ATTR"); + break; + + case PMERR_INV_LINE_WIDTH_ATTR: + sError = wxT("PMERR_INV_LINE_WIDTH_ATTR"); + break; + + case PMERR_INV_GEOM_LINE_WIDTH_ATTR: + sError = wxT("PMERR_INV_GEOM_LINE_WIDTH_ATTR"); + break; + + case PMERR_INV_LINE_TYPE_ATTR: + sError = wxT("PMERR_INV_LINE_TYPE_ATTR"); + break; + + case PMERR_INV_LINE_END_ATTR: + sError = wxT("PMERR_INV_LINE_END_ATTR"); + break; + + case PMERR_INV_LINE_JOIN_ATTR: + sError = wxT("PMERR_INV_LINE_JOIN_ATTR"); + break; + + case PMERR_INV_CHAR_SET_ATTR: + sError = wxT("PMERR_INV_CHAR_SET_ATTR"); + break; + + case PMERR_INV_CHAR_MODE_ATTR: + sError = wxT("PMERR_INV_CHAR_MODE_ATTR"); + break; + + case PMERR_INV_CHAR_DIRECTION_ATTR: + sError = wxT("PMERR_INV_CHAR_DIRECTION_ATTR"); + break; + + case PMERR_INV_CHAR_SHEAR_ATTR: + sError = wxT("PMERR_INV_CHAR_SHEAR_ATTR"); + break; + + case PMERR_INV_CHAR_ANGLE_ATTR: + sError = wxT("PMERR_INV_CHAR_ANGLE_ATTR"); + break; + + case PMERR_INV_MARKER_SET_ATTR: + sError = wxT("PMERR_INV_MARKER_SET_ATTR"); + break; + + case PMERR_INV_MARKER_SYMBOL_ATTR: + sError = wxT("PMERR_INV_MARKER_SYMBOL_ATTR"); + break; + + case PMERR_INV_PATTERN_SET_ATTR: + sError = wxT("PMERR_INV_PATTERN_SET_ATTR"); + break; + + case PMERR_INV_PATTERN_ATTR: + sError = wxT("PMERR_INV_PATTERN_ATTR"); + break; + + case PMERR_INV_COORDINATE: + sError = wxT("PMERR_INV_COORDINATE"); + break; + + case PMERR_UNSUPPORTED_ATTR_VALUE: + sError = wxT("PMERR_UNSUPPORTED_ATTR_VALUE"); + break; + + case PMERR_INV_PATTERN_SET_FONT: + sError = wxT("PMERR_INV_PATTERN_SET_FONT"); + break; + + case PMERR_HUGE_FONTS_NOT_SUPPORTED: + sError = wxT("PMERR_HUGE_FONTS_NOT_SUPPORTED"); + break; + default: sError = wxT("Unknown error"); } - return(sError); + return sError; } // end of wxPMErrorToStr // replacement for implementation in unix/utilsunx.cpp,