filled-in DOS parts of wxMGL utils

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2001-12-14 19:24:24 +00:00
parent dbdcff5102
commit 9210a48a33

View File

@ -43,13 +43,136 @@ 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)
{
#ifdef __WATCOMC__ // has putenv()
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;
#else // no way to set an env var
#error "Don't know how to implement wxSetEnv on this platform!"
return FALSE;
#endif
}
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), bool WXUNUSED(sync), wxProcess *WXUNUSED(process))
{
wxFAIL_MSG( wxT("wxExecute not implemented under MS-DOS!") );
return 0;
}
long wxExecute(wxChar **WXUNUSED(argv), bool WXUNUSED(sync), wxProcess *WXUNUSED(process))
{
wxFAIL_MSG( wxT("wxExecute not implemented under MS-DOS!") );
return 0;
}
#endif
// ----------------------------------------------------------------------------
// display characterstics
// ----------------------------------------------------------------------------
void wxDisplaySize(int *width, int *height)
{
wxASSERT_MSG( g_displayDC, wxT("You must call wxApp::SetDisplayMode before using this function") );
wxASSERT_MSG( g_displayDC, wxT("You must call wxApp::SetDisplayMode before using this function") );
if (width) *width = g_displayDC->sizex()+1;
if (height) *height = g_displayDC->sizey()+1;
}