]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/filesys.tex
Added wxMemoryDC::SelectObjectAsSource() and make SelectObject() unshare
[wxWidgets.git] / docs / latex / wx / filesys.tex
index 0e7ec2db5e6e0207286e58b6f6a733f31d6aba9b..2d38e300a553a24c45a2c9d8d33ce1f3a8b1613f 100644 (file)
@@ -3,25 +3,27 @@
 % filesystem.tex at 21/Mar/99 23:00:52
 %
 
 % filesystem.tex at 21/Mar/99 23:00:52
 %
 
-
 \section{\class{wxFileSystem}}\label{wxfilesystem}
 
 \section{\class{wxFileSystem}}\label{wxfilesystem}
 
-This class provides interface for opening files on different
+This class provides an interface for opening files on different
 file systems. It can handle absolute and/or local filenames.
 file systems. It can handle absolute and/or local filenames.
-It uses system of \helpref{handlers}{wxfilesystemhandler} to
+It uses system of \helpref{handlers}{wxfilesystemhandler} to
 provide access to user-defined virtual file systems.
 
 \wxheading{Derived from}
 
 provide access to user-defined virtual file systems.
 
 \wxheading{Derived from}
 
-wxObject
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/filesys.h>
 
 \wxheading{See Also}
 
 
 \wxheading{See Also}
 
-\helpref{wxFileSystemHandler}{wxfilesystemhandler},
-\helpref{wxFSFile}{wxfsfile},
+\helpref{wxFileSystemHandler}{wxfilesystemhandler}, 
+\helpref{wxFSFile}{wxfsfile}, 
 \helpref{Overview}{fs}
 
 \helpref{Overview}{fs}
 
-
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
@@ -31,36 +33,67 @@ wxObject
 
 Constructor. 
 
 
 Constructor. 
 
+
+\membersection{wxFileSystem::AddHandler}\label{wxfilesystemaddhandler}
+
+\func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}}
+
+This static function adds new handler into the list of 
+\helpref{handlers}{wxfilesystemhandler} which provide access to virtual FS.
+Note that if two handlers for the same protocol are added, the last one added
+takes precedence.
+
+\wxheading{Note}
+
+You can call:
+
+\begin{verbatim}
+wxFileSystem::AddHandler(new My_FS_Handler);
+\end{verbatim}
+
+This is because (a) AddHandler is a static method, and (b) the handlers
+are deleted in wxFileSystem's destructor so that you don't have to
+care about it.
+
+
+\membersection{wxFileSystem::HasHandlerForPath}\label{wxfilesystemhashandlerforpath}
+
+\func{static bool}{HasHandlerForPath}{\param{const wxString \&}{ location}}
+
+This static function returns \true if there is a registered handler which can open the given
+location.
+
+
 \membersection{wxFileSystem::ChangePathTo}\label{wxfilesystemchangepathto}
 
 \membersection{wxFileSystem::ChangePathTo}\label{wxfilesystemchangepathto}
 
-\func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = FALSE}}
+\func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = false}}
 
 Sets the current location. {\it location} parameter passed to 
 \helpref{OpenFile}{wxfilesystemopenfile} is relative to this path.
 
 
 Sets the current location. {\it location} parameter passed to 
 \helpref{OpenFile}{wxfilesystemopenfile} is relative to this path.
 
-{\bf Caution! } Unless {\it is\_dir} is TRUE the {\it location} parameter
-is not directory name but the name of the file in this directory!! All these
-commands change path to "dir/subdir/" :
+{\bf Caution! } Unless {\it is\_dir} is true the {\it location} parameter
+is not the directory name but the name of the file in this directory. All these
+commands change the path to "dir/subdir/":
 
 \begin{verbatim}
 
 \begin{verbatim}
-ChangePathTo("dir/subdir/xh.htm");
-ChangePathTo("dir/subdir", TRUE);
-ChangePathTo("dir/subdir/", TRUE);
+  ChangePathTo("dir/subdir/xh.htm");
+  ChangePathTo("dir/subdir", true);
+  ChangePathTo("dir/subdir/", true);
 \end{verbatim}
 
 \wxheading{Parameters}
 
 \end{verbatim}
 
 \wxheading{Parameters}
 
-\docparam{location}{the new location. Its meaning depends on value of {\it is\_dir}}
+\docparam{location}{the new location. Its meaning depends on the value of {\it is\_dir}}
 
 
-\docparam{is\_dir}{if TRUE {\it location} is new directory. If FALSE (default)
+\docparam{is\_dir}{if true {\it location} is new directory. If false (default) 
 {\it location} is {\bf file in} the new directory.}
 
 \wxheading{Example}
 
 \begin{verbatim}
 {\it location} is {\bf file in} the new directory.}
 
 \wxheading{Example}
 
 \begin{verbatim}
-f = fs -> OpenFile("hello.htm"); // opens file 'hello.htm'
-fs -> ChangePathTo("subdir/folder", TRUE);
-f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !!
+  f = fs -> OpenFile("hello.htm"); // opens file 'hello.htm'
+  fs -> ChangePathTo("subdir/folder", true);
+  f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !!
 \end{verbatim}
 
 
 \end{verbatim}
 
 
@@ -71,31 +104,73 @@ f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !!
 Returns actual path (set by \helpref{ChangePathTo}{wxfilesystemchangepathto}).
 
 
 Returns actual path (set by \helpref{ChangePathTo}{wxfilesystemchangepathto}).
 
 
+\membersection{wxFileSystem::FileNameToURL}\label{wxfilesystemfilenametourl}
+
+\func{static wxString}{FileNameToURL}{\param{wxFileName }{filename}}
+
+Converts filename into URL.
+
+\wxheading{See also}
+
+\helpref{wxFileSystem::URLToFileName}{wxfilesystemurltofilename},
+\helpref{wxFileName}{wxfilename}
+
+
+\membersection{wxFileSystem::FindFileInPath}\label{wxfilesystemfindfileinpath}
+
+\func{bool}{FindFileInPath}{\param{wxString }{*str}, \param{const wxChar }{*path}, \param{const wxChar }{*file}}
+
+Looks for the file with the given name \arg{file} in a colon or semi-colon
+(depending on the current platform) separated list of directories in
+\arg{path}. If the file is found in any directory, returns \true and the full
+path of the file in \arg{str}, otherwise returns \false and doesn't modify 
+\arg{str}.
+
+\wxheading{Parameters}
+
+\docparam{str}{Receives the full path of the file, must not be \NULL}
+
+\docparam{path}{\texttt{wxPATH\_SEP}-separated list of directories}
+
+\docparam{file}{the name of the file to look for}
+
+
+\membersection{wxFileSystem::FindFirst}\label{wxfilesystemfindfirst}
+
+\func{wxString}{FindFirst}{\param{const wxString\& }{wildcard}, \param{int }{flags = 0}}
+
+Works like \helpref{wxFindFirstFile}{wxfindfirstfile}. Returns name of the first
+filename (within filesystem's current path) that matches {\it wildcard}. {\it flags} may be one of
+wxFILE (only files), wxDIR (only directories) or 0 (both).
+
+
+\membersection{wxFileSystem::FindNext}\label{wxfilesystemfindnext}
+
+\func{wxString}{FindNext}{\void}
+
+Returns the next filename that matches parameters passed to \helpref{FindFirst}{wxfilesystemfindfirst}.
+
+
 \membersection{wxFileSystem::OpenFile}\label{wxfilesystemopenfile}
 
 \func{wxFSFile*}{OpenFile}{\param{const wxString\& }{location}}
 
 \membersection{wxFileSystem::OpenFile}\label{wxfilesystemopenfile}
 
 \func{wxFSFile*}{OpenFile}{\param{const wxString\& }{location}}
 
-Opens file and returns pointer to \helpref{wxFSFile}{wxfsfile} object
+Opens the file and returns a pointer to a \helpref{wxFSFile}{wxfsfile} object
 or NULL if failed. It first tries to open the file in relative scope
 (based on value passed to ChangePathTo() method) and then as an
 or NULL if failed. It first tries to open the file in relative scope
 (based on value passed to ChangePathTo() method) and then as an
-absolute path.
-
+absolute path.  Note that the user is responsible for deleting the returned
+wxFSFile.  
 
 
-\membersection{wxFileSystem::AddHandler}\label{wxfilesystemaddhandler}
 
 
-\func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}}
+\membersection{wxFileSystem::URLToFileName}\label{wxfilesystemurltofilename}
 
 
-This static function adds new handler into the list of handlers.
-The \helpref{handlers}{wxfilesystemhandler} provide access to virtual FS.
+\func{static wxFileName}{URLToFileName}{\param{const wxString\& }{url}}
 
 
-\wxheading{Note}
+Converts URL into a well-formed filename. The URL must use the {\tt file} 
+protocol.
 
 
-You can call
+\wxheading{See also}
 
 
-\begin{verbatim}
-wxFileSystem::AddHandler(new My_FS_Handler);
-\end{verbatim}
+\helpref{wxFileSystem::FileNameToURL}{wxfilesystemfilenametourl}, 
+\helpref{wxFileName}{wxfilename}
 
 
-This is because a) AddHandler is static method and b) the handlers
-are deleted in wxFileSystem's destructor so that you don't have to
-care about it.