From 6d2df48070686c9a3a41ecbf30cf6c8255b35d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sun, 23 Apr 2000 19:07:42 +0000 Subject: [PATCH] VFS -> virtual file system expansion; fixed typos in fs.tex git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/fs.tex | 48 ++++++++++++++++++++++---------------- docs/latex/wx/tsamples.tex | 2 +- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/docs/latex/wx/fs.tex b/docs/latex/wx/fs.tex index 6e2ce3c683..d75fe081a6 100644 --- a/docs/latex/wx/fs.tex +++ b/docs/latex/wx/fs.tex @@ -2,21 +2,22 @@ The wxHTML library uses a {\bf virtual file systems} mechanism similar to the one used in Midnight Commander, Dos Navigator, -FAR or almost any modern file manager. (Do you remember? You can -press enter on a ZIP file and its contents are displayed as if it -were a local directory.) +FAR or almost any modern file manager. It allows the user to access +data stored in archives as if they were ordinary files. On-the-fly +generated files that exist only in memory are also supported. \wxheading{Classes} -Three classes are used in order to provide full VFS: +Three classes are used in order to provide virtual file systems mechanism: \begin{itemize}\itemsep=0pt \item The \helpref{wxFSFile}{wxfsfile} class provides information -on opened file (name, input stream, mime type and anchor). +about opened file (name, input stream, mime type and anchor). \item The \helpref{wxFileSystem}{wxfilesystem} class is the interface. Its main methods are ChangePathTo() and OpenFile(). This class is most often used by the end user. \item The \helpref{wxFileSystemHandler}{wxfilesystemhandler} is the core +of virtual file systems mechanism. You can derive your own handler and pass it to of the VFS mechanism. You can derive your own handler and pass it to wxFileSystem's AddHandler() method. In the new handler you only need to override the OpenFile() and CanOpen() methods. @@ -31,7 +32,7 @@ Locations (aka filenames aka addresses) are constructed from four parts: file by checking its protocol. Examples are "http", "file" or "ftp". \item {\bf right location} - is the name of file within the protocol. In "http://www.wxwindows.org/index.html" the right location is "//www.wxwindows.org/index.html". -\item {\bf anchor} - anchor is optional and is usually not present. +\item {\bf anchor} - an anchor is optional and is usually not present. In "index.htm\#chapter2" the anchor is "chapter2". \item {\bf left location} - this is usually an empty string. It is used by 'local' protocols such as ZIP. @@ -40,33 +41,37 @@ See Combined Protocols paragraph for details. \wxheading{Combined Protocols} -The left location pretends the protocol in the URL string. -It is not used by global protocols like HTTP but it is used -by local ones - for example you can see this address: +The left location precedes protocol in the URL string. +It is not used by global protocols like HTTP but it becomes handy when nesting +protocols - for example you may want to access files in ZIP archive that is +located on some FTP server: + +ftp:ftp.archives.org/pub/cpp\_doc.zip\#zip:reference/fopen.htm\#syntax + +In fact, you have to use 'left location' even when accessing local ZIPs: file:archives/cpp\_doc.zip\#zip:reference/fopen.htm\#syntax -In this example, protocol is "zip", left location is -"reference/fopen.htm", anchor is "syntax" and right location -is "file:archives/cpp\_doc.zip". It is used by zip handler -to determine in what file this particular zip VFS is stored. +In this example, the protocol is "zip", the left location is +"reference/fopen.htm", the anchor is "syntax" and the right location +is "file:archives/cpp\_doc.zip". -In fact there are two protocols used in this example: zip and file. +There are {\bf two} protocols used in this example: "zip" and "file". You can construct even more complicated addresses like this one: http://www.archives.org/myarchive.zip\#zip:local/docs/cpp/stdio.zip\#zip:index.htm -In this example you access zip VFS stdio.zip stored in another zip (myarchive.zip) -which is at WWW. +In this example you access zip virtual file system stdio.zip stored in another zip (myarchive.zip) +which can be found at WWW. \wxheading{File Systems Included in wxHTML} -The following VFS handlers are part of wxWindows so far: +The following virtual file system handlers are part of wxWindows so far: \begin{twocollist} -\twocolitem{{\bf wxInternetFSHandler}}{Handler for accessing documents +\twocolitem{{\bf wxInternetFSHandler}}{A handler for accessing documents via HTTP or FTP protocols. Include file is .} -\twocolitem{{\bf wxZipFSHandler}}{Handler for ZIP archives. +\twocolitem{{\bf wxZipFSHandler}}{A handler for ZIP archives. Include file is . URL is in form "archive.zip\#zip:filename".} \twocolitem{{\bf wxMemoryFSHandler}}{This handler allows you to access data stored in memory (such as bitmaps) as if they were regular files. @@ -75,7 +80,10 @@ Include file is . UURL is prefixed with memory:, e.g. "memory:myfile.htm"} \end{twocollist} -In addition, wxFileSystem can access local files. +In addition, wxFileSystem itself can access local files. + + +\wxheading{Initializing file system handlers} Use \helpref{wxFileSystem::AddHandler}{wxfilesystemaddhandler} to initialize a handler, for example: diff --git a/docs/latex/wx/tsamples.tex b/docs/latex/wx/tsamples.tex index 7541669a4e..9ea71aebb9 100644 --- a/docs/latex/wx/tsamples.tex +++ b/docs/latex/wx/tsamples.tex @@ -239,7 +239,7 @@ the library to work with unsupported tags. handler (ships with wxWindows) allows you to access HTML pages stored in compressed archive as if they were ordinary files. -{\bf Virtual} is yet another VFS demo. This one generates pages at run-time. +{\bf Virtual} is yet another virtual file systems demo. This one generates pages at run-time. You may find it useful if you need to display some reports in your application. {\bf Printing} explains use of \helpref{wxHtmlEasyPrinting}{wxhtmleasyprinting}