]> git.saurik.com Git - wxWidgets.git/commitdiff
use an internal wxFileSystem in wxHtmlListBox so that references to images could...
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 30 Apr 2004 22:44:03 +0000 (22:44 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 30 Apr 2004 22:44:03 +0000 (22:44 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
docs/latex/wx/htmllbox.tex
include/wx/htmllbox.h
src/generic/htmllbox.cpp

index 5aff49c6a3af0fe86707c233f601925012d65099..53124c555c420192d609ba0252a10403c3d81053 100644 (file)
@@ -112,6 +112,7 @@ All (GUI):
   min size using SetSizeHints, and calls to wxSizer::SetItemMinSize
   are also forwarded to SetSizeHints for window items.
 - added wxRegEx::GetMatchCount()
+- it is now possible to display images in wxHtmlListBox
 
 wxMSW:
 
index 63729f58564f41a3266f4b98c505868b41f9696c..170f542d7a35e1f7adcbaaba811b3dc293d75132 100644 (file)
@@ -63,6 +63,19 @@ wxListBox styles can not be used here.
 Returns {\tt true} on success or {\tt false} if the control couldn't be created
 
 
+\membersection{wxHtmlListBox::GetFileSystem}\label{wxhtmllistboxgetfilesystem}
+
+\func{wxFileSystem\&}{GetFileSystem}{\void}
+
+\constfunc{const wxFileSystem\&}{GetFileSystem}{\void}
+
+Returns the \helpref{wxFileSystem}{wxfilesystem} used by the HTML parser of
+this object. The file system object is used to resolve the paths in HTML
+fragments displayed in the control and you should use 
+\helpref{wxFileSystem::ChangePathTo}{wxfilesystemchangepathto} if you use
+relative paths for the images or other resources embedded in your HTML.
+
+
 \membersection{wxHtmlListBox::GetSelectedTextBgColour}\label{wxhtmllistboxgetselectedtextbgcolour}
 
 \constfunc{wxColour}{GetSelectedTextBgColour}{\param{const wxColour\& }{colBg}}
index f61360bc53d628029872a68fe19cf68c0d5e405e..48e944e1ef6d6b23a2067ae2e1629ed8dd31b223 100644 (file)
 
 #include "wx/vlbox.h"               // base class
 
+#if wxUSE_FILESYSTEM
+    #include "wx/filesys.h"
+#endif // wxUSE_FILESYSTEM
+
 class WXDLLIMPEXP_HTML wxHtmlCell;
 class WXDLLIMPEXP_HTML wxHtmlWinParser;
 class WXDLLIMPEXP_HTML wxHtmlListBoxCache;
@@ -66,6 +70,14 @@ public:
     virtual void RefreshAll();
     virtual void SetItemCount(size_t count);
 
+
+#if wxUSE_FILESYSTEM
+    // retrieve the file system used by the wxHtmlWinParser: if you use
+    // relative paths in your HTML, you should use its ChangePathTo() method
+    wxFileSystem& GetFileSystem() { return m_filesystem; }
+    const wxFileSystem& GetFileSystem() const { return m_filesystem; }
+#endif // wxUSE_FILESYSTEM
+
 protected:
     // this method must be implemented in the derived class and should return
     // the body (i.e. without <html>) of the HTML for the given item
@@ -112,6 +124,11 @@ private:
     // HTML parser we use
     wxHtmlWinParser *m_htmlParser;
 
+#if wxUSE_FILESYSTEM
+    // file system used by m_htmlParser
+    wxFileSystem m_filesystem;
+#endif // wxUSE_FILESYSTEM
+
     // rendering style for the parser which allows us to customize our colours
     wxHtmlListBoxStyle *m_htmlRendStyle;
 
index 91be6e7ac756d2dd420cee12483872011d9e2535..5cc120f75c2c3ba2da1e53a838dea2ef89f4f470 100644 (file)
@@ -242,6 +242,7 @@ void wxHtmlListBox::CacheItem(size_t n) const
 
             self->m_htmlParser = new wxHtmlWinParser;
             m_htmlParser->SetDC(new wxClientDC(self));
+            m_htmlParser->SetFS(&self->m_filesystem);
         }
 
         wxHtmlContainerCell *cell = (wxHtmlContainerCell *)m_htmlParser->