wxGetWorkingDirectory() deprecated. Fixed #1338966.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba
2005-11-07 13:27:09 +00:00
parent f3e874756b
commit ce045aed58
7 changed files with 322 additions and 288 deletions

View File

@@ -8,6 +8,7 @@ wxWidgets Change Log - For more verbose changes, see the manual
All:
- wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag
- wxGetWorkingDirectory() deprecated. Use wxGetCwd() instead.
All (GUI):

View File

@@ -1,3 +1,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: function.tex
%% Purpose: Functions and macros
%% Author: wxWidgets Team
%% Modified by:
%% Created:
%% RCS-ID: $Id$
%% Copyright: (c) wxWidgets Team
%% License: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Functions}\label{functions}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}
@@ -1122,7 +1133,7 @@ Returns a string containing the current (or working) directory.
\func{wxString}{wxGetWorkingDirectory}{\param{char *}{buf=NULL}, \param{int }{sz=1000}}
{\bf NB:} This function is obsolete: use \helpref{wxGetCwd}{wxgetcwd} instead.
{\bf NB:} This function is deprecated: use \helpref{wxGetCwd}{wxgetcwd} instead.
Copies the current working directory into the buffer if supplied, or
copies the working directory into new storage (which you {\emph must} delete
@@ -4472,4 +4483,3 @@ Removes the variable {\it var} from the environment.
function.
Returns \true on success.

View File

@@ -1,3 +1,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: image.tex
%% Purpose: wxImage documentation
%% Author: wxWidgets Team
%% Modified by:
%% Created:
%% RCS-ID: $Id$
%% Copyright: (c) wxWidgets Team
%% License: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxImage}}\label{wximage}
This class encapsulates a platform-independent image. An image can be created
@@ -410,7 +421,7 @@ It is usually a good idea to prepend a description before passing the result to
Example:
\begin{verbatim}
wxFileDialog FileDlg( this, "Choose Image", ::wxGetWorkingDirectory(), "", _("Image Files ") + wxImage::GetImageExtWildcard(), wxOPEN );
wxFileDialog FileDlg( this, "Choose Image", ::wxGetCwd(), "", _("Image Files ") + wxImage::GetImageExtWildcard(), wxOPEN );
\end{verbatim}
\wxheading{See also}
@@ -1436,4 +1447,3 @@ Sets the handler type.
\wxheading{Parameters}
\docparam{name}{Handler type.}

View File

@@ -438,13 +438,15 @@ WXDLLIMPEXP_BASE bool wxRemoveFile(const wxString& file);
WXDLLIMPEXP_BASE bool wxRenameFile(const wxString& file1, const wxString& file2);
// Get current working directory.
#if WXWIN_COMPATIBILITY_2_6
// If buf is NULL, allocates space using new, else
// copies into buf.
// IMPORTANT NOTE getcwd is know not to work under some releases
// of Win32s 1.3, according to MS release notes!
WXDLLIMPEXP_BASE wxChar* wxGetWorkingDirectory(wxChar *buf = (wxChar *) NULL, int sz = 1000);
wxDEPRECATED( WXDLLIMPEXP_BASE wxChar* wxGetWorkingDirectory(wxChar *buf = (wxChar *) NULL, int sz = 1000) );
// new and preferred version of wxGetWorkingDirectory
// NB: can't have the same name because of overloading ambiguity
#endif // WXWIN_COMPATIBILITY_2_6
WXDLLIMPEXP_BASE wxString wxGetCwd();
// Set working directory

View File

@@ -276,8 +276,7 @@ wxString wxPathList::FindAbsoluteValidPath (const wxString& file)
if ( f.empty() || wxIsAbsolutePath(f) )
return f;
wxString buf;
wxGetWorkingDirectory(wxStringBuffer(buf, _MAXPATHLEN), _MAXPATHLEN);
wxString buf = ::wxGetCwd();
if ( !wxEndsWithPathSeparator(buf) )
{
@@ -365,8 +364,8 @@ void wxStripExtension(wxChar *buffer)
void wxStripExtension(wxString& buffer)
{
//RN: Be careful about the handling the case where
//buffer.Length() == 0
for(size_t i = buffer.Length() - 1; i != wxString::npos; --i)
//buffer.length() == 0
for(size_t i = buffer.length() - 1; i != wxString::npos; --i)
{
if (buffer.GetChar(i) == wxT('.'))
{
@@ -432,26 +431,36 @@ wxChar *wxRealPath (wxChar *path)
return path;
}
wxString wxRealPath(const wxString& path)
{
wxChar *buf1=MYcopystring(path);
wxChar *buf2=wxRealPath(buf1);
wxString buf(buf2);
delete [] buf1;
return buf;
}
// Must be destroyed
wxChar *wxCopyAbsolutePath(const wxString& filename)
{
if (filename.empty())
return (wxChar *) NULL;
if (! wxIsAbsolutePath(wxExpandPath(wxFileFunctionsBuffer, filename))) {
wxChar buf[_MAXPATHLEN];
buf[0] = wxT('\0');
wxGetWorkingDirectory(buf, WXSIZEOF(buf));
wxChar ch = buf[wxStrlen(buf) - 1];
if (! wxIsAbsolutePath(wxExpandPath(wxFileFunctionsBuffer, filename)))
{
wxString buf = ::wxGetCwd();
wxChar ch = buf.Last();
#ifdef __WXMSW__
if (ch != wxT('\\') && ch != wxT('/'))
wxStrcat(buf, wxT("\\"));
buf << wxT("\\");
#else
if (ch != wxT('/'))
wxStrcat(buf, wxT("/"));
buf << wxT("/");
#endif
wxStrcat(buf, wxFileFunctionsBuffer);
return MYcopystring( wxRealPath(buf) );
buf << wxFileFunctionsBuffer;
buf = wxRealPath( buf );
return MYcopystring( buf );
}
return MYcopystring( wxFileFunctionsBuffer );
}
@@ -790,7 +799,7 @@ wxString wxPathOnly (const wxString& path)
// Local copy
wxStrcpy (buf, WXSTRINGCAST path);
int l = path.Length();
int l = path.length();
int i = l - 1;
// Search backward for a backward or forward slash
@@ -1331,17 +1340,21 @@ wxString wxFindNextFile()
// Get current working directory.
// If buf is NULL, allocates space using new, else
// copies into buf.
wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
// If buf is NULL, allocates space using new, else copies into buf.
// wxGetWorkingDirectory() is obsolete, use wxGetCwd()
// wxDoGetCwd() is their common core to be moved
// to wxGetCwd() once wxGetWorkingDirectory() will be removed.
// Do not expose wxDoGetCwd in headers!
wxChar *wxDoGetCwd(wxChar *buf, int sz)
{
#if defined(__WXPALMOS__)
// TODO ?
// TODO
if(buf && sz>0) buf[0] = _T('\0');
return NULL;
#elif defined(__WXWINCE__)
// TODO
wxUnusedVar(buf);
wxUnusedVar(sz);
if(buf && sz>0) buf[0] = _T('\0');
return NULL;
#else
if ( !buf )
@@ -1464,13 +1477,17 @@ wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
// __WXWINCE__
}
#if WXWIN_COMPATIBILITY_2_6
wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
{
return wxDoGetCwd(buf,sz);
}
#endif // WXWIN_COMPATIBILITY_2_6
wxString wxGetCwd()
{
wxChar *buffer = new wxChar[_MAXPATHLEN];
wxGetWorkingDirectory(buffer, _MAXPATHLEN);
wxString str( buffer );
delete [] buffer;
wxString str;
wxDoGetCwd(wxStringBuffer(str, _MAXPATHLEN), _MAXPATHLEN);
return str;
}

View File

@@ -238,9 +238,7 @@ bool wxExtHelpController::LoadFile(const wxString& ifile)
file = ifile;
if(! wxIsAbsolutePath(file))
{
wxChar* f = wxGetWorkingDirectory();
file = f;
delete[] f; // wxGetWorkingDirectory returns new memory
file = wxGetCwd();
#ifdef __WXMAC__
file << ifile;
#else
@@ -348,7 +346,7 @@ wxExtHelpController::DisplayContents()
file << m_MapFile << WXEXTHELP_SEPARATOR << contents;
if(file.Contains(wxT('#')))
file = file.BeforeLast(wxT('#'));
if(contents.Length() && wxFileExists(file))
if(contents.length() && wxFileExists(file))
rc = DisplaySection(CONTENTS_ID);
// if not found, open homemade toc:
@@ -466,4 +464,3 @@ void wxExtHelpController::OnQuit()
#endif // wxUSE_HELP

View File

@@ -5296,17 +5296,15 @@ bool RTFGo(void)
if (wxFileExists(OutputFile))
wxRemoveFile(OutputFile);
wxChar *cwdStr;
cwdStr = wxGetWorkingDirectory();
wxString cwdStr = wxGetCwd();
wxString outputDirStr;
outputDirStr = wxPathOnly(OutputFile);
wxString outputDirStr = wxPathOnly(OutputFile);
// Determine if the temp file and the output file are in the same directory,
// and if they are, then just rename the temp file rather than copying
// it, as this is much faster when working with large (multi-megabyte files)
if ((wxStrcmp(outputDirStr.c_str(),_T("")) == 0) || // no path specified on output file
(wxStrcmp(cwdStr,outputDirStr.c_str()) == 0)) // paths do not match
if ((outputDirStr.empty()) || // no path specified on output file
(cwdStr != outputDirStr)) // paths do not match
{
wxRenameFile(_T("tmp1.rtf"), OutputFile);
}
@@ -5314,7 +5312,6 @@ bool RTFGo(void)
{
wxCopyFile(_T("tmp1.rtf"), OutputFile);
}
delete [] cwdStr;
Tex2RTFYield(true);
wxRemoveFile(_T("tmp1.rtf"));
}